assertSame(Workflow::DATE_FIELD_DUE, (new Workflow())->getDateFieldOrDue()); } public function testDateFieldIsKeptWhenKnown(): void { $workflow = new Workflow(); $workflow->setDateField(Workflow::DATE_FIELD_START); $this->assertSame(Workflow::DATE_FIELD_START, $workflow->getDateFieldOrDue()); $workflow->setDateField(Workflow::DATE_FIELD_DUE); $this->assertSame(Workflow::DATE_FIELD_DUE, $workflow->getDateFieldOrDue()); } public function testUnknownDateFieldFallsBackToDue(): void { // A hand-edited row must not silently switch a workflow to a trigger // nobody configured; the due date is what every workflow meant before // this choice existed. $workflow = new Workflow(); $workflow->setDateField('whenever'); $this->assertSame(Workflow::DATE_FIELD_DUE, $workflow->getDateFieldOrDue()); } public function testDateFieldIsSerialisedForTheSettingsUi(): void { $workflow = new Workflow(); $workflow->setDateField(Workflow::DATE_FIELD_START); $this->assertSame(Workflow::DATE_FIELD_START, $workflow->jsonSerialize()['dateField']); } }