68 lines
2 KiB
JavaScript
68 lines
2 KiB
JavaScript
import { createWrapper } from '@vue/test-utils';
|
|
import configMixin from '../configMixin';
|
|
import Vue from 'vue';
|
|
const preChatFields = [
|
|
{
|
|
label: 'Email Id',
|
|
name: 'emailAddress',
|
|
type: 'email',
|
|
field_type: 'standard',
|
|
required: false,
|
|
enabled: false,
|
|
},
|
|
{
|
|
label: 'Full name',
|
|
name: 'fullName',
|
|
type: 'text',
|
|
field_type: 'standard',
|
|
required: true,
|
|
enabled: true,
|
|
},
|
|
];
|
|
global.chatwootWebChannel = {
|
|
avatarUrl: 'https://test.url',
|
|
hasAConnectedAgentBot: 'AgentBot',
|
|
enabledFeatures: ['emoji_picker', 'attachments', 'end_conversation'],
|
|
preChatFormOptions: { pre_chat_fields: preChatFields, pre_chat_message: '' },
|
|
preChatFormEnabled: true,
|
|
};
|
|
|
|
global.chatwootWidgetDefaults = {
|
|
useInboxAvatarForBot: true,
|
|
};
|
|
|
|
describe('configMixin', () => {
|
|
test('returns config', () => {
|
|
const Component = {
|
|
render() {},
|
|
title: 'TestComponent',
|
|
mixins: [configMixin],
|
|
};
|
|
const Constructor = Vue.extend(Component);
|
|
const vm = new Constructor().$mount();
|
|
const wrapper = createWrapper(vm);
|
|
expect(wrapper.vm.hasEmojiPickerEnabled).toBe(true);
|
|
expect(wrapper.vm.hasEndConversationEnabled).toBe(true);
|
|
expect(wrapper.vm.hasAttachmentsEnabled).toBe(true);
|
|
expect(wrapper.vm.hasAConnectedAgentBot).toBe(true);
|
|
expect(wrapper.vm.useInboxAvatarForBot).toBe(true);
|
|
expect(wrapper.vm.inboxAvatarUrl).toBe('https://test.url');
|
|
|
|
expect(wrapper.vm.channelConfig).toEqual({
|
|
avatarUrl: 'https://test.url',
|
|
hasAConnectedAgentBot: 'AgentBot',
|
|
enabledFeatures: ['emoji_picker', 'attachments', 'end_conversation'],
|
|
preChatFormOptions: {
|
|
pre_chat_message: '',
|
|
pre_chat_fields: preChatFields,
|
|
},
|
|
preChatFormEnabled: true,
|
|
});
|
|
expect(wrapper.vm.preChatFormOptions).toEqual({
|
|
preChatMessage: '',
|
|
preChatFields: preChatFields,
|
|
});
|
|
expect(wrapper.vm.preChatFormEnabled).toEqual(true);
|
|
expect(wrapper.vm.shouldShowPreChatForm).toEqual(true);
|
|
});
|
|
});
|