Browse Source

add test to remember-me.service and fix return value in service

pull/19088/head
Sinan Öztürk 2 years ago
parent
commit
89df1e68f7
  1. 2
      npm/ng-packs/packages/oauth/src/lib/services/remember-me.service.ts
  2. 71
      npm/ng-packs/packages/oauth/src/lib/tests/remember-me.service.spec.ts

2
npm/ng-packs/packages/oauth/src/lib/services/remember-me.service.ts

@ -17,7 +17,7 @@ export class RememberMeService {
}
get() {
return Boolean(JSON.parse(this.localStorageService.getItem(this.#rememberMe)));
return Boolean(JSON.parse(this.localStorageService.getItem(this.#rememberMe) || 'false'));
}
getFromToken(accessToken: string) {

71
npm/ng-packs/packages/oauth/src/lib/tests/remember-me.service.spec.ts

@ -0,0 +1,71 @@
import { SpectatorService, SpyObject, createServiceFactory } from "@ngneat/spectator/jest";
import { RememberMeService } from "../services/remember-me.service";
import { AbpLocalStorageService } from "@abp/ng.core";
describe('RememberMeService', () => {
const key = 'remember_me';
let spectator: SpectatorService<RememberMeService>;
let rememberMeService: RememberMeService;
let abpLocalStorageService: SpyObject<AbpLocalStorageService>;
const createService = createServiceFactory({
service: RememberMeService,
mocks: [AbpLocalStorageService]
});
beforeEach(() => {
spectator = createService();
rememberMeService = spectator.inject(RememberMeService);
abpLocalStorageService = spectator.inject(AbpLocalStorageService);
});
it('should be created', () => {
expect(1).toBe(1);
expect(rememberMeService).toBeTruthy();
expect(abpLocalStorageService).toBeTruthy();
});
it('should set remember me', () => {
rememberMeService.set(true);
expect(abpLocalStorageService.setItem).toHaveBeenCalledWith(key, 'true');
expect(abpLocalStorageService.setItem).toHaveBeenCalledTimes(1);
});
it('should remove remember me', () => {
rememberMeService.remove();
expect(abpLocalStorageService.removeItem).toHaveBeenCalledWith(key);
expect(abpLocalStorageService.removeItem).toBeCalledTimes(1);
});
it('if notting has ben setted, it should return false value', () => {
expect(rememberMeService.get()).toBe(false);
});
it('should return true value', () => {
abpLocalStorageService.getItem.mockReturnValueOnce('true');
expect(rememberMeService.get()).toBe(true);
});
it('should return false value', () => {
abpLocalStorageService.getItem.mockReturnValueOnce('false');
expect(rememberMeService.get()).toBe(false);
});
it('should return true when parsed token is setted to true', () => {
const data = { "remember_me": "True" };
const base64_encoded = btoa(JSON.stringify(data));
const tokenWithValueTrue = "random." + base64_encoded + ".random";
expect(rememberMeService.getFromToken(tokenWithValueTrue)).toBe(true);
});
it('should return false when value is not setted(undefined)', () => {
const data = {};
const base64_encoded = btoa(JSON.stringify(data));
const tokenWithValueTrue = "random." + base64_encoded + ".random";
expect(rememberMeService.getFromToken(tokenWithValueTrue)).toBe(false);
});
});
Loading…
Cancel
Save