818c769bb7
* Changes for the message to have multiple attachments * changed the message association to attachments from has_one to has_many * changed all the references of this association in building and fetching to reflect this change * Added number of attachments validation to the message model * Modified the backend responses and endpoints to reflect multiple attachment support (#737) * Changing the frontend components for multiple attachments * changed the request structure to reflect the multiple attachment structures * changed the message bubbles to support multiple attachments * bugfix: agent side attachment was not showing because of a missing await * broken message was shown because of the store filtering * Added documentation for ImageMagick * spec fixes * refactored code to reflect more apt namings * Added updated message listener for the dashboard (#727) * Added the publishing for message updated event * Implemented the listener for dashboard Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
80 lines
2.5 KiB
JavaScript
80 lines
2.5 KiB
JavaScript
import { playNotificationAudio } from 'shared/helpers/AudioNotificationHelper';
|
|
import { actions } from '../../conversation';
|
|
import getUuid from '../../../../helpers/uuid';
|
|
|
|
jest.mock('../../../../helpers/uuid');
|
|
jest.mock('shared/helpers/AudioNotificationHelper', () => ({
|
|
playNotificationAudio: jest.fn(),
|
|
}));
|
|
|
|
const commit = jest.fn();
|
|
|
|
describe('#actions', () => {
|
|
describe('#addMessage', () => {
|
|
it('sends correct mutations', () => {
|
|
actions.addMessage({ commit }, { id: 1 });
|
|
expect(commit).toBeCalledWith('pushMessageToConversation', { id: 1 });
|
|
});
|
|
|
|
it('plays audio when agent sends a message', () => {
|
|
actions.addMessage({ commit }, { id: 1, message_type: 1 });
|
|
expect(playNotificationAudio).toBeCalled();
|
|
expect(commit).toBeCalledWith('pushMessageToConversation', {
|
|
id: 1,
|
|
message_type: 1,
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('#updateMessage', () => {
|
|
it('sends correct mutations', () => {
|
|
actions.updateMessage({ commit }, { id: 1 });
|
|
expect(commit).toBeCalledWith('pushMessageToConversation', { id: 1 });
|
|
});
|
|
});
|
|
|
|
describe('#sendMessage', () => {
|
|
it('sends correct mutations', () => {
|
|
const mockDate = new Date(1466424490000);
|
|
getUuid.mockImplementationOnce(() => '1111');
|
|
const spy = jest.spyOn(global, 'Date').mockImplementation(() => mockDate);
|
|
actions.sendMessage({ commit }, { content: 'hello' });
|
|
spy.mockRestore();
|
|
expect(commit).toBeCalledWith('pushMessageToConversation', {
|
|
id: '1111',
|
|
content: 'hello',
|
|
status: 'in_progress',
|
|
created_at: 1466424490,
|
|
message_type: 0,
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('#sendAttachment', () => {
|
|
it('sends correct mutations', () => {
|
|
const mockDate = new Date(1466424490000);
|
|
getUuid.mockImplementationOnce(() => '1111');
|
|
const spy = jest.spyOn(global, 'Date').mockImplementation(() => mockDate);
|
|
const thumbUrl = '';
|
|
const attachment = { thumbUrl, fileType: 'file' };
|
|
|
|
actions.sendAttachment({ commit }, { attachment });
|
|
spy.mockRestore();
|
|
expect(commit).toBeCalledWith('pushMessageToConversation', {
|
|
id: '1111',
|
|
content: undefined,
|
|
status: 'in_progress',
|
|
created_at: 1466424490,
|
|
message_type: 0,
|
|
attachments: [
|
|
{
|
|
thumb_url: '',
|
|
data_url: '',
|
|
file_type: 'file',
|
|
status: 'in_progress',
|
|
},
|
|
],
|
|
});
|
|
});
|
|
});
|
|
});
|