diff --git a/src/akonadi/akonadiprojectqueries.h b/src/akonadi/akonadiprojectqueries.h --- a/src/akonadi/akonadiprojectqueries.h +++ b/src/akonadi/akonadiprojectqueries.h @@ -41,24 +41,24 @@ typedef Domain::QueryResultProvider ProjectProvider; typedef Domain::QueryResult ProjectResult; - typedef Domain::LiveQueryOutput ArtifactQueryOutput; - typedef Domain::QueryResultProvider ArtifactProvider; - typedef Domain::QueryResult ArtifactResult; + typedef Domain::LiveQueryOutput TaskQueryOutput; + typedef Domain::QueryResultProvider TaskProvider; + typedef Domain::QueryResult TaskResult; ProjectQueries(const StorageInterface::Ptr &storage, const SerializerInterface::Ptr &serializer, const MonitorInterface::Ptr &monitor); ProjectResult::Ptr findAll() const Q_DECL_OVERRIDE; - ArtifactResult::Ptr findTopLevelArtifacts(Domain::Project::Ptr project) const Q_DECL_OVERRIDE; + TaskResult::Ptr findTopLevel(Domain::Project::Ptr project) const Q_DECL_OVERRIDE; private: SerializerInterface::Ptr m_serializer; LiveQueryHelpers::Ptr m_helpers; LiveQueryIntegrator::Ptr m_integrator; mutable ProjectQueryOutput::Ptr m_findAll; - mutable QHash m_findTopLevel; + mutable QHash m_findTopLevel; }; } diff --git a/src/akonadi/akonadiprojectqueries.cpp b/src/akonadi/akonadiprojectqueries.cpp --- a/src/akonadi/akonadiprojectqueries.cpp +++ b/src/akonadi/akonadiprojectqueries.cpp @@ -46,7 +46,7 @@ return m_findAll->result(); } -ProjectQueries::ArtifactResult::Ptr ProjectQueries::findTopLevelArtifacts(Domain::Project::Ptr project) const +ProjectQueries::TaskResult::Ptr ProjectQueries::findTopLevel(Domain::Project::Ptr project) const { Akonadi::Item item = m_serializer->createItemFromProject(project); auto &query = m_findTopLevel[item.id()]; diff --git a/src/domain/projectqueries.h b/src/domain/projectqueries.h --- a/src/domain/projectqueries.h +++ b/src/domain/projectqueries.h @@ -24,9 +24,9 @@ #ifndef DOMAIN_PROJECTQUERIES_H #define DOMAIN_PROJECTQUERIES_H -#include "artifact.h" #include "project.h" #include "queryresult.h" +#include "task.h" namespace Domain { @@ -39,7 +39,7 @@ virtual ~ProjectQueries(); virtual QueryResult::Ptr findAll() const = 0; - virtual QueryResult::Ptr findTopLevelArtifacts(Project::Ptr project) const = 0; + virtual QueryResult::Ptr findTopLevel(Project::Ptr project) const = 0; }; } diff --git a/src/presentation/projectpagemodel.cpp b/src/presentation/projectpagemodel.cpp --- a/src/presentation/projectpagemodel.cpp +++ b/src/presentation/projectpagemodel.cpp @@ -70,81 +70,60 @@ QVariant data = index.data(QueryTreeModel::ObjectRole); auto artifact = data.value(); auto task = artifact.objectCast(); - if (task) { - const auto job = m_taskRepository->remove(task); - installHandler(job, tr("Cannot remove task %1 from project %2").arg(task->title()).arg(m_project->name())); - } + Q_ASSERT(task); + const auto job = m_taskRepository->remove(task); + installHandler(job, tr("Cannot remove task %1 from project %2").arg(task->title()).arg(m_project->name())); } QAbstractItemModel *ProjectPageModel::createCentralListModel() { - auto query = [this](const Domain::Artifact::Ptr &artifact) -> Domain::QueryResultInterface::Ptr { - if (!artifact) - return m_projectQueries->findTopLevelArtifacts(m_project); - else if (auto task = artifact.dynamicCast()) - return Domain::QueryResult::copy(m_taskQueries->findChildren(task)); + auto query = [this](const Domain::Task::Ptr &task) -> Domain::QueryResultInterface::Ptr { + if (!task) + return m_projectQueries->findTopLevel(m_project); else - return Domain::QueryResult::Ptr(); + return m_taskQueries->findChildren(task); }; - auto flags = [](const Domain::Artifact::Ptr &artifact) { - const Qt::ItemFlags defaultFlags = Qt::ItemIsSelectable - | Qt::ItemIsEnabled - | Qt::ItemIsEditable - | Qt::ItemIsDragEnabled; - - return artifact.dynamicCast() ? (defaultFlags | Qt::ItemIsUserCheckable | Qt::ItemIsDropEnabled) : defaultFlags; + auto flags = [](const Domain::Task::Ptr &) { + return Qt::ItemIsSelectable + | Qt::ItemIsEnabled + | Qt::ItemIsEditable + | Qt::ItemIsDragEnabled + | Qt::ItemIsUserCheckable + | Qt::ItemIsDropEnabled; }; - auto data = [](const Domain::Artifact::Ptr &artifact, int role) -> QVariant { + auto data = [](const Domain::Task::Ptr &task, int role) -> QVariant { if (role != Qt::DisplayRole && role != Qt::EditRole && role != Qt::CheckStateRole) { return QVariant(); } if (role == Qt::DisplayRole || role == Qt::EditRole) { - return artifact->title(); - } else if (auto task = artifact.dynamicCast()) { - return task->isDone() ? Qt::Checked : Qt::Unchecked; + return task->title(); } else { - return QVariant(); + return task->isDone() ? Qt::Checked : Qt::Unchecked; } }; - auto setData = [this](const Domain::Artifact::Ptr &artifact, const QVariant &value, int role) { + auto setData = [this](const Domain::Task::Ptr &task, const QVariant &value, int role) { if (role != Qt::EditRole && role != Qt::CheckStateRole) { return false; } - if (auto task = artifact.dynamicCast()) { - const auto currentTitle = task->title(); - if (role == Qt::EditRole) - task->setTitle(value.toString()); - else - task->setDone(value.toInt() == Qt::Checked); - - const auto job = m_taskRepository->update(task); - installHandler(job, tr("Cannot modify task %1 in project %2").arg(currentTitle).arg(m_project->name())); - return true; - - } else if (auto note = artifact.dynamicCast()) { - if (role != Qt::EditRole) - return false; - - const auto currentTitle = note->title(); - note->setTitle(value.toString()); - const auto job = m_noteRepository->update(note); - installHandler(job, tr("Cannot modify note %1 in project %2").arg(currentTitle).arg(m_project->name())); - return true; - - } + const auto currentTitle = task->title(); + if (role == Qt::EditRole) + task->setTitle(value.toString()); + else + task->setDone(value.toInt() == Qt::Checked); - return false; + const auto job = m_taskRepository->update(task); + installHandler(job, tr("Cannot modify task %1 in project %2").arg(currentTitle).arg(m_project->name())); + return true; }; - auto drop = [this](const QMimeData *mimeData, Qt::DropAction, const Domain::Artifact::Ptr &artifact) { - auto parentTask = artifact.objectCast(); + auto drop = [this](const QMimeData *mimeData, Qt::DropAction, const Domain::Task::Ptr &parentTask) { if (!parentTask) return false; @@ -171,15 +150,20 @@ return true; }; - auto drag = [](const Domain::Artifact::List &artifacts) -> QMimeData* { - if (artifacts.isEmpty()) + auto drag = [](const Domain::Task::List &tasks) -> QMimeData* { + if (tasks.isEmpty()) return Q_NULLPTR; + auto draggedArtifacts = Domain::Artifact::List(); + foreach (const Domain::Task::Ptr &task, tasks) { + draggedArtifacts.append(task.objectCast()); + } + auto data = new QMimeData; data->setData("application/x-zanshin-object", "object"); - data->setProperty("objects", QVariant::fromValue(artifacts)); + data->setProperty("objects", QVariant::fromValue(draggedArtifacts)); return data; }; - return new QueryTreeModel(query, flags, data, setData, drop, drag, this); + return new QueryTreeModel(query, flags, data, setData, drop, drag, this); } diff --git a/tests/units/akonadi/akonadiprojectqueriestest.cpp b/tests/units/akonadi/akonadiprojectqueriestest.cpp --- a/tests/units/akonadi/akonadiprojectqueriestest.cpp +++ b/tests/units/akonadi/akonadiprojectqueriestest.cpp @@ -217,7 +217,7 @@ QCOMPARE(result->data().at(0)->name(), QString("42")); } - void shouldLookOnlyInParentCollectionForProjectTopLevelArtifacts() + void shouldLookOnlyInParentCollectionForProjectTopLevel() { // GIVEN AkonadiFakeData data; @@ -246,9 +246,9 @@ serializer, Akonadi::MonitorInterface::Ptr(data.createMonitor()))); auto project = serializer->createProjectFromItem(data.item(42)); - auto result = queries->findTopLevelArtifacts(project); + auto result = queries->findTopLevel(project); result->data(); - result = queries->findTopLevelArtifacts(project); // Should not cause any problem or wrong data + result = queries->findTopLevel(project); // Should not cause any problem or wrong data // THEN QVERIFY(result->data().isEmpty()); @@ -258,7 +258,7 @@ QCOMPARE(result->data().at(0)->title(), QString("43")); // Should not change nothing - result = queries->findTopLevelArtifacts(project); + result = queries->findTopLevel(project); QCOMPARE(result->data().size(), 1); QCOMPARE(result->data().at(0)->title(), QString("43")); @@ -291,7 +291,7 @@ // to a crash, if it is properly done no crash will occur for (int i = 0; i < 2; i++) { // WHEN * 2 - auto result = queries->findTopLevelArtifacts(project); + auto result = queries->findTopLevel(project); // THEN * 2 QVERIFY(result->data().isEmpty()); @@ -317,7 +317,7 @@ serializer, Akonadi::MonitorInterface::Ptr(data.createMonitor()))); auto project = serializer->createProjectFromItem(data.item(42)); - auto result = queries->findTopLevelArtifacts(project); + auto result = queries->findTopLevel(project); TestHelpers::waitForEmptyJobQueue(); QVERIFY(result->data().isEmpty()); @@ -358,7 +358,7 @@ serializer, Akonadi::MonitorInterface::Ptr(data.createMonitor()))); auto project = serializer->createProjectFromItem(data.item(42)); - auto result = queries->findTopLevelArtifacts(project); + auto result = queries->findTopLevel(project); bool replaceHandlerCalled = false; result->addPostReplaceHandler([&replaceHandlerCalled](const Domain::Artifact::Ptr &, int) { @@ -401,7 +401,7 @@ serializer, Akonadi::MonitorInterface::Ptr(data.createMonitor()))); auto project = serializer->createProjectFromItem(data.item(42)); - auto result = queries->findTopLevelArtifacts(project); + auto result = queries->findTopLevel(project); TestHelpers::waitForEmptyJobQueue(); QCOMPARE(result->data().size(), 2); @@ -435,7 +435,7 @@ serializer, Akonadi::MonitorInterface::Ptr(data.createMonitor()))); auto project = serializer->createProjectFromItem(data.item(42)); - auto result = queries->findTopLevelArtifacts(project); + auto result = queries->findTopLevel(project); bool replaceHandlerCalled = false; result->addPostReplaceHandler([&replaceHandlerCalled](const Domain::Artifact::Ptr &, int) { @@ -478,8 +478,8 @@ Akonadi::MonitorInterface::Ptr(data.createMonitor()))); auto project1 = serializer->createProjectFromItem(data.item(42)); auto project2 = serializer->createProjectFromItem(data.item(43)); - auto result1 = queries->findTopLevelArtifacts(project1); - auto result2 = queries->findTopLevelArtifacts(project2); + auto result1 = queries->findTopLevel(project1); + auto result2 = queries->findTopLevel(project2); TestHelpers::waitForEmptyJobQueue(); QCOMPARE(result1->data().size(), 1); @@ -518,7 +518,7 @@ serializer, Akonadi::MonitorInterface::Ptr(data.createMonitor()))); auto project = serializer->createProjectFromItem(data.item(42)); - auto result = queries->findTopLevelArtifacts(project); + auto result = queries->findTopLevel(project); TestHelpers::waitForEmptyJobQueue(); QCOMPARE(result->data().size(), 2); diff --git a/tests/units/presentation/projectpagemodeltest.cpp b/tests/units/presentation/projectpagemodeltest.cpp --- a/tests/units/presentation/projectpagemodeltest.cpp +++ b/tests/units/presentation/projectpagemodeltest.cpp @@ -63,12 +63,9 @@ // One note and one task auto rootTask = Domain::Task::Ptr::create(); rootTask->setTitle("rootTask"); - auto rootNote = Domain::Note::Ptr::create(); - rootNote->setTitle("rootNote"); - auto artifactProvider = Domain::QueryResultProvider::Ptr::create(); - auto artifactResult = Domain::QueryResult::create(artifactProvider); - artifactProvider->append(rootTask); - artifactProvider->append(rootNote); + auto topLevelProvider = Domain::QueryResultProvider::Ptr::create(); + auto topLevelResult = Domain::QueryResult::create(topLevelProvider); + topLevelProvider->append(rootTask); // One task under the root task auto childTask = Domain::Task::Ptr::create(); @@ -79,7 +76,7 @@ taskProvider->append(childTask); Utils::MockObject projectQueriesMock; - projectQueriesMock(&Domain::ProjectQueries::findTopLevelArtifacts).when(project).thenReturn(artifactResult); + projectQueriesMock(&Domain::ProjectQueries::findTopLevel).when(project).thenReturn(topLevelResult); Utils::MockObject taskQueriesMock; taskQueriesMock(&Domain::TaskQueries::findChildren).when(rootTask).thenReturn(taskResult); @@ -99,59 +96,50 @@ // THEN const QModelIndex rootTaskIndex = model->index(0, 0); - const QModelIndex rootNoteIndex = model->index(1, 0); const QModelIndex childTaskIndex = model->index(0, 0, rootTaskIndex); QCOMPARE(page.project(), project); - QCOMPARE(model->rowCount(), 2); + QCOMPARE(model->rowCount(), 1); QCOMPARE(model->rowCount(rootTaskIndex), 1); - QCOMPARE(model->rowCount(rootNoteIndex), 0); QCOMPARE(model->rowCount(childTaskIndex), 0); const Qt::ItemFlags defaultFlags = Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable - | Qt::ItemIsDragEnabled; - QCOMPARE(model->flags(rootTaskIndex), defaultFlags | Qt::ItemIsUserCheckable | Qt::ItemIsDropEnabled); - QCOMPARE(model->flags(rootNoteIndex), defaultFlags); - QCOMPARE(model->flags(childTaskIndex), defaultFlags | Qt::ItemIsUserCheckable | Qt::ItemIsDropEnabled); + | Qt::ItemIsDragEnabled + | Qt::ItemIsUserCheckable + | Qt::ItemIsDropEnabled; + QCOMPARE(model->flags(rootTaskIndex), defaultFlags); + QCOMPARE(model->flags(childTaskIndex), defaultFlags); QCOMPARE(model->data(rootTaskIndex).toString(), rootTask->title()); - QCOMPARE(model->data(rootNoteIndex).toString(), rootNote->title()); QCOMPARE(model->data(childTaskIndex).toString(), childTask->title()); QCOMPARE(model->data(rootTaskIndex, Qt::EditRole).toString(), rootTask->title()); - QCOMPARE(model->data(rootNoteIndex, Qt::EditRole).toString(), rootNote->title()); QCOMPARE(model->data(childTaskIndex, Qt::EditRole).toString(), childTask->title()); QVERIFY(model->data(rootTaskIndex, Qt::CheckStateRole).isValid()); - QVERIFY(!model->data(rootNoteIndex, Qt::CheckStateRole).isValid()); QVERIFY(model->data(childTaskIndex, Qt::CheckStateRole).isValid()); QCOMPARE(model->data(rootTaskIndex, Qt::CheckStateRole).toBool(), rootTask->isDone()); QCOMPARE(model->data(childTaskIndex, Qt::CheckStateRole).toBool(), childTask->isDone()); // WHEN taskRepositoryMock(&Domain::TaskRepository::update).when(rootTask).thenReturn(new FakeJob(this)); taskRepositoryMock(&Domain::TaskRepository::update).when(childTask).thenReturn(new FakeJob(this)); - noteRepositoryMock(&Domain::NoteRepository::update).when(rootNote).thenReturn(new FakeJob(this)); QVERIFY(model->setData(rootTaskIndex, "newRootTask")); - QVERIFY(model->setData(rootNoteIndex, "newRootNote")); QVERIFY(model->setData(childTaskIndex, "newChildTask")); QVERIFY(model->setData(rootTaskIndex, Qt::Checked, Qt::CheckStateRole)); - QVERIFY(!model->setData(rootNoteIndex, Qt::Checked, Qt::CheckStateRole)); QVERIFY(model->setData(childTaskIndex, Qt::Unchecked, Qt::CheckStateRole)); // THEN QVERIFY(taskRepositoryMock(&Domain::TaskRepository::update).when(rootTask).exactly(2)); QVERIFY(taskRepositoryMock(&Domain::TaskRepository::update).when(childTask).exactly(2)); - QVERIFY(noteRepositoryMock(&Domain::NoteRepository::update).when(rootNote).exactly(1)); QCOMPARE(rootTask->title(), QString("newRootTask")); - QCOMPARE(rootNote->title(), QString("newRootNote")); QCOMPARE(childTask->title(), QString("newChildTask")); QCOMPARE(rootTask->isDone(), true); @@ -166,15 +154,6 @@ Domain::Artifact::List() << childTask); // WHEN - data = model->mimeData(QModelIndexList() << rootNoteIndex); - - // THEN - QVERIFY(data->hasFormat("application/x-zanshin-object")); - QCOMPARE(data->property("objects").value(), - Domain::Artifact::List() << rootNote); - - - // WHEN auto childTask2 = Domain::Task::Ptr::create(); taskRepositoryMock(&Domain::TaskRepository::associate).when(rootTask, childTask2).thenReturn(new FakeJob(this)); data = new QMimeData; @@ -187,15 +166,6 @@ // WHEN - data = new QMimeData; - data->setData("application/x-zanshin-object", "object"); - data->setProperty("objects", QVariant::fromValue(Domain::Artifact::List() << rootNote)); - bool result = model->dropMimeData(data, Qt::MoveAction, -1, -1, childTaskIndex); - - // THEN - QVERIFY(!result); - - // WHEN auto childTask3 = Domain::Task::Ptr::create(); auto childTask4 = Domain::Task::Ptr::create(); taskRepositoryMock(&Domain::TaskRepository::associate).when(rootTask, childTask3).thenReturn(new FakeJob(this)); @@ -297,13 +267,13 @@ // Two tasks auto task1 = Domain::Task::Ptr::create(); auto task2 = Domain::Task::Ptr::create(); - auto artifactProvider = Domain::QueryResultProvider::Ptr::create(); - auto artifactResult = Domain::QueryResult::create(artifactProvider); - artifactProvider->append(task1); - artifactProvider->append(task2); + auto topLevelProvider = Domain::QueryResultProvider::Ptr::create(); + auto topLevelResult = Domain::QueryResult::create(topLevelProvider); + topLevelProvider->append(task1); + topLevelProvider->append(task2); Utils::MockObject projectQueriesMock; - projectQueriesMock(&Domain::ProjectQueries::findTopLevelArtifacts).when(project).thenReturn(artifactResult); + projectQueriesMock(&Domain::ProjectQueries::findTopLevel).when(project).thenReturn(topLevelResult); Utils::MockObject taskQueriesMock; taskQueriesMock(&Domain::TaskQueries::findChildren).when(task1).thenReturn(Domain::QueryResult::Ptr()); @@ -340,13 +310,13 @@ auto task1 = Domain::Task::Ptr::create(); auto task2 = Domain::Task::Ptr::create(); task2->setTitle("Task2"); - auto artifactProvider = Domain::QueryResultProvider::Ptr::create(); - auto artifactResult = Domain::QueryResult::create(artifactProvider); - artifactProvider->append(task1); - artifactProvider->append(task2); + auto topLevelProvider = Domain::QueryResultProvider::Ptr::create(); + auto topLevelResult = Domain::QueryResult::create(topLevelProvider); + topLevelProvider->append(task1); + topLevelProvider->append(task2); Utils::MockObject projectQueriesMock; - projectQueriesMock(&Domain::ProjectQueries::findTopLevelArtifacts).when(project).thenReturn(artifactResult); + projectQueriesMock(&Domain::ProjectQueries::findTopLevel).when(project).thenReturn(topLevelResult); Utils::MockObject taskQueriesMock; taskQueriesMock(&Domain::TaskQueries::findChildren).when(task1).thenReturn(Domain::QueryResult::Ptr()); @@ -376,46 +346,6 @@ QCOMPARE(errorHandler.m_message, QString("Cannot remove task Task2 from project Project1: Foo")); } - // Clearly this one will go away when we'll get more support of notes - void shouldNotTryToDeleteNotes() - { - // GIVEN - - // One project - auto project = Domain::Project::Ptr::create(); - - // One task, one note - auto task1 = Domain::Task::Ptr::create(); - auto note2 = Domain::Note::Ptr::create(); - auto artifactProvider = Domain::QueryResultProvider::Ptr::create(); - auto artifactResult = Domain::QueryResult::create(artifactProvider); - artifactProvider->append(task1); - artifactProvider->append(note2); - - Utils::MockObject projectQueriesMock; - projectQueriesMock(&Domain::ProjectQueries::findTopLevelArtifacts).when(project).thenReturn(artifactResult); - - Utils::MockObject taskQueriesMock; - taskQueriesMock(&Domain::TaskQueries::findChildren).when(task1).thenReturn(Domain::QueryResult::Ptr()); - - Utils::MockObject noteRepositoryMock; - Utils::MockObject taskRepositoryMock; - taskRepositoryMock(&Domain::TaskRepository::remove).when(Domain::Task::Ptr()).thenReturn(new FakeJob(this)); - - Presentation::ProjectPageModel page(project, - projectQueriesMock.getInstance(), - taskQueriesMock.getInstance(), - taskRepositoryMock.getInstance(), - noteRepositoryMock.getInstance()); - - // WHEN - const QModelIndex index = page.centralListModel()->index(1, 0); - page.removeItem(index); - - // THEN - QVERIFY(taskRepositoryMock(&Domain::TaskRepository::remove).when(Domain::Task::Ptr()).exactly(0)); - } - void shouldGetAnErrorMessageWhenUpdateTaskFailed() { // GIVEN @@ -427,12 +357,12 @@ // One note and one task auto rootTask = Domain::Task::Ptr::create(); rootTask->setTitle("rootTask"); - auto artifactProvider = Domain::QueryResultProvider::Ptr::create(); - auto artifactResult = Domain::QueryResult::create(artifactProvider); - artifactProvider->append(rootTask); + auto topLevelProvider = Domain::QueryResultProvider::Ptr::create(); + auto topLevelResult = Domain::QueryResult::create(topLevelProvider); + topLevelProvider->append(rootTask); Utils::MockObject projectQueriesMock; - projectQueriesMock(&Domain::ProjectQueries::findTopLevelArtifacts).when(project).thenReturn(artifactResult); + projectQueriesMock(&Domain::ProjectQueries::findTopLevel).when(project).thenReturn(topLevelResult); Utils::MockObject taskQueriesMock; taskQueriesMock(&Domain::TaskQueries::findChildren).when(rootTask).thenReturn(Domain::QueryResult::Ptr()); @@ -463,52 +393,6 @@ QCOMPARE(errorHandler.m_message, QString("Cannot modify task rootTask in project Project1: Foo")); } - void shouldGetAnErrorMessageWhenUpdateNoteFailed() - { - // GIVEN - - // One project - auto project = Domain::Project::Ptr::create(); - project->setName("Project1"); - - // One note and one task - auto rootNote = Domain::Note::Ptr::create(); - rootNote->setTitle("rootNote"); - auto artifactProvider = Domain::QueryResultProvider::Ptr::create(); - auto artifactResult = Domain::QueryResult::create(artifactProvider); - artifactProvider->append(rootNote); - - Utils::MockObject projectQueriesMock; - projectQueriesMock(&Domain::ProjectQueries::findTopLevelArtifacts).when(project).thenReturn(artifactResult); - - Utils::MockObject taskQueriesMock; - - Utils::MockObject taskRepositoryMock; - Utils::MockObject noteRepositoryMock; - - Presentation::ProjectPageModel page(project, - projectQueriesMock.getInstance(), - taskQueriesMock.getInstance(), - taskRepositoryMock.getInstance(), - noteRepositoryMock.getInstance()); - - QAbstractItemModel *model = page.centralListModel(); - const QModelIndex rootNoteIndex = model->index(0, 0); - FakeErrorHandler errorHandler; - page.setErrorHandler(&errorHandler); - - // WHEN - auto job = new FakeJob(this); - job->setExpectedError(KJob::KilledJobError, "Foo"); - noteRepositoryMock(&Domain::NoteRepository::update).when(rootNote).thenReturn(job); - - QVERIFY(model->setData(rootNoteIndex, "newRootNote")); - - // THEN - QTest::qWait(150); - QCOMPARE(errorHandler.m_message, QString("Cannot modify note rootNote in project Project1: Foo")); - } - void shouldGetAnErrorMessageWhenAssociateTaskFailed() { // GIVEN @@ -520,12 +404,12 @@ // One note and one task auto rootTask = Domain::Task::Ptr::create(); rootTask->setTitle("rootTask"); - auto artifactProvider = Domain::QueryResultProvider::Ptr::create(); - auto artifactResult = Domain::QueryResult::create(artifactProvider); - artifactProvider->append(rootTask); + auto topLevelProvider = Domain::QueryResultProvider::Ptr::create(); + auto topLevelResult = Domain::QueryResult::create(topLevelProvider); + topLevelProvider->append(rootTask); Utils::MockObject projectQueriesMock; - projectQueriesMock(&Domain::ProjectQueries::findTopLevelArtifacts).when(project).thenReturn(artifactResult); + projectQueriesMock(&Domain::ProjectQueries::findTopLevel).when(project).thenReturn(topLevelResult); Utils::MockObject taskQueriesMock; taskQueriesMock(&Domain::TaskQueries::findChildren).when(rootTask).thenReturn(Domain::QueryResult::Ptr());