Я установил простую службу аутентификации на angular, которая возвращает Promise:
import * as firebase from 'firebase/app';
@Injectable({
providedIn: 'root'
})
export class AuthService {
doLogin(val:{email:string, password:string}) {
return new Promise<any>((resolve, reject) => {
firebase
.auth()
.signInWithEmailAndPassword(val.email, val.password)
.then(
res => resolve(res),
err => reject(err)
);
});
}
}
Как правильно реализовать модульное тестирование в службе?В настоящее время я достигаю этого, выполняя модульное тестирование с использованием jasmine, предоставляя реальные учетные данные пользователя (что не очень хорошо, поскольку я собираюсь отправить код на github) и вызывая метод doLogin напрямую с использованием учетных данных.
describe('AuthService', () => {
let service: AuthService;
const userCreds = {
email: 'somerealemail@somedomain.com',
password: 'somerealpassword'
};
beforeEach(() => TestBed.configureTestingModule({
imports: [FirebaseModule],
providers: [AuthService]
}));
beforeEach(() => {
service = TestBed.get(AuthService);
});
it('should logged in', async((done) => {
service.doLogin(userCreds).then(
res => {
expect(res).toBeTruthy();
}
)
}));
Извините, если код неправильный, я абсолютно новичок как в угловых, так и в жасминовых, любые советы или идеи очень ценятся, спасибо