]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Add test to check that the sortedactivitylistmodel correctly gets updated when the...
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 1 Mar 2023 12:16:37 +0000 (13:16 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 25 Jul 2023 00:40:27 +0000 (08:40 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
test/testsortedactivitylistmodel.cpp

index 5fa195bf0c6dd5b922f77b398186f69622436db5..e6214b9337240051361de7d7de888ab7ce30612e 100644 (file)
@@ -44,7 +44,8 @@ public:
     OCC::Activity testSyncFileItemActivity;
     OCC::Activity testFileIgnoredActivity;
 
-    QSharedPointer<OCC::SortedActivityListModel> testingSortedALM() {
+    QSharedPointer<OCC::SortedActivityListModel> testingSortedALM()
+    {
         const auto model = new TestingALM;
         model->setAccountState(accountState.data());
 
@@ -55,6 +56,17 @@ public:
         return sortedModel;
     }
 
+    void addActivity(QSharedPointer<OCC::SortedActivityListModel> model,
+                     void(OCC::ActivityListModel::*addingMethod)(const OCC::Activity&),
+                     OCC::Activity &activity)
+    {
+        const auto originalRowCount = model->rowCount();
+        const auto sourceModel = dynamic_cast<TestingALM*>(model->sourceModel());
+
+        (sourceModel->*addingMethod)(activity);
+        QCOMPARE(model->rowCount(), originalRowCount + 1);
+    }
+
 private slots:
     void initTestCase()
     {
@@ -100,9 +112,21 @@ private slots:
         QCOMPARE(model->rowCount(), sourceModel->rowCount());
     }
 
-    void testSortOrder()
+    void testUpdate()
     {
+        const auto model = testingSortedALM();
+        const auto sourceModel = dynamic_cast<TestingALM*>(model->sourceModel());
+
+        sourceModel->setCurrentItem(FakeRemoteActivityStorage::instance()->startingIdLast());
+        sourceModel->startFetchJob();
+        QSignalSpy activitiesJob(sourceModel, &TestingALM::activitiesProcessed);
+        QVERIFY(activitiesJob.wait(3000));
+        QCOMPARE(sourceModel->rowCount(), 50);
 
+        addActivity(model, &TestingALM::addSyncFileItemToActivityList, testSyncFileItemActivity);
+        addActivity(model, &TestingALM::addNotificationToActivityList, testNotificationActivity);
+        addActivity(model, &TestingALM::addErrorToActivityList, testSyncResultErrorActivity);
+        addActivity(model, &TestingALM::addIgnoredFileToList, testFileIgnoredActivity);
     }
 };