@capillarytech/creatives-library 7.12.43 → 7.12.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/app.js +0 -1
- package/package.json +1 -1
- package/v2Containers/Cap/tests/index.test.js +2 -2
- package/v2Containers/CreativesContainer/SlideBoxContent.js +8 -7
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +30 -20
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +303 -12
- package/v2Containers/Line/Container/ImageCarousel/Content.js +15 -29
- package/v2Containers/Line/Container/ImageCarousel/constants.js +3 -0
- package/v2Containers/Line/Container/ImageCarousel/index.js +24 -35
- package/v2Containers/Line/Container/ImageCarousel/messages.js +4 -0
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +9851 -0
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +21113 -0
- package/v2Containers/Line/Container/ImageCarousel/tests/content.test.js +71 -0
- package/v2Containers/Line/Container/ImageCarousel/tests/index.test.js +58 -0
- package/v2Containers/Line/Container/ImageCarousel/tests/mockData.js +1322 -0
- package/v2Containers/Line/Container/ImageCarousel/tests/utils.test.js +13 -0
- package/v2Containers/Line/Container/ImageCarousel/utils.js +12 -0
- package/v2Containers/Line/Container/Wrapper/index.js +2 -2
- package/v2Containers/Line/Container/Wrapper/messages.js +2 -2
- package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +84451 -0
- package/v2Containers/Line/Container/Wrapper/tests/index.test.js +58 -0
- package/v2Containers/Line/Container/Wrapper/tests/mockData.js +171 -0
- package/v2Containers/Line/Container/constants.js +1 -1
- package/v2Containers/Line/Container/index.js +2 -0
- package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +59589 -0
- package/v2Containers/Line/Container/tests/index.test.js +105 -0
- package/v2Containers/Line/Container/tests/mockData.js +1334 -0
- package/v2Containers/mockdata.js +68 -11
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { browserHistory } from 'react-router';
|
|
3
|
+
import { Provider } from 'react-redux';
|
|
4
|
+
import configureStore from '../../../../../store';
|
|
5
|
+
import { mountWithIntl } from '../../../../../helpers/intl-enzym-test-helpers';
|
|
6
|
+
import { LineWrapper } from '../index';
|
|
7
|
+
import { mockData } from './mockData';
|
|
8
|
+
|
|
9
|
+
let store;
|
|
10
|
+
beforeAll(() => {
|
|
11
|
+
store = configureStore({}, browserHistory);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
jest.mock('../../ImageCarousel/Content', () => ({
|
|
15
|
+
__esModule: true,
|
|
16
|
+
default: (props) => (
|
|
17
|
+
<div className="LineImageCarouselContent-mock" {...props}>
|
|
18
|
+
LineImageCarouselContent
|
|
19
|
+
</div>
|
|
20
|
+
),
|
|
21
|
+
}));
|
|
22
|
+
|
|
23
|
+
describe('line wrapper test/>', () => {
|
|
24
|
+
let renderedComponent;
|
|
25
|
+
const deleteWrapper = jest.fn();
|
|
26
|
+
const shiftUp = jest.fn();
|
|
27
|
+
const shiftDown = jest.fn();
|
|
28
|
+
const formatMessage = jest.fn();
|
|
29
|
+
const fetchSchemaForEntity = jest.fn();
|
|
30
|
+
const renderHelper = (selectedType) => {
|
|
31
|
+
renderedComponent = mountWithIntl(
|
|
32
|
+
<Provider store={store}>
|
|
33
|
+
<LineWrapper
|
|
34
|
+
index={0}
|
|
35
|
+
intl={{ formatMessage }}
|
|
36
|
+
deleteWrapper={deleteWrapper}
|
|
37
|
+
shiftUp={shiftUp}
|
|
38
|
+
shiftDown={shiftDown}
|
|
39
|
+
selectedType={selectedType}
|
|
40
|
+
lineWrappers={1}
|
|
41
|
+
Templates={mockData.Templates}
|
|
42
|
+
content={mockData.content}
|
|
43
|
+
location={mockData.location}
|
|
44
|
+
isFullMode={true}
|
|
45
|
+
globalActions={{ fetchSchemaForEntity }}
|
|
46
|
+
Line={mockData.Line}
|
|
47
|
+
/>
|
|
48
|
+
</Provider>,
|
|
49
|
+
);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
it('should render create mode', () => {
|
|
53
|
+
renderHelper('text');
|
|
54
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
55
|
+
renderHelper('template');
|
|
56
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
57
|
+
});
|
|
58
|
+
});
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
export const mockData = {
|
|
2
|
+
Templates: {
|
|
3
|
+
fetchingUserList: false,
|
|
4
|
+
userList: {
|
|
5
|
+
orgUsers: [
|
|
6
|
+
{
|
|
7
|
+
userId: 15107846,
|
|
8
|
+
firstName: 'SUPER USER',
|
|
9
|
+
lastName: '',
|
|
10
|
+
loginName: '',
|
|
11
|
+
email: '',
|
|
12
|
+
mobile: '',
|
|
13
|
+
isMobileValidated: 0,
|
|
14
|
+
isEmailValidated: 0,
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
capUsers: [
|
|
18
|
+
{
|
|
19
|
+
userId: 4,
|
|
20
|
+
firstName: 'Krishna',
|
|
21
|
+
lastName: 'Mehra',
|
|
22
|
+
loginName: 'kmehra@capillary.co.in',
|
|
23
|
+
email: 'kmehra@capillary.co.in',
|
|
24
|
+
mobile: '918227337383',
|
|
25
|
+
isMobileValidated: 1,
|
|
26
|
+
isEmailValidated: 1,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
userListFetchError: false,
|
|
31
|
+
getAllTemplatesInProgress: false,
|
|
32
|
+
templateError: {},
|
|
33
|
+
templates: [
|
|
34
|
+
{
|
|
35
|
+
_id: '629f7ecf134738019b2e332e',
|
|
36
|
+
name: 'ggg1',
|
|
37
|
+
type: 'LINE',
|
|
38
|
+
versions: {
|
|
39
|
+
$init: true,
|
|
40
|
+
history: [],
|
|
41
|
+
base: {
|
|
42
|
+
content: {
|
|
43
|
+
to: '{{line_id}}',
|
|
44
|
+
messages: [
|
|
45
|
+
{
|
|
46
|
+
type: 'flex',
|
|
47
|
+
altText: 'ggg',
|
|
48
|
+
contents: {
|
|
49
|
+
contents: [
|
|
50
|
+
{
|
|
51
|
+
type: 'bubble',
|
|
52
|
+
hero: {
|
|
53
|
+
type: 'image',
|
|
54
|
+
url: 'https://crm-nightly-new-fileservice.s3.amazonaws.com/intouch_creative_assets/b9f2aa7a-3f1a-4a20-a737-8d50841.jpeg',
|
|
55
|
+
size: 'full',
|
|
56
|
+
aspectRatio: '1:1',
|
|
57
|
+
aspectMode: 'cover',
|
|
58
|
+
},
|
|
59
|
+
footer: {
|
|
60
|
+
type: 'box',
|
|
61
|
+
layout: 'vertical',
|
|
62
|
+
spacing: 'xs',
|
|
63
|
+
contents: [
|
|
64
|
+
{
|
|
65
|
+
type: 'button',
|
|
66
|
+
style: 'link',
|
|
67
|
+
height: 'sm',
|
|
68
|
+
action: {
|
|
69
|
+
type: 'message',
|
|
70
|
+
label: 'ggg',
|
|
71
|
+
text: 'ggg',
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
type: 'carousel',
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
isActive: true,
|
|
86
|
+
orgId: 1604,
|
|
87
|
+
createdBy: '15000449',
|
|
88
|
+
updatedBy: '15000449',
|
|
89
|
+
createdAt: '2022-06-07T16:37:35.447Z',
|
|
90
|
+
updatedAt: '2022-06-07T16:42:02.243Z',
|
|
91
|
+
definition: {
|
|
92
|
+
mode: 'template',
|
|
93
|
+
},
|
|
94
|
+
totalCount: 51,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
_id: '62a810e4d4715c768d6ee9cf',
|
|
98
|
+
name: 'Demo Old Template 2(Multiple images)',
|
|
99
|
+
type: 'LINE',
|
|
100
|
+
versions: {
|
|
101
|
+
$init: true,
|
|
102
|
+
history: [],
|
|
103
|
+
base: {
|
|
104
|
+
content: {
|
|
105
|
+
messages: [
|
|
106
|
+
{
|
|
107
|
+
altText: 'Demo Old Template 2(Multiple images)',
|
|
108
|
+
template: {
|
|
109
|
+
type: 'image_carousel',
|
|
110
|
+
columns: [
|
|
111
|
+
{
|
|
112
|
+
action: {
|
|
113
|
+
uri: 'https://www.demo.com',
|
|
114
|
+
label: 'Demo Old 2',
|
|
115
|
+
type: 'uri',
|
|
116
|
+
},
|
|
117
|
+
imageUrl:
|
|
118
|
+
'https://crm-nightly-new-fileservice.s3.amazonaws.com/intouch_creative_assets/f374edfe-1fd4-4b15-a6f7-74d5d86.jpeg',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
action: {
|
|
122
|
+
text: 'Demo Old Template 2(Multiple images)',
|
|
123
|
+
label: 'Demo Old 2',
|
|
124
|
+
type: 'message',
|
|
125
|
+
},
|
|
126
|
+
imageUrl:
|
|
127
|
+
'https://crm-nightly-new-fileservice.s3.amazonaws.com/intouch_creative_assets/2e32a468-2879-410d-91a5-8dbdcea.jpeg',
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
type: 'template',
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
to: '{{line_id}}',
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
isActive: true,
|
|
139
|
+
orgId: 1604,
|
|
140
|
+
createdBy: '15000449',
|
|
141
|
+
updatedBy: '15000449',
|
|
142
|
+
createdAt: '2022-06-14T04:39:00.665Z',
|
|
143
|
+
updatedAt: '2022-06-14T04:39:00.665Z',
|
|
144
|
+
definition: {
|
|
145
|
+
mode: 'template',
|
|
146
|
+
},
|
|
147
|
+
totalCount: 51,
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
isSearch: false,
|
|
151
|
+
weCRMtemplates: [],
|
|
152
|
+
},
|
|
153
|
+
content: {
|
|
154
|
+
type: 'text',
|
|
155
|
+
isError: true,
|
|
156
|
+
isInit: true,
|
|
157
|
+
},
|
|
158
|
+
Line: {
|
|
159
|
+
createTemplateInProgress: false,
|
|
160
|
+
response: {},
|
|
161
|
+
uploadedAssetData: {},
|
|
162
|
+
},
|
|
163
|
+
location: {
|
|
164
|
+
pathname: '/line',
|
|
165
|
+
query: {
|
|
166
|
+
type: false,
|
|
167
|
+
module: 'default',
|
|
168
|
+
},
|
|
169
|
+
search: '',
|
|
170
|
+
},
|
|
171
|
+
};
|
|
@@ -3,7 +3,7 @@ export const STICKER = 'sticker';
|
|
|
3
3
|
export const IMAGE = 'image';
|
|
4
4
|
export const IMAGE_MAP = 'imagemap';
|
|
5
5
|
export const IMAGE_CAROUSEL = 'image_carousel';
|
|
6
|
-
export const TEMPLATE = '
|
|
6
|
+
export const TEMPLATE = 'flex';
|
|
7
7
|
export const VIDEO = 'video';
|
|
8
8
|
export const MAX_LINE_WRAPPER_LIMIT = 5;
|
|
9
9
|
export const MAX_LINE_WRAPPER_LIMIT_FULL_MODE = 1;
|
|
@@ -393,6 +393,7 @@ export const LineContainer = ({
|
|
|
393
393
|
videoWidth,
|
|
394
394
|
} = {}] = lineWrapperContents;
|
|
395
395
|
let messageData = { type };
|
|
396
|
+
//for type template and not flow
|
|
396
397
|
if (messageType && messageContent) messageData[messageType] = messageContent;
|
|
397
398
|
if (previewImageUrl) {
|
|
398
399
|
messageData.previewImageUrl = previewImageUrl;
|
|
@@ -655,6 +656,7 @@ export const LineContainer = ({
|
|
|
655
656
|
const getPreviewSection = () => {
|
|
656
657
|
const accountName = get(lineData, 'selectedLineAccount.name', '');
|
|
657
658
|
const templateContent = lineWrapperContents.map(({ messageContent, type, previewImageUrl, selectedSticker, baseUrl, template, videoSrc, actionUrl }) => {
|
|
659
|
+
//template.type is image_carousel, for flex only contents will be there
|
|
658
660
|
const isNewLineFormat = template && isEmpty(template.columns) && !isEmpty(template.contents);
|
|
659
661
|
let imageCarousel = [];
|
|
660
662
|
if (isNewLineFormat) {
|