Files
leadchat/app/javascript/dashboard/store/modules/specs/auth/getters.spec.js
Pranav 9de8c27368 feat: Use vitest instead of jest, run all the specs anywhere in app/ folder in the CI (#9722)
Due to the pattern `**/specs/*.spec.js` defined in CircleCI, none of the
frontend spec in the folders such as
`specs/<domain-name>/getters.spec.js` were not executed in Circle CI.

This PR fixes the issue, along with the following changes: 
- Use vitest instead of jest
- Remove jest dependancies
- Update tests to work with vitest

---------

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2024-07-10 08:32:16 -07:00

141 lines
3.5 KiB
JavaScript

import { getters } from '../../auth';
describe('#getters', () => {
describe('#isLoggedIn', () => {
it('return correct value if user data is available', () => {
expect(getters.isLoggedIn({ currentUser: { id: null } })).toEqual(false);
expect(getters.isLoggedIn({ currentUser: { id: 1 } })).toEqual(true);
});
});
describe('#getCurrentUser', () => {
it('returns current user id', () => {
expect(getters.getCurrentUserID({ currentUser: { id: 1 } })).toEqual(1);
});
});
describe('#getCurrentUser', () => {
it('returns current user object', () => {
expect(
getters.getCurrentUser({ currentUser: { id: 1, name: 'Pranav' } })
).toEqual({ id: 1, name: 'Pranav' });
});
});
describe('#getCurrentRole', () => {
it('returns current role if account is available', () => {
expect(
getters.getCurrentRole(
{ currentUser: { accounts: [{ id: 1, role: 'admin' }] } },
{ getCurrentAccountId: 1 }
)
).toEqual('admin');
});
it('returns undefined if account is not available', () => {
expect(
getters.getCurrentRole(
{ currentUser: { accounts: [{ id: 1, role: 'admin' }] } },
{ getCurrentAccountId: 2 }
)
).toEqual(undefined);
});
});
describe('#getCurrentUserAvailability', () => {
it('returns correct availability status', () => {
expect(
getters.getCurrentUserAvailability(
{
currentAccountId: 1,
currentUser: {
id: 1,
accounts: [{ id: 1, availability: 'busy' }],
},
},
{ getCurrentAccountId: 1 }
)
).toEqual('busy');
});
});
describe('#getUISettings', () => {
it('return correct UI Settings', () => {
expect(
getters.getUISettings({
currentUser: { ui_settings: { is_contact_sidebar_open: true } },
})
).toEqual({ is_contact_sidebar_open: true });
});
});
describe('#getMessageSignature', () => {
it('Return signature when signature is present', () => {
expect(
getters.getMessageSignature({
currentUser: { message_signature: 'Thanks' },
})
).toEqual('Thanks');
});
it('Return empty string when signature is not present', () => {
expect(getters.getMessageSignature({ currentUser: {} })).toEqual('');
});
});
describe('#getCurrentAccount', () => {
it('returns correct values', () => {
expect(
getters.getCurrentAccount({
currentUser: {},
})
).toEqual({});
expect(
getters.getCurrentAccount(
{
currentUser: {
accounts: [
{
name: 'Chatwoot',
id: 1,
},
],
},
currentAccountId: 1,
},
{ getCurrentAccountId: 1 }
)
).toEqual({
name: 'Chatwoot',
id: 1,
});
});
});
describe('#getUserAccounts', () => {
it('returns correct values', () => {
expect(
getters.getUserAccounts({
currentUser: {},
})
).toEqual([]);
expect(
getters.getUserAccounts({
currentUser: {
accounts: [
{
name: 'Chatwoot',
id: 1,
},
],
},
})
).toEqual([
{
name: 'Chatwoot',
id: 1,
},
]);
});
});
});