如何以角度

时间:2018-01-23 00:04:52

标签: angular observable karma-jasmine angular-test

我想测试以角度提交表单的结果,但我不确定会发生什么。我已经创建了我的模拟数据并使用jasmine创建了一个间谍,但我写下了期望。 我知道它会返回一个Observable,但我该如何测试呢?

我的模板

<form #f="ngForm" (ngSubmit)="post_donation_form(f)">
  <!-- form fields -->
</form>
const testForm = <NgForm>{
    value: {
        address: {
            billing_address: '10500 N De Anza Blvd',
            billing_city: ' Cupertino',
            billing_state: 'CA',
            billing_zipcode: '95014'
        },
        billing_email_address: 'test@gmail.com',
        billing_first_name: 'Tim',
        billing_last_name: 'Cook',
        billing_phone_number: 2044567894,
        given_to: 'NumbersUSA Action',
        gross_gift_amount: 1000,
        recurring_subscription: false
    }
};

我的组件

save_donation(form_data: NgForm) {
    return this.donationService.post_donation_form(form_data.value).subscribe(
      data => return data );
}

这是我的测试用例,但我不确定如何编写期望将其与模拟进行比较。

    it('should post the form values to the server', () => {
            const spy = spyOn(service, 'post_donation_form')
.and.returnValue(Observable.from([testForm]));
            donation_service_component.save_donation(testForm);
            expect(donation_service_component.save_donation).toContain(testForm);
        });

0 个答案:

没有答案