diff --git a/src/akonadi/akonadicachingstorage.h b/src/akonadi/akonadicachingstorage.h --- a/src/akonadi/akonadicachingstorage.h +++ b/src/akonadi/akonadicachingstorage.h @@ -39,15 +39,15 @@ Akonadi::Collection defaultCollection() override; KJob *createItem(Item item, Collection collection) override; - KJob *updateItem(Item item, QObject *parent = nullptr) override; + KJob *updateItem(Item item, QObject *parent) override; KJob *removeItem(Akonadi::Item item) override; - KJob *removeItems(Item::List items, QObject *parent = nullptr) override; - KJob *moveItem(Item item, Collection collection, QObject *parent = nullptr) override; + KJob *removeItems(Item::List items, QObject *parent) override; + KJob *moveItem(Item item, Collection collection, QObject *parent) override; KJob *moveItems(Item::List item, Collection collection, QObject *parent = nullptr) override; - KJob *createCollection(Collection collection, QObject *parent = nullptr) override; - KJob *updateCollection(Collection collection, QObject *parent = nullptr) override; - KJob *removeCollection(Collection collection, QObject *parent = nullptr) override; + KJob *createCollection(Collection collection, QObject *parent) override; + KJob *updateCollection(Collection collection, QObject *parent) override; + KJob *removeCollection(Collection collection, QObject *parent) override; KJob *createTransaction() override; diff --git a/src/akonadi/akonadicontextrepository.cpp b/src/akonadi/akonadicontextrepository.cpp --- a/src/akonadi/akonadicontextrepository.cpp +++ b/src/akonadi/akonadicontextrepository.cpp @@ -52,7 +52,7 @@ { auto item = m_serializer->createItemFromContext(context); Q_ASSERT(item.isValid()); - return m_storage->updateItem(item); + return m_storage->updateItem(item, this); } KJob *ContextRepository::remove(Domain::Context::Ptr context) @@ -77,7 +77,7 @@ auto childItem = fetchItemJob->items().at(0); m_serializer->addContextToTask(context, childItem); - auto updateJob = m_storage->updateItem(childItem); + auto updateJob = m_storage->updateItem(childItem, this); job->addSubjob(updateJob); updateJob->start(); }); @@ -99,7 +99,7 @@ auto childItem = fetchItemJob->items().at(0); m_serializer->removeContextFromTask(context, childItem); - auto updateJob = m_storage->updateItem(childItem); + auto updateJob = m_storage->updateItem(childItem, this); job->addSubjob(updateJob); updateJob->start(); }); @@ -123,7 +123,7 @@ auto childItem = fetchItemJob->items().at(0); childItem.clearTags(); - auto updateJob = m_storage->updateItem(childItem); + auto updateJob = m_storage->updateItem(childItem, this); job->addSubjob(updateJob); updateJob->start(); }); diff --git a/src/akonadi/akonadidatasourcerepository.cpp b/src/akonadi/akonadidatasourcerepository.cpp --- a/src/akonadi/akonadidatasourcerepository.cpp +++ b/src/akonadi/akonadidatasourcerepository.cpp @@ -43,7 +43,7 @@ { auto collection = m_serializer->createCollectionFromDataSource(source); Q_ASSERT(collection.isValid()); - return m_storage->updateCollection(collection); + return m_storage->updateCollection(collection, this); } void DataSourceRepository::showConfigDialog() diff --git a/src/akonadi/akonadiprojectrepository.cpp b/src/akonadi/akonadiprojectrepository.cpp --- a/src/akonadi/akonadiprojectrepository.cpp +++ b/src/akonadi/akonadiprojectrepository.cpp @@ -50,7 +50,7 @@ { auto item = m_serializer->createItemFromProject(project); Q_ASSERT(item.isValid()); - return m_storage->updateItem(item); + return m_storage->updateItem(item, this); } KJob *ProjectRepository::remove(Domain::Project::Ptr project) @@ -104,7 +104,7 @@ transaction->start(); }); } else { - auto updateJob = m_storage->updateItem(childItem); + auto updateJob = m_storage->updateItem(childItem, this); job->addSubjob(updateJob); updateJob->start(); } @@ -130,7 +130,7 @@ m_serializer->removeItemParent(childItem); - auto updateJob = m_storage->updateItem(childItem); + auto updateJob = m_storage->updateItem(childItem, this); job->addSubjob(updateJob); updateJob->start(); }); diff --git a/src/akonadi/akonadistorage.h b/src/akonadi/akonadistorage.h --- a/src/akonadi/akonadistorage.h +++ b/src/akonadi/akonadistorage.h @@ -40,15 +40,15 @@ Akonadi::Collection defaultCollection() override; KJob *createItem(Item item, Collection collection) override; - KJob *updateItem(Item item, QObject *parent = nullptr) override; + KJob *updateItem(Item item, QObject *parent) override; KJob *removeItem(Akonadi::Item item) override; - KJob *removeItems(Item::List items, QObject *parent = nullptr) override; - KJob *moveItem(Item item, Collection collection, QObject *parent = nullptr) override; - KJob *moveItems(Item::List item, Collection collection, QObject *parent = nullptr) override; + KJob *removeItems(Item::List items, QObject *parent) override; + KJob *moveItem(Item item, Collection collection, QObject *parent) override; + KJob *moveItems(Item::List item, Collection collection, QObject *parent) override; - KJob *createCollection(Collection collection, QObject *parent = nullptr) override; - KJob *updateCollection(Collection collection, QObject *parent = nullptr) override; - KJob *removeCollection(Collection collection, QObject *parent = nullptr) override; + KJob *createCollection(Collection collection, QObject *parent) override; + KJob *updateCollection(Collection collection, QObject *parent) override; + KJob *removeCollection(Collection collection, QObject *parent) override; KJob *createTransaction() override; diff --git a/src/akonadi/akonadistorageinterface.h b/src/akonadi/akonadistorageinterface.h --- a/src/akonadi/akonadistorageinterface.h +++ b/src/akonadi/akonadistorageinterface.h @@ -55,15 +55,15 @@ virtual Akonadi::Collection defaultCollection() = 0; virtual KJob *createItem(Akonadi::Item item, Akonadi::Collection collection) = 0; - virtual KJob *updateItem(Akonadi::Item item, QObject *parent = nullptr) = 0; + virtual KJob *updateItem(Akonadi::Item item, QObject *parent) = 0; virtual KJob *removeItem(Akonadi::Item item) = 0; - virtual KJob *removeItems(Item::List items, QObject *parent = nullptr) = 0; - virtual KJob *moveItem(Item item, Collection collection, QObject *parent = nullptr) = 0; - virtual KJob *moveItems(Item::List item, Collection collection, QObject *parent = nullptr) = 0; + virtual KJob *removeItems(Item::List items, QObject *parent) = 0; + virtual KJob *moveItem(Item item, Collection collection, QObject *parent) = 0; + virtual KJob *moveItems(Item::List item, Collection collection, QObject *parent) = 0; - virtual KJob *createCollection(Collection collection, QObject *parent = nullptr) = 0; - virtual KJob *updateCollection(Collection collection, QObject *parent = nullptr) = 0; - virtual KJob *removeCollection(Collection collection, QObject *parent = nullptr) = 0; + virtual KJob *createCollection(Collection collection, QObject *parent) = 0; + virtual KJob *updateCollection(Collection collection, QObject *parent) = 0; + virtual KJob *removeCollection(Collection collection, QObject *parent) = 0; virtual KJob *createTransaction() = 0; diff --git a/src/akonadi/akonaditaskrepository.cpp b/src/akonadi/akonaditaskrepository.cpp --- a/src/akonadi/akonaditaskrepository.cpp +++ b/src/akonadi/akonaditaskrepository.cpp @@ -127,7 +127,7 @@ { auto item = m_serializer->createItemFromTask(task); Q_ASSERT(item.isValid()); - return m_storage->updateItem(item); + return m_storage->updateItem(item, this); } KJob *TaskRepository::remove(Domain::Task::Ptr task) @@ -152,7 +152,7 @@ Item::List childItems = m_serializer->filterDescendantItems(fetchCollectionItemsJob->items(), item); childItems << item; - auto removeJob = m_storage->removeItems(childItems); + auto removeJob = m_storage->removeItems(childItems, this); compositeJob->addSubjob(removeJob); removeJob->start(); }); @@ -175,7 +175,7 @@ auto item = fetchJob->items().at(0); m_serializer->promoteItemToProject(item); - auto updateJob = m_storage->updateItem(item); + auto updateJob = m_storage->updateItem(item, this); job->addSubjob(updateJob); updateJob->start(); }); @@ -247,7 +247,7 @@ transaction->start(); }); } else { - auto updateJob = m_storage->updateItem(childItem); + auto updateJob = m_storage->updateItem(childItem, this); job->addSubjob(updateJob); updateJob->start(); } @@ -271,7 +271,7 @@ m_serializer->removeItemParent(childItem); - auto updateJob = m_storage->updateItem(childItem); + auto updateJob = m_storage->updateItem(childItem, this); job->addSubjob(updateJob); updateJob->start(); }); @@ -294,7 +294,7 @@ m_serializer->removeItemParent(childItem); m_serializer->clearItem(&childItem); - auto updateJob = m_storage->updateItem(childItem); + auto updateJob = m_storage->updateItem(childItem, this); job->addSubjob(updateJob); updateJob->start(); }); diff --git a/tests/testlib/akonadifakestorage.h b/tests/testlib/akonadifakestorage.h --- a/tests/testlib/akonadifakestorage.h +++ b/tests/testlib/akonadifakestorage.h @@ -38,15 +38,15 @@ Akonadi::Collection defaultCollection() override; KJob *createItem(Akonadi::Item item, Akonadi::Collection collection) override; - KJob *updateItem(Akonadi::Item item, QObject *parent = nullptr) override; + KJob *updateItem(Akonadi::Item item, QObject *parent) override; KJob *removeItem(Akonadi::Item item) override; - KJob *removeItems(Akonadi::Item::List items, QObject *parent = nullptr) override; - KJob *moveItem(Akonadi::Item item, Akonadi::Collection collection, QObject *parent = nullptr) override; - KJob *moveItems(Akonadi::Item::List items, Akonadi::Collection collection, QObject *parent = nullptr) override; + KJob *removeItems(Akonadi::Item::List items, QObject *parent) override; + KJob *moveItem(Akonadi::Item item, Akonadi::Collection collection, QObject *parent) override; + KJob *moveItems(Akonadi::Item::List items, Akonadi::Collection collection, QObject *parent) override; - KJob *createCollection(Akonadi::Collection collection, QObject *parent = nullptr) override; - KJob *updateCollection(Akonadi::Collection collection, QObject *parent = nullptr) override; - KJob *removeCollection(Akonadi::Collection collection, QObject *parent = nullptr) override; + KJob *createCollection(Akonadi::Collection collection, QObject *parent) override; + KJob *updateCollection(Akonadi::Collection collection, QObject *parent) override; + KJob *removeCollection(Akonadi::Collection collection, QObject *parent) override; KJob *createTransaction() override; diff --git a/tests/testlib/akonadistoragetestbase.cpp b/tests/testlib/akonadistoragetestbase.cpp --- a/tests/testlib/akonadistoragetestbase.cpp +++ b/tests/testlib/akonadistoragetestbase.cpp @@ -200,7 +200,7 @@ // WHEN auto storage = createStorage(); - auto job = storage->createCollection(collection); + auto job = storage->createCollection(collection, nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!spy.isEmpty()); @@ -232,7 +232,7 @@ // WHEN auto storage = createStorage(); - auto job = storage->removeCollection(collection); + auto job = storage->removeCollection(collection, nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!spy.isEmpty()); @@ -259,7 +259,7 @@ // WHEN auto storage = createStorage(); - auto job = storage->updateCollection(collection); + auto job = storage->updateCollection(collection, nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!spy.isEmpty()); @@ -377,7 +377,7 @@ // WHEN auto storage = createStorage(); - auto job = storage->updateItem(item); + auto job = storage->updateItem(item, nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!spy.isEmpty()); @@ -433,7 +433,7 @@ item.setPayload(todo); // WHEN - auto job = storage->updateItem(item); + auto job = storage->updateItem(item, nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!spy.isEmpty()); @@ -575,7 +575,7 @@ QSignalSpy spyMoved(monitor.data(), &Akonadi::MonitorInterface::itemMoved); MonitorSpy monitorSpy(monitor.data()); - auto job = storage->moveItem(item, calendar1()); + auto job = storage->moveItem(item, calendar1(), nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!spyMoved.isEmpty()); @@ -600,7 +600,7 @@ QSignalSpy spyMoved(monitor.data(), &Akonadi::MonitorInterface::itemMoved); MonitorSpy monitorSpy(monitor.data()); - auto job = storage->moveItems(list, calendar1()); + auto job = storage->moveItems(list, calendar1(), nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!spyMoved.isEmpty()); @@ -656,7 +656,7 @@ list << item << item2; //When - auto job = storage->removeItems(list); + auto job = storage->removeItems(list, nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!spy.isEmpty()); @@ -689,7 +689,7 @@ auto attr = new Akonadi::EntityDisplayAttribute; attr->setDisplayName(QStringLiteral("Foo")); collection.addAttribute(attr); - auto job = storage->updateCollection(collection); + auto job = storage->updateCollection(collection, nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!changeSpy.isEmpty()); @@ -720,7 +720,7 @@ // WHEN collection.attribute(Akonadi::Collection::AddIfMissing)->refreshTimestamp(); - auto job = storage->updateCollection(collection); + auto job = storage->updateCollection(collection, nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!changeSpy.isEmpty()); @@ -753,7 +753,7 @@ auto attr = new Akonadi::ApplicationSelectedAttribute; attr->setSelected(false); collection.addAttribute(attr); - auto job = storage->updateCollection(collection); + auto job = storage->updateCollection(collection, nullptr); AKVERIFYEXEC(job); monitorSpy.waitForStableState(); QTRY_VERIFY(!changeSpy.isEmpty()); diff --git a/tests/units/akonadi/akonadicontextrepositorytest.cpp b/tests/units/akonadi/akonadicontextrepositorytest.cpp --- a/tests/units/akonadi/akonadicontextrepositorytest.cpp +++ b/tests/units/akonadi/akonadicontextrepositorytest.cpp @@ -85,24 +85,24 @@ // A mock job auto itemModifyJob = new FakeJob(this); - // Storage mock returning the item modify job Utils::MockObject storageMock; - storageMock(&Akonadi::StorageInterface::updateItem).when(contextItem, nullptr) + Utils::MockObject serializerMock; + QScopedPointer repository(new Akonadi::ContextRepository(storageMock.getInstance(), + serializerMock.getInstance())); + + // Storage mock returning the item modify job + storageMock(&Akonadi::StorageInterface::updateItem).when(contextItem, repository.get()) .thenReturn(itemModifyJob); // Serializer mock - Utils::MockObject serializerMock; serializerMock(&Akonadi::SerializerInterface::createItemFromContext).when(context).thenReturn(contextItem); // WHEN - QScopedPointer repository(new Akonadi::ContextRepository(storageMock.getInstance(), - serializerMock.getInstance())); - repository->update(context)->exec(); // THEN QVERIFY(serializerMock(&Akonadi::SerializerInterface::createItemFromContext).when(context).exactly(1)); - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(contextItem, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(contextItem, repository.get()).exactly(1)); } void shouldRemoveContext() @@ -182,7 +182,7 @@ // Storage mock returning the create job storageMock(&Akonadi::StorageInterface::fetchItem).when(item, repository.get()) .thenReturn(itemFetchJob); - storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr) + storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()) .thenReturn(itemModifyJob); // Serializer mock returning the item for the task @@ -201,7 +201,7 @@ if (execJob) { QVERIFY(serializerMock(&Akonadi::SerializerInterface::createItemFromTask).when(task).exactly(1)); QVERIFY(serializerMock(&Akonadi::SerializerInterface::addContextToTask).when(context, item).exactly(1)); - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()).exactly(1)); } } @@ -246,7 +246,7 @@ // Storage mock returning the create job storageMock(&Akonadi::StorageInterface::fetchItem).when(item, repository.get()) .thenReturn(itemFetchJob); - storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr) + storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()) .thenReturn(itemModifyJob); // Serializer mock returning the item for the task @@ -265,7 +265,7 @@ QVERIFY(storageMock(&Akonadi::StorageInterface::fetchItem).when(item, repository.get()).exactly(1)); if (execJob) { QVERIFY(serializerMock(&Akonadi::SerializerInterface::removeContextFromTask).when(context, item).exactly(1)); - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()).exactly(1)); } } @@ -306,7 +306,7 @@ // Storage mock returning the create job storageMock(&Akonadi::StorageInterface::fetchItem).when(item, repository.get()) .thenReturn(itemFetchJob); - storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr) + storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()) .thenReturn(itemModifyJob); // Serializer mock returning the item for the task @@ -322,7 +322,7 @@ // THEN QVERIFY(storageMock(&Akonadi::StorageInterface::fetchItem).when(item, repository.get()).exactly(1)); if (execJob) { - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()).exactly(1)); } else { delete dissociateJob; } diff --git a/tests/units/akonadi/akonadidatasourcerepositorytest.cpp b/tests/units/akonadi/akonadidatasourcerepositorytest.cpp --- a/tests/units/akonadi/akonadidatasourcerepositorytest.cpp +++ b/tests/units/akonadi/akonadidatasourcerepositorytest.cpp @@ -51,23 +51,24 @@ // A mock modify job auto collectionModifyJob = new FakeJob(this); - // Storage mock returning the create job Utils::MockObject storageMock; - storageMock(&Akonadi::StorageInterface::updateCollection).when(collection, nullptr) + Utils::MockObject serializerMock; + QScopedPointer repository(new Akonadi::DataSourceRepository(storageMock.getInstance(), + serializerMock.getInstance())); + + // Storage mock returning the create job + storageMock(&Akonadi::StorageInterface::updateCollection).when(collection, repository.get()) .thenReturn(collectionModifyJob); // Serializer mock returning the item for the project - Utils::MockObject serializerMock; serializerMock(&Akonadi::SerializerInterface::createCollectionFromDataSource).when(source).thenReturn(collection); // WHEN - QScopedPointer repository(new Akonadi::DataSourceRepository(storageMock.getInstance(), - serializerMock.getInstance())); repository->update(source)->exec(); // THEN QVERIFY(serializerMock(&Akonadi::SerializerInterface::createCollectionFromDataSource).when(source).exactly(1)); - QVERIFY(storageMock(&Akonadi::StorageInterface::updateCollection).when(collection, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateCollection).when(collection, repository.get()).exactly(1)); } }; diff --git a/tests/units/akonadi/akonadiprojectrepositorytest.cpp b/tests/units/akonadi/akonadiprojectrepositorytest.cpp --- a/tests/units/akonadi/akonadiprojectrepositorytest.cpp +++ b/tests/units/akonadi/akonadiprojectrepositorytest.cpp @@ -85,23 +85,24 @@ // A mock modify job auto itemModifyJob = new FakeJob(this); - // Storage mock returning the create job Utils::MockObject storageMock; - storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr) + Utils::MockObject serializerMock; + QScopedPointer repository(new Akonadi::ProjectRepository(storageMock.getInstance(), + serializerMock.getInstance())); + + // Storage mock returning the create job + storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()) .thenReturn(itemModifyJob); // Serializer mock returning the item for the project - Utils::MockObject serializerMock; serializerMock(&Akonadi::SerializerInterface::createItemFromProject).when(project).thenReturn(item); // WHEN - QScopedPointer repository(new Akonadi::ProjectRepository(storageMock.getInstance(), - serializerMock.getInstance())); repository->update(project)->exec(); // THEN QVERIFY(serializerMock(&Akonadi::SerializerInterface::createItemFromProject).when(project).exactly(1)); - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()).exactly(1)); } void shouldRemoveExistingProject() @@ -251,7 +252,7 @@ storageMock(&Akonadi::StorageInterface::moveItems).when(movedList, parentItem.parentCollection(), transactionJob) .thenReturn(itemsMoveJob); } else { - storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, nullptr) + storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, repository.get()) .thenReturn(itemModifyJob); } @@ -280,7 +281,7 @@ QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, transactionJob).exactly(1)); QVERIFY(storageMock(&Akonadi::StorageInterface::moveItems).when(movedList, parentItem.parentCollection(), transactionJob).exactly(1)); } else { - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, repository.get()).exactly(1)); } } } @@ -326,7 +327,7 @@ serializerMock.getInstance())); // Storage mock returning the delete job - storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, nullptr) + storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, repository.get()) .thenReturn(itemModifyJob); storageMock(&Akonadi::StorageInterface::fetchItem).when(childItem, repository.get()) .thenReturn(itemFetchJob); @@ -344,7 +345,7 @@ QVERIFY(storageMock(&Akonadi::StorageInterface::fetchItem).when(childItem, repository.get()).exactly(1)); if (!fetchJobFailed) { QVERIFY(serializerMock(&Akonadi::SerializerInterface::removeItemParent).when(childItem).exactly(1));; - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, repository.get()).exactly(1)); } // Give a chance to job to delete themselves diff --git a/tests/units/akonadi/akonaditaskrepositorytest.cpp b/tests/units/akonadi/akonaditaskrepositorytest.cpp --- a/tests/units/akonadi/akonaditaskrepositorytest.cpp +++ b/tests/units/akonadi/akonaditaskrepositorytest.cpp @@ -320,23 +320,24 @@ // A mock create job auto itemModifyJob = new FakeJob(this); - // Storage mock returning the create job Utils::MockObject storageMock; - storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr) + Utils::MockObject serializerMock; + QScopedPointer repository(new Akonadi::TaskRepository(storageMock.getInstance(), + serializerMock.getInstance())); + + // Storage mock returning the create job + storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()) .thenReturn(itemModifyJob); // Serializer mock returning the item for the task - Utils::MockObject serializerMock; serializerMock(&Akonadi::SerializerInterface::createItemFromTask).when(task).thenReturn(item); // WHEN - QScopedPointer repository(new Akonadi::TaskRepository(storageMock.getInstance(), - serializerMock.getInstance())); repository->update(task)->exec(); // THEN QVERIFY(serializerMock(&Akonadi::SerializerInterface::createItemFromTask).when(task).exactly(1)); - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()).exactly(1)); } void shouldRemoveATask_data() @@ -413,7 +414,7 @@ .thenReturn(itemFetchJob1); storageMock(&Akonadi::StorageInterface::fetchItems).when(item.parentCollection(), repository.get()) .thenReturn(itemFetchJob2); - storageMock(&Akonadi::StorageInterface::removeItems).when(removedList, nullptr) + storageMock(&Akonadi::StorageInterface::removeItems).when(removedList, repository.get()) .thenReturn(itemDeleteJob); // Serializer mock returning the item for the task @@ -429,7 +430,7 @@ if (itemFetchJobSucceeded) { QVERIFY(storageMock(&Akonadi::StorageInterface::fetchItems).when(item.parentCollection(), repository.get()).exactly(1)); if (collectionItemsFetchJobSucceeded) { - QVERIFY(storageMock(&Akonadi::StorageInterface::removeItems).when(removedList, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::removeItems).when(removedList, repository.get()).exactly(1)); } } } @@ -464,7 +465,7 @@ // Storage mock returning the modify job storageMock(&Akonadi::StorageInterface::fetchItem).when(item, repository.get()) .thenReturn(itemFetchJob); - storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr) + storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()) .thenReturn(itemModifyJob); // WHEN @@ -474,7 +475,7 @@ QVERIFY(serializerMock(&Akonadi::SerializerInterface::createItemFromTask).when(task).exactly(1)); QVERIFY(serializerMock(&Akonadi::SerializerInterface::promoteItemToProject).when(item).exactly(1)); QVERIFY(storageMock(&Akonadi::StorageInterface::fetchItem).when(item, repository.get()).exactly(1)); - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(item, repository.get()).exactly(1)); } void shouldAssociateATaskToAnother_data() @@ -595,7 +596,7 @@ storageMock(&Akonadi::StorageInterface::moveItems).when(movedList, parentItem.parentCollection(), transactionJob) .thenReturn(itemsMoveJob); } else { - storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, nullptr) + storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, repository.get()) .thenReturn(itemModifyJob); } @@ -627,7 +628,7 @@ QVERIFY(storageMock(&Akonadi::StorageInterface::fetchItems).when(parentItem.parentCollection(), repository.get()).exactly(1)); if (execParentJob) { if (parentItem.parentCollection().id() == childItem.parentCollection().id()) - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, repository.get()).exactly(1)); else { //QVERIFY(serializerMock(&Akonadi::SerializerInterface::filterDescendantItems).when(list, childItem).exactly(1)); QVERIFY(storageMock(&Akonadi::StorageInterface::fetchItems).when(childItem.parentCollection(), repository.get()).exactly(1)); @@ -717,7 +718,7 @@ serializerMock.getInstance())); // Storage mock returning the delete job - storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, nullptr) + storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, repository.get()) .thenReturn(itemModifyJob); storageMock(&Akonadi::StorageInterface::fetchItem).when(childItem, repository.get()) .thenReturn(itemFetchJob); @@ -734,7 +735,7 @@ QVERIFY(storageMock(&Akonadi::StorageInterface::fetchItem).when(childItem, repository.get()).exactly(1)); if (!childJobFailed) { QVERIFY(serializerMock(&Akonadi::SerializerInterface::removeItemParent).when(childItem).exactly(1));; - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, repository.get()).exactly(1)); } } @@ -759,7 +760,7 @@ serializerMock.getInstance())); // Storage mock returning the delete job - storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, nullptr) + storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, repository.get()) .thenReturn(itemModifyJob); storageMock(&Akonadi::StorageInterface::fetchItem).when(childItem, repository.get()) .thenReturn(itemFetchJob); @@ -778,7 +779,7 @@ if (!childJobFailed) { QVERIFY(serializerMock(&Akonadi::SerializerInterface::removeItemParent).when(childItem).exactly(1)); QVERIFY(serializerMock(&Akonadi::SerializerInterface::clearItem).when(any()).exactly(1)); - QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, nullptr).exactly(1)); + QVERIFY(storageMock(&Akonadi::StorageInterface::updateItem).when(childItem, repository.get()).exactly(1)); } // Give a chance to job to delete themselves