Я только что узнал о serenity-js и сейчас попробую.Я следую руководству и заметил следующий пример:
james.attemptsTo(
Start.withAnEmptyTodoList(),
AddATodoItem.called('Buy some milk')
)
Задача для Start
:
export class Start implements Task {
static withATodoListContaining(items: string[]) { // static method to improve the readability
return new Start(items);
}
performAs(actor: PerformsTasks): PromiseLike<void> { // required by the Task interface
return actor.attemptsTo( // delegates the work to lower-level tasks
// todo: add each item to the Todo List
);
}
constructor(private items: string[]) { // constructor assigning the list of items
} // to a private field
}
Мне очень нравится этот синтаксис и я хотел бы продолжить эту настройку сболее стартовый сценарий.Каков был бы правильный подход для достижения этой цели?