StateFlow: обновление значения не завершает collect
Проверка ждёт, пока сбор StateFlow закончится после изменения значения. Но сам StateFlow не завершается: collect не возвращается нормально только потому, что новое состояние уже получено. Его контракт отличается от конечного списка значений.
Поэтому отдельно задайте, когда потребителю прекращать сбор. В тесте сформулируйте, сколько состояний нужно проверить и какое условие завершает проверку. В приложении свяжите время работы подписчика с владельцем этой работы.
Наличие текущего значения, получение очередного состояния и завершение потребителя — три разных факта. Не используйте ожидание завершения StateFlow как подтверждение обработки одного обновления. Отмену и обработку ошибок тоже проектируйте отдельно от факта изменения value.