У меня есть компонент, который при создании отправляет два события для заполнения полей данных. События должны оставаться отдельными, потому что они используются в других местах для различных действий.
Я хочу написать асинхронный тест flexunit, чтобы подтвердить, что оба события отправлены. Проблема в том, что они оба варианта одного и того же события.
Вот код:
Компонент:
internal function creationComplete(): void {
new GetDataEvent(GetDataEvent.GET_DATA, "aField").dispatch();
new GetDataEvent(GetDataEvent.GET_DATA, "anotherField").dispatch();
}
Тест (насколько он у меня есть):
[Test(async)]
public function creationCompleteShouldLoadRequiredData(): void {
Async.handleEvent(this, new CairngormEventDispatcherAdapter(), GetDataEvent.GET_DATA,
function(event: Event, ...rest): void {
assertThat(event, hasProperty("data", hasProperty("field", "aField")));
});
fixture.creationComplete();
}
Дело в том, что это только проверка того, что отправлено первое событие получения данных, и, что еще хуже, зависит от порядка отправки события. Как я могу проверить, что оба эти события в конечном итоге отправляются этим методом, независимо от их порядка?