Chatwoot/app/javascript/dashboard/store/modules/specs/agents/mutations.spec.js
Pranav Raj S 439e064d90 Feature: Contact Panel with conversation details (#397)
* Add Contact panel changes

* Fix parent iframe blocked

* Add Conversation Panel, Contact messages

* Update contact panel with conversation details

* Update designs in sidebar

* Fix specs

* Specs: Add specs for conversationMetadata and contact modules

* Fix currentUrl issues

* Fix spelling

* Set default to empty string
2020-01-01 22:30:43 +05:30

63 lines
1.8 KiB
JavaScript

import * as types from '../../../mutation-types';
import { mutations } from '../../agents';
describe('#mutations', () => {
describe('#SET_AGENTS', () => {
it('set agent records', () => {
const state = { records: [] };
mutations[types.default.SET_AGENTS](state, [
{ id: 1, name: 'Agent1', email: 'agent1@chatwoot.com' },
]);
expect(state.records).toEqual([
{
id: 1,
name: 'Agent1',
email: 'agent1@chatwoot.com',
},
]);
});
});
describe('#ADD_AGENT', () => {
it('push newly created agent data to the store', () => {
const state = {
records: [{ id: 1, name: 'Agent1', email: 'agent1@chatwoot.com' }],
};
mutations[types.default.ADD_AGENT](state, {
id: 2,
name: 'Agent2',
email: 'agent2@chatwoot.com',
});
expect(state.records).toEqual([
{ id: 1, name: 'Agent1', email: 'agent1@chatwoot.com' },
{ id: 2, name: 'Agent2', email: 'agent2@chatwoot.com' },
]);
});
});
describe('#EDIT_AGENT', () => {
it('update agent record', () => {
const state = {
records: [{ id: 1, name: 'Agent1', email: 'agent1@chatwoot.com' }],
};
mutations[types.default.EDIT_AGENT](state, {
id: 1,
name: 'Agent2',
email: 'agent2@chatwoot.com',
});
expect(state.records).toEqual([
{ id: 1, name: 'Agent2', email: 'agent2@chatwoot.com' },
]);
});
});
describe('#DELETE_AGENT', () => {
it('delete agent record', () => {
const state = {
records: [{ id: 1, name: 'Agent1', email: 'agent1@chatwoot.com' }],
};
mutations[types.default.DELETE_AGENT](state, 1);
expect(state.records).toEqual([]);
});
});
});