#angular #unit-testing #karma-jasmine #angular-unit-test
Вопрос:
Как я буду писать модульный тест для следующего кода? Я попытался это сделать и закрыл часть трубы, но остальное ускользает от меня.
prefillBroker(brokerId) {
this.apiService.getBrokers({page: 1, pageSize: 1, brokerId: brokerId}).pipe(
map((response) => {
return response.Brokers[0];
})
).subscribe((broker) => {
this.filteredBrokerOptions = [broker];
this.createAgentFormGroup.get('broker').setValue(broker, {emitEvent: false});
}, (error) => {
});
Я попробовал следующее, но безуспешно:
describe('testing prefill broker details', () => {
it('should prefill broker details', fakeAsync(() => {
const brokerId = 53;
const mockData =
[
{
BrokerCode: "232221511",
Broker_UID: 1,
Name: "new test broker 1",
Type: "Short-term",
StartDate: "2020-06-26T10:07:55.513Z",
Status: "Active"
}
]
const mockObservable = Observable.of(mockData)
let brokerSpy = spyOn(apiservice, 'getBrokers').and.returnValue(mockObservable)
component.prefillBroker(brokerId);
expect(brokerSpy).toHaveBeenCalled;
apiservice.getBroker(brokerId).subscribe((broker) => {
component.filteredBrokerOptions = [mockData];
component.createAgentFormGroup.get('broker').setValue(broker, {emitEvent: false})
})
}))
})
Комментарии:
1. Покажите свои тесты