Chatwoot/app/javascript/widget/store/modules/specs/agent/mutations.spec.js
Pranav Raj S 9c31d7c672
feat: Use vue-router on widget route management (#3415)
* feat: Add vue-router to widget

Co-authored-by: Pranav <pranav@chatwoot.com>

* Move to dynamic imports

* Move to routerMixin

* Fix popup button display

* Remove unnecessary import

* router -> route

* Fix open state

* Fix issues

* Remove used CSS

* Fix specs

* Fix specs

* Fix widgetColor specs

* Fix mutation specs

* Fixes broken lint errors

* Fixes issues with widget flow

Co-authored-by: Nithin <nithin@chatwoot.com>
Co-authored-by: Nithin David <1277421+nithindavid@users.noreply.github.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2022-01-12 16:25:27 +05:30

59 lines
1.4 KiB
JavaScript

import { mutations } from '../../agent';
import { agents } from './data';
describe('#mutations', () => {
describe('#setAgents', () => {
it('set agent records', () => {
const state = { records: [] };
mutations.setAgents(state, agents);
expect(state.records).toEqual(agents);
});
});
describe('#setError', () => {
it('set error flag', () => {
const state = { records: [], uiFlags: {} };
mutations.setError(state, true);
expect(state.uiFlags.isError).toEqual(true);
});
});
describe('#setHasFetched', () => {
it('set fetched flag', () => {
const state = { records: [], uiFlags: {} };
mutations.setHasFetched(state, true);
expect(state.uiFlags.hasFetched).toEqual(true);
});
});
describe('#updatePresence', () => {
it('updates agent presence', () => {
const state = { records: agents };
mutations.updatePresence(state, { 1: 'busy', 2: 'online' });
expect(state.records).toEqual([
{
id: 1,
name: 'John',
avatar_url: '',
availability_status: 'busy',
},
{
id: 2,
name: 'Xavier',
avatar_url: '',
availability_status: 'online',
},
{
id: 3,
name: 'Pranav',
avatar_url: '',
},
{
id: 4,
name: 'Nithin',
avatar_url: '',
},
]);
});
});
});