Не удалось выяснить, почему подписка никогда не срабатывает с этим appraoch,
поэтому вместо этого:
.close.then((resolve: IModelInstance): void => {
resolve.status$.subscribe((status: Status): void => {
this._checkStatus(status);
});
});
Я использовал эту реализацию вместо:
.close.then((resolve: IModelInstance): void => {
this._checkStatus(resolve.status);
});
Затем в модульном тесте у меня есть следующий макет данных - макет обещания остается прежним:
closeResponse = {
status: Status.CREATED
} as Partial<Instance> as Instance;
...............................................
beforeEach(async(() => {
closeResolve(closeResponse);
}));
При этом мне не нужно подписываться на статус $, чтобы получить значение модели статуса. Я просто указываю на другой статус собственности, который также имеет значение, которое меня интересует.
Как и @Antoniossss, предложил: «Вся идея в том, чтобы написать тестируемый код, который можно протестировать с помощью простых тестов».