diff --git a/src/widgets/editorview.cpp b/src/widgets/editorview.cpp --- a/src/widgets/editorview.cpp +++ b/src/widgets/editorview.cpp @@ -156,6 +156,7 @@ { auto artifact = m_model->property("artifact").value(); setEnabled(artifact); + m_delegateEdit->clear(); } void EditorView::onHasTaskPropertiesChanged() diff --git a/tests/units/widgets/editorviewtest.cpp b/tests/units/widgets/editorviewtest.cpp --- a/tests/units/widgets/editorviewtest.cpp +++ b/tests/units/widgets/editorviewtest.cpp @@ -517,6 +517,24 @@ QCOMPARE(delegateLabel->text(), expectedText); } + void shouldClearDelegateEditOnArtifactChanges() + { + // GIVEN + Widgets::EditorView editor; + EditorModelStub model; + model.makeTaskAvailable(); + editor.setModel(&model); + + auto delegateEdit = editor.findChild("delegateEdit"); + delegateEdit->setText("Foo"); + + // WHEN + model.makeTaskAvailable(); // simulates an artifact change + + // THEN + QVERIFY(delegateEdit->text().isEmpty()); + } + void shouldRequestDelegationOnInput_data() { QTest::addColumn("userInput");