Угловой 6 тестовый метод httpclient post - PullRequest
0 голосов
/ 16 октября 2018

Как мне пройти тестирование?Методы http и часть внутри метода подписки.Я бы извлек некоторую логику в сервис, но у меня нет такого выбора.Я использую угловой 6, который использует карму и жасмин.

export class ProviderSubTypeAddEditComponent implements OnInit {
    onSubmit() {
          if (!this.isedit) {
            this.httpClient.post(`${e.serverURL}${this.url}`,
              {
                name: this.form.get('providerTypeLabel').value,
                provider_type: this.form.get('selectedOption').value,
              })
              .subscribe(
                  data => {
                    this.saveaction.emit(true);
                    this.snotifyService.async('Kindly wait ...', this.successAction).eventEmitter.subscribe(d =>{
                      if(d === 'hidden'){
                          if (this.hasback){
                            this.router.navigateByUrl('/provider_sub_types/list');
                        }
                      }
                    });
                  },
                  error => {
                    this.snotifyService.error("An Error Occured. Kindly contact support.")
                  },
              );
          } else {
            // patch action
            this.httpClient.patch(`${e.serverURL}${this.url}${this.providerid}/`,
              {
                name: this.form.get('providerTypeLabel').value,
                provider_type: this.form.get('selectedOption').value,
              })
              .subscribe(
                  data => {
                      this.patchaction.emit(true);
                      this.snotifyService.success("Provider subtype edited successfully.")
                  },
                  error => {
                    this.snotifyService.error("An Error Occured. Kindly contact support.")
                  },
              );
          }

        }
}

Любая помощь будет оценена.Спасибо.

...