143 lines
3.6 KiB
JavaScript
143 lines
3.6 KiB
JavaScript
import { getters } from '../../auth';
|
|
|
|
import '../../../../routes';
|
|
|
|
jest.mock('../../../../routes', () => {});
|
|
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,
|
|
},
|
|
]);
|
|
});
|
|
});
|
|
});
|