forked from verdnatura/salix-front
86 lines
2.1 KiB
JavaScript
86 lines
2.1 KiB
JavaScript
import { jest, describe, expect, it, beforeAll } from '@jest/globals';
|
|
import { createWrapper } from 'app/tests/jest/jestHelpers';
|
|
import App from '../App.vue';
|
|
import { useSession } from 'src/composables/useSession';
|
|
|
|
const mockPush = jest.fn();
|
|
const mockLoggedIn = jest.fn();
|
|
const mockDestroy = jest.fn();
|
|
const session = useSession();
|
|
|
|
jest.mock('vue-router', () => ({
|
|
useRouter: () => ({
|
|
push: mockPush,
|
|
currentRoute: { value: 'myCurrentRoute' }
|
|
}),
|
|
}));
|
|
|
|
jest.mock('src/composables/useSession', () => ({
|
|
useSession: () => ({
|
|
isLoggedIn: mockLoggedIn,
|
|
destroy: mockDestroy
|
|
}),
|
|
}));
|
|
|
|
jest.mock('vue-i18n', () => ({
|
|
createI18n: () => { },
|
|
useI18n: () => ({
|
|
t: () => { }
|
|
}),
|
|
}));
|
|
|
|
describe('App', () => {
|
|
let vm;
|
|
beforeAll(() => {
|
|
const options = {
|
|
global: {
|
|
stubs: ['router-view']
|
|
}
|
|
};
|
|
vm = createWrapper(App, options).vm;
|
|
|
|
});
|
|
|
|
it('should return a login error message', async () => {
|
|
jest.spyOn(vm.quasar, 'notify');
|
|
|
|
session.isLoggedIn.mockReturnValue(false);
|
|
|
|
const response = {
|
|
response: {
|
|
status: 401
|
|
}
|
|
};
|
|
|
|
expect(vm.responseError(response)).rejects.toEqual(expect.objectContaining(response));
|
|
expect(vm.quasar.notify).toHaveBeenCalledWith(expect.objectContaining(
|
|
{
|
|
type: 'negative',
|
|
message: 'login.loginError'
|
|
}
|
|
));
|
|
});
|
|
|
|
it('should return an unauthorized error message', async () => {
|
|
jest.spyOn(vm.quasar, 'notify');
|
|
|
|
session.isLoggedIn.mockReturnValue(true);
|
|
|
|
const response = {
|
|
response: {
|
|
status: 401
|
|
}
|
|
};
|
|
|
|
expect(vm.responseError(response)).rejects.toEqual(expect.objectContaining(response));
|
|
expect(vm.quasar.notify).toHaveBeenCalledWith(expect.objectContaining(
|
|
{
|
|
type: 'negative',
|
|
message: 'errors.statusUnauthorized'
|
|
}
|
|
));
|
|
|
|
expect(session.destroy).toHaveBeenCalled();
|
|
});
|
|
});
|