data class ToDoListOwner(override val name: String):
DdtActor<ZettaiActions>() { ➊
val user = User(name) ➋
fun `can see #listname with #itemnames`(
listName: String,
expectedItems: List<String>) =
step(listName, expectedItems) { ➌
val list = getToDoList(user, ListName(listName)) ➍
expectThat(list) ➎
.isNotNull()
.itemNames
.containsExactlyInAnyOrder(expectedItems)
}
private val Assertion.Builder<ToDoList>.itemNames
get() = get { items.map { it.description } }
}