cor-auth-service
Version:
Package for communicate with the COR API
135 lines (100 loc) • 3.93 kB
JavaScript
;
import { environmentFactory } from "../src/environments/environment.variables.module";
import { CorAuthService } from "../src/CorAuthService";
import localForage from 'localforage';
describe('CheckService', () => {
test('Check for environment', () => {
const environment = environmentFactory();
expect(environment).toEqual(
expect.objectContaining({
apiEndpoint: expect.any(String),
environmentName: expect.any(String),
envName: expect.any(String)
}),
);
});
test('Check the Authentication Service', async () => {
const cor = new CorAuthService();
let result = null
//Fake data for test
cor.token = 'TOKENTEST';
await cor.__checkService()
.then(res => {
result = res
})
.catch(err => {
if (err.response != undefined){
result = err.response
}else{
result = err
console.log('\x1b[31m%s\x1b[0m',err)
}
})
expect.objectContaining(result)
})
test.skip('Check the local forage variable', async () => {
const cor = new CorAuthService();
let result = null;
await localForage.setItem('token','TESTUSERTOKEN');
await localForage.getItem('token')
.then( value => {
result = value;
})
.catch(err =>{
result = err;
});
expect(result).toBe('TESTUSERTOKEN')
})
test('Check the access token', async () => {
const cor = new CorAuthService();
//Fake data for test
cor.token = 'TOKENTEST';
let result = cor.checkToken();
expect(result).toBe(true)
})
test('Check the generate token method', async () => {
const cor = new CorAuthService();
cor.generateToken = jest.fn( () => {return {token : 'token', refreshToken: 'refresh', expirationTime: 1567021711554 }});
let result = await cor.generateToken();
expect(result).toEqual(
expect.objectContaining({
token: expect.any(String),
refreshToken: expect.any(String),
expirationTime: expect.any(Number)
}),
);
})
test('Check the refresh token method', async () => {
const cor = new CorAuthService();
cor.refreshToken = jest.fn( () => {return {token : 'token', refreshToken: 'refresh', expirationTime: 1567021711554}});
let result = await cor.refreshToken();
expect(result).toEqual(
expect.objectContaining({
token: expect.any(String),
refreshToken: expect.any(String),
expirationTime: expect.any(Number)
}),
);
})
test.skip('Check the header auth config',async() => {
const cor = new CorAuthService();
cor.auth_code= "LPRX4znS1rWXT6zmbUAEiOpjln2aRdgz9Saf0ot8gkAfVex9Mw1VvZzlNkQl5YJA";
localForage.get = jest.fn( () => {return {token : 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjM1NzIsImlhdCI6MTU3NDQ1NTA3NywiZXhwIjoxNTc0NDU4Njc3fQ.QIuUANADWo9jkc7nDO085Y8T321HSWdPkyETFrf-S8k', refresh_token: 'refresh', expirationTime: 1574456648878}});
let token = localForage.get('token');
if(token.token){
cor.token = token.token || null;
cor.refresh_token = token.refresh_token || null;
cor.expirationTime = token.expirationTime || null;
cor.initiateHeaderAuth(token.token);
}
let result = null;
await cor.get('v1/me')
.then(res=>{
result= 200;
})
.catch(err=>{
result= err;
});
expect(result).toBe(200)
})
})