Я запускаю модульный тест для углового приложения, после нажатия кнопки вызывается API, я проверяю, вызывается ли этот API или нет, а также запрашиваю метод с помощью HttpTestingController! Я использую jasmine.
<div class="form-group">
<label class="col-sm-6 col-form-label" for="name">Customer Number</label>
<input type="text" id="accountid" class="form-control col-sm-3" [(ngModel)]="record.accountid" (change)="daemonChanged(0)" name="accountid" required>
<button id="loadbtn" (click)="loadCustomer()" class="col-sm-3 btn">Load</button>
</div>
В моей спецификации
//tried both the ways to trigger click event it doesn't work
loadButton.triggerEventHandler('click',null);
loadButton.nativeElement.dispatchEvent(new Event('click'));
fixture.detectChanges();
let dummyResponse ={"status":"SUCCESS","data":{}};
let req2 = _HttpTestingController.expectOne('/api/accounts');//fails here
expect(req2.request.method).toBe("POST");
loadCustomer () {
this.http.post('/api/accounts', this.record) //function indeed calls this API!!!
.subscribe(res => {
..some logic...
});