Цель: проверить, соответствует ли моя проверка формы в приложении angular моей схеме проверки JSON.
Как я хотел бы получить ее? Я хотел бы создать тесты для своей страницы, которые содержат форму и функцию «register ()» , обеспечивающую HttpClient, который будет проверять запрос и, например, вызывать исключение в случае сбоя проверки.
Page -> Сервис -> Проверка HttpClient
В тесте я хочу заполнить значения формы, а затем вызвать метод register
.
И у меня есть 2 вопроса:
1. Как создать такой HttpClient? Я пытался сделать что-то вроде этого:
@Injectable({
providedIn: "root"
})
export class RegisterValidationHttpClient extends HttpClient {
post(url: string, body: any | null, options: { headers?: HttpHeaders | { [p: string]: string | string[] }; observe?: "body"; params?: HttpParams | { [p: string]: string | string[] }; reportProgress?: boolean; responseType: "arraybuffer"; withCredentials?: boolean }): Observable<ArrayBuffer> {
return super.post(url, body, options);
}
}
, но я получаю сообщение об ошибке "свойство 'post' ... нельзя назначить тому же типу в базовом классе ...."
Может быть, есть более простой способ добиться этого? Но я хочу проверить валидацию страницы. Но я не хочу повторять в своем тесте логи c, что из значений формы создает параметры для моей службы, которые, в свою очередь, создают запрос JSON, который отправляется бэкэнду. Повторение логики c было бы подвержено ошибкам, и мне нужно было бы помнить, чтобы изменять логики c в тестах и в рабочем коде - не имеет смысла.