82 lines
3.5 KiB
TypeScript
82 lines
3.5 KiB
TypeScript
// import { TestBed } from '@angular/core/testing';
|
|
//
|
|
// import { LoginService } from './login.service';
|
|
// import {LocalStorageService} from 'angular-2-local-storage';
|
|
// import {ApiService} from './api.service';
|
|
// import {Observable} from 'rxjs';
|
|
//
|
|
// let loginService: LoginService;
|
|
// let apiServiceSpy: jasmine.SpyObj<ApiService>;
|
|
// let localStorageServiceSpy: jasmine.SpyObj<LocalStorageService>;
|
|
//
|
|
// describe('LoginService', () => {
|
|
// beforeEach(() => {
|
|
// const apiSpy = jasmine.createSpyObj('ApiService', ['get']);
|
|
// const localStorageSpy = jasmine.createSpyObj('LocalStorageService', ['set', 'remove']);
|
|
//
|
|
// TestBed.configureTestingModule({
|
|
// providers: [
|
|
// LoginService,
|
|
// {provide: ApiService, useValue: apiSpy},
|
|
// {provide: LocalStorageService, useValue: localStorageSpy}
|
|
// ]
|
|
// });
|
|
// loginService = TestBed.inject(LoginService);
|
|
// apiServiceSpy = TestBed.inject(ApiService) as jasmine.SpyObj<ApiService>;
|
|
// localStorageServiceSpy = TestBed.inject(LocalStorageService) as jasmine.SpyObj<LocalStorageService>;
|
|
// });
|
|
//
|
|
// it('should be created', () => {
|
|
// expect(loginService).toBeTruthy();
|
|
// });
|
|
//
|
|
// describe('login', () => {
|
|
// it('should store the basic auth', () => {
|
|
// localStorageServiceSpy.set.and.returnValue(true);
|
|
// apiServiceSpy.get.and.returnValue(new Observable());
|
|
// loginService.login('username', 'password');
|
|
// expect(localStorageServiceSpy.set).toHaveBeenCalledWith('basicAuth', 'dXNlcm5hbWU6cGFzc3dvcmQ=');
|
|
// });
|
|
//
|
|
// it('should remove the basic auth if login fails', () => {
|
|
// localStorageServiceSpy.set.and.returnValue(true);
|
|
// localStorageServiceSpy.remove.and.returnValue(true);
|
|
// apiServiceSpy.get.and.returnValue(new Observable(o => o.error()));
|
|
// loginService.login('username', 'password');
|
|
// expect(localStorageServiceSpy.remove.calls.count()).toBe(1);
|
|
// expect(localStorageServiceSpy.remove).toHaveBeenCalledWith('basicAuth');
|
|
// });
|
|
//
|
|
// it('should resolve true when login succeeds', async () => {
|
|
// localStorageServiceSpy.set.and.returnValue(true);
|
|
// apiServiceSpy.get.and.returnValue(new Observable(o => o.next({status: 'Authorization successful', method: 'basic'})));
|
|
// expect(await loginService.login('username', 'password')).toBeTruthy();
|
|
// });
|
|
//
|
|
// it('should resolve false when a wrong result comes in', async () => {
|
|
// localStorageServiceSpy.set.and.returnValue(true);
|
|
// apiServiceSpy.get.and.returnValue(new Observable(o => o.next({status: 'xxx', method: 'basic'})));
|
|
// expect(await loginService.login('username', 'password')).toBeFalsy();
|
|
// });
|
|
//
|
|
// it('should resolve false on an error', async () => {
|
|
// localStorageServiceSpy.set.and.returnValue(true);
|
|
// apiServiceSpy.get.and.returnValue(new Observable(o => o.error()));
|
|
// expect(await loginService.login('username', 'password')).toBeFalsy();
|
|
// });
|
|
// });
|
|
//
|
|
// describe('canActivate', () => {
|
|
// it('should return false at first', () => {
|
|
// expect(loginService.canActivate(null, null)).toBeFalsy();
|
|
// });
|
|
//
|
|
// it('returns true if login was successful', async () => {
|
|
// localStorageServiceSpy.set.and.returnValue(true);
|
|
// apiServiceSpy.get.and.returnValue(new Observable(o => o.next({status: 'Authorization successful', method: 'basic'})));
|
|
// await loginService.login('username', 'password');
|
|
// expect(loginService.canActivate(null, null)).toBeTruthy();
|
|
// });
|
|
// });
|
|
// });
|