File indexing completed on 2025-03-09 05:11:40

0001 /*
0002 SPDX-FileCopyrightText: 2022 Laurent Montel <montel@kde.org>
0003 
0004 SPDX-License-Identifier: GPL-3.0-or-later
0005 */
0006 
0007 #include "tagtest.h"
0008 #include "testcommon.h"
0009 
0010 #include <QTest>
0011 #include <entities/tag.h>
0012 #include <gitmanager.h>
0013 
0014 QTEST_GUILESS_MAIN(TagTest)
0015 
0016 TagTest::TagTest(QObject *parent)
0017     : QObject{parent}
0018 {
0019 }
0020 
0021 void TagTest::initTestCase()
0022 {
0023     auto path = TestCommon::getTempPath();
0024     qDebug() << path;
0025     mManager = new Git::Manager;
0026     auto init = mManager->init(path);
0027     QCOMPARE(mManager->path(), path);
0028     QVERIFY(init);
0029     QVERIFY(mManager->isValid());
0030 
0031     TestCommon::initSignature(mManager);
0032 }
0033 
0034 void TagTest::shouldHaveDefaultValues()
0035 {
0036     Git::Tag w;
0037     QVERIFY(w.message().isEmpty());
0038     QVERIFY(w.name().isEmpty());
0039     QVERIFY(w.tagger().isNull());
0040 }
0041 
0042 void TagTest::addTagNoHead()
0043 {
0044     auto ok = mManager->createTag("tag1", "sample message");
0045 
0046     QVERIFY(!ok);
0047 
0048     auto tags = mManager->tagsNames();
0049     QVERIFY(!tags.contains("tag1"));
0050 }
0051 
0052 void TagTest::makeACommit()
0053 {
0054     TestCommon::touch(mManager->path() + "/README.md");
0055 
0056     mManager->addFile("README.md");
0057     mManager->commit("commit1");
0058 }
0059 
0060 void TagTest::addTag()
0061 {
0062     auto ok = mManager->createTag("tag1", "sample message");
0063 
0064     QVERIFY(ok);
0065 
0066     auto tags = mManager->tagsNames();
0067     QVERIFY(tags.contains("tag1"));
0068 }
0069 
0070 void TagTest::removeTag()
0071 {
0072     auto ok = mManager->removeTag("tag1");
0073 
0074     QVERIFY(ok);
0075 
0076     auto tags = mManager->tagsNames();
0077     QVERIFY(!tags.contains("tag1"));
0078 }
0079 
0080 #include "moc_tagtest.cpp"