File indexing completed on 2025-03-09 04:56:51

0001 /*
0002  * SPDX-FileCopyrightText: 2019 Kevin Ottens <ervin@kde.org>
0003    SPDX-FileCopyrightText: 2019 David Faure <faure@kde.org>
0004  * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 
0008 #include <testlib/qtest_zanshin.h>
0009 #include <featurelib/zanshincontext.h>
0010 
0011 using namespace Testlib;
0012 
0013 // Feature: Adding tasks
0014 //   As a task junkie
0015 //   I can create task by giving a title
0016 //   In order to collect ideas while reflecting on my life
0017 class AddingTaskFeature : public QObject
0018 {
0019     Q_OBJECT
0020 private slots:
0021     void Adding_a_task_in_a_page_data()
0022     {
0023         QTest::addColumn<QString>("page");
0024         QTest::addColumn<QString>("title");
0025 
0026         QTest::newRow("inbox") << "Inbox" << "Buy a book";
0027         QTest::newRow("release") << "Projects / TestData » Calendar1 » Calendar2 / Backlog" << "Start a release party";
0028     }
0029 
0030     void Adding_a_task_in_a_page()
0031     {
0032         QFETCH(QString, page);
0033         QFETCH(QString, title);
0034 
0035         ZanshinContext c;
0036         Given(c.I_display_the_page(page));
0037         And(c.I_look_at_the_central_list());
0038         When(c.I_add_a_task(title));
0039         And(c.I_list_the_items());
0040         Then(c.the_list_contains(title));
0041     }
0042 
0043     void Adding_a_task_as_a_child_of_another_task_in_a_page_data()
0044     {
0045         QTest::addColumn<QString>("page");
0046         QTest::addColumn<QString>("parent");
0047         QTest::addColumn<QString>("title");
0048 
0049         QTest::newRow("inbox") << "Inbox" << "Buy a book" << "Make sure it is a good book";
0050         QTest::newRow("release") << "Projects / TestData » Calendar1 » Calendar2 / Backlog" << "Start a release party" << "Make sure there was a release";
0051     }
0052 
0053     void Adding_a_task_as_a_child_of_another_task_in_a_page()
0054     {
0055         QFETCH(QString, page);
0056         QFETCH(QString, parent);
0057         QFETCH(QString, title);
0058 
0059         ZanshinContext c;
0060         Given(c.I_display_the_page(page));
0061         And(c.I_add_a_task(parent));
0062         And(c.I_look_at_the_central_list());
0063         And(c.I_list_the_items());
0064         When(c.I_add_a_task_child(title, parent));
0065         And(c.I_list_the_items());
0066         Then(c.the_list_contains(parent + " / " + title));
0067     }
0068 };
0069 
0070 ZANSHIN_TEST_MAIN(AddingTaskFeature)
0071 
0072 #include "addingtaskfeature.moc"