Эх, видимо мой вопрос не такой уж и простой.
Удивительно, но следующие строки показывают, что запись в базе данных появилась:
$count = count(Types::find()->where([ 'name' => $validName ])->all());
$this->assertGreaterThan(0, $count);
$this->assertEquals(1, $count);
То есть найдена одна запись. А следующая команда её не находит:
$this->tester->seeInDatabase('types', [ 'name' => $validName ]);
Такое впечатление, что взаимодействие происходит с разными слепками базы данных.
И, действительно, код из теста:
$this->tester->haveInDatabase('types', [ 'name' => $validName ]);
после выполнения теста, в
рабочую базу добавляет запись, чего тесты в принципе делать не должны.
Вопрос остаётся открытым, как правильно написать конфиг, чтобы результат теста искался в слепке базы для тестов, а не в реальной?