Я совсем новичок в модульном тестировании, поэтому терпите меня
Я пытаюсь провести модульное тестирование службы, которая используется для регистрации пользователя с помощью Amplify в приложении Angular.
Прямо сейчас в файле spe c, который я делаю:
beforeEach(async () => {
TestBed.configureTestingModule({
imports: [
HttpClientTestingModule,
],
providers: [
MyService, Amplify
]
}
myService = TestBed.get(MyService)
amplify = TestBed.get(Amplify)
})
it('should login', async () => {
const objToBeReturned = { signInUserSession: { idToken: { jwtToken: 'tokenValue' } } }
spyOn(Amplify.Auth, 'signIn').and.returnValue(objToBeReturned)
await myService.login('username', 'password')
})
Находясь в MyService :
public async login(username: string, password: string) {
const authUser = await Amplify.Auth.signIn(username.toLowerCase(), password)
if (authUser.signInUserSession != null) {
const idToken = authUser.signInUserSession.idToken.jwtToken
return this.patientLogin(idToken)
}
}
private async patientLogin(idToken?: string): Promise<boolean> {
await this.sendRequest<LoginResponse>(url, data).pipe(
tap(response => {
if (!isLoginResponse(response)) {
throw throwErr({ code: 'Generic' })
}
this.token = response.token
})
).toPromise()
return true
}
Это дает мне ошибку Функция Asyn c не была завершена в течение 5000 мс
Я почти уверен, что это зависит от способа, которым я издеваюсь Усилить
Как правильно издеваться?