@capillarytech/creatives-library 7.12.41 → 7.12.43

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.
@@ -5,6 +5,7 @@ import { Provider } from 'react-redux';
5
5
  import { mountWithIntl } from '../../../../app/helpers/intl-enzym-test-helpers';
6
6
  import { Whatsapp } from '../index';
7
7
  import { mockData } from './mockData';
8
+ import * as constants from '../constants';
8
9
 
9
10
  let store;
10
11
  beforeAll(() => {
@@ -26,13 +27,10 @@ describe('Creatives Whatsapp test1/>', () => {
26
27
  const params = {
27
28
  id: mockData.editData1.templateDetails._id,
28
29
  };
29
- const editData1 = mockData.editData1;
30
- const editData2 = mockData.editData2;
31
- const editData3 = mockData.editData3;
32
- const editdata4 = mockData.editdata4;
30
+ const { editData1, editData2, editData3, editdata4, editdata5 } = mockData;
33
31
  const accountData = mockData.accountData;
34
32
 
35
- const renderHelper = (args,isFullMode = true) => {
33
+ const renderHelper = (args, isFullMode = true) => {
36
34
  renderedComponent = mountWithIntl(
37
35
  <Provider store={store}>
38
36
  <Whatsapp
@@ -150,69 +148,6 @@ describe('Creatives Whatsapp test1/>', () => {
150
148
  expect(renderedComponent).toMatchSnapshot();
151
149
  });
152
150
 
153
- it('set all valid values and send for approval', () => {
154
- renderHelper({});
155
- let event = { target: { value: 'template_name' } };
156
- createWhatsappTemplate.mockImplementation((obj, callback) => {
157
- callback();
158
- });
159
- const handleClick = jest.spyOn(React, 'useState');
160
- handleClick.mockImplementation((ctaData) => [
161
- ctaData,
162
- [
163
- {
164
- index: 0,
165
- ctaType: 'WEBSITE',
166
- text: 'Visit',
167
- phone_number: '',
168
- urlType: 'STATIC_URL',
169
- url: 'https://www.google.com',
170
- isSaved: true,
171
- },
172
- {
173
- index: 1,
174
- ctaType: 'PHONE_NUMBER',
175
- text: 'Call us',
176
- phone_number: '9112345',
177
- urlType: 'STATIC_URL',
178
- url: '',
179
- isSaved: true,
180
- },
181
- ],
182
- ]);
183
- renderedComponent
184
- .find('#whatsapp_template_name_input')
185
- .at(3)
186
- .simulate('change', event);
187
- renderedComponent
188
- .find('CapSelect#select-whatsapp-category')
189
- .props()
190
- .onChange('APPOINTMENT_UPDATE');
191
- renderedComponent
192
- .find('CapSelect#select-whatsapp-language')
193
- .props()
194
- .onChange('en');
195
- event = { target: { value: 'Hi {{1}}' } };
196
- renderedComponent
197
- .find('TextArea#whatsapp-create-template-message-input')
198
- .at(1)
199
- .simulate('change', event);
200
- event = { target: { checked: true } };
201
- renderedComponent
202
- .find('CapCheckbox.whatsapp-unsubscribe-checkbox')
203
- .props()
204
- .onChange(event);
205
- renderedComponent.update();
206
- event = { target: { value: 'CTA' } };
207
- renderedComponent
208
- .find('CapRadioGroup.whatsapp-btn-radio-group')
209
- .props()
210
- .onChange(event);
211
- renderedComponent.update();
212
- renderedComponent.find('CapButton.whatsapp-create-btn').props().onClick();
213
- expect(renderedComponent).toMatchSnapshot();
214
- });
215
-
216
151
  it('should render edit mode in various cases', () => {
217
152
  let event = { target: { value: '5454', id: '{{1}}_1' } };
218
153
  renderHelper({
@@ -247,20 +182,68 @@ describe('Creatives Whatsapp test1/>', () => {
247
182
  .at(1)
248
183
  .simulate('change', event);
249
184
  expect(renderedComponent).toMatchSnapshot();
250
- renderHelper({
251
- params,
252
- templateData: editdata4,
253
- isEditFlow: true,
254
- loadingTags: false,
255
- },false);
185
+ renderHelper(
186
+ {
187
+ params,
188
+ templateData: editdata4,
189
+ isEditFlow: true,
190
+ loadingTags: false,
191
+ },
192
+ false,
193
+ );
256
194
  expect(renderedComponent).toMatchSnapshot();
257
195
  renderedComponent.find('CapButton.whatsapp-create-btn').props().onClick();
258
196
  });
197
+
198
+ it('test addVariable in create mode', () => {
199
+ renderHelper({});
200
+ renderedComponent.find('CapHeader').at(1).props().suffix.props.onClick();
201
+ expect(renderedComponent).toMatchSnapshot();
202
+ });
203
+
204
+ it('add cta', () => {
205
+ renderHelper({});
206
+ let event = { target: { value: 'CTA' } };
207
+ renderedComponent
208
+ .find('CapRadioGroup.whatsapp-btn-radio-group')
209
+ .props()
210
+ .onChange(event);
211
+ expect(renderedComponent).toMatchSnapshot();
212
+ });
213
+ it('check unsubscribe', () => {
214
+ renderHelper({});
215
+ let event = { target: { checked: true } };
216
+ renderedComponent
217
+ .find('CapCheckbox.whatsapp-unsubscribe-checkbox')
218
+ .props()
219
+ .onChange(event);
220
+ renderedComponent.update();
221
+ expect(
222
+ renderedComponent
223
+ .find('CapCheckbox.whatsapp-unsubscribe-checkbox')
224
+ .props().checked,
225
+ ).toBe(true);
226
+ expect(renderedComponent).toMatchSnapshot();
227
+ });
228
+ it('should render edit mode in various cases', () => {
229
+ renderHelper(
230
+ {
231
+ params,
232
+ templateData: editdata5,
233
+ isEditFlow: true,
234
+ loadingTags: false,
235
+ },
236
+ false,
237
+ );
238
+ renderedComponent.update();
239
+ expect(renderedComponent).toMatchSnapshot();
240
+ });
259
241
  });
260
242
 
261
243
  describe('Creatives Whatsapp test2/>', () => {
262
244
  let renderedComponent;
263
245
  const createWhatsappTemplate = jest.fn();
246
+ const getFormData = jest.fn();
264
247
  const clearCreateResponse = jest.fn();
265
248
  const getTemplateDetails = jest.fn();
266
249
  const resetEditTemplate = jest.fn();
@@ -272,13 +255,10 @@ describe('Creatives Whatsapp test2/>', () => {
272
255
  const params = {
273
256
  id: mockData.editData1.templateDetails._id,
274
257
  };
275
- const editData1 = mockData.editData1;
276
- const editData2 = mockData.editData2;
277
- const editData3 = mockData.editData3;
278
- const editdata4 = mockData.editdata4;
258
+ const { editData1, editData2, editData3, editdata4, editdata5 } = mockData;
279
259
  const accountData = mockData.accountData;
280
260
 
281
- const renderHelper = (args,isFullMode = true) => {
261
+ const renderHelper = (args, isFullMode = true) => {
282
262
  renderedComponent = mountWithIntl(
283
263
  <Provider store={store}>
284
264
  <Whatsapp
@@ -291,8 +271,10 @@ describe('Creatives Whatsapp test2/>', () => {
291
271
  globalActions={{ fetchSchemaForEntity }}
292
272
  onCreateComplete={onCreateComplete}
293
273
  handleClose={handleClose}
274
+ getFormData={getFormData}
294
275
  params={args.params}
295
276
  editData={args.editData}
277
+ templateData={args.templateData}
296
278
  accountData={accountData}
297
279
  location={location}
298
280
  intl={{ formatMessage }}
@@ -306,34 +288,154 @@ describe('Creatives Whatsapp test2/>', () => {
306
288
  );
307
289
  };
308
290
 
309
- it('test addVariable in create mode', () => {
291
+ it('set all valid values and send for approval 1', () => {
292
+ constants.INITIAL_CTA_DATA = [];
310
293
  renderHelper({});
311
- renderedComponent.find('CapHeader').at(1).props().suffix.props.onClick();
294
+ let event = { target: { value: 'template_name' } };
295
+ createWhatsappTemplate.mockImplementation((obj, callback) => {
296
+ callback();
297
+ });
298
+
299
+ renderedComponent
300
+ .find('#whatsapp_template_name_input')
301
+ .at(3)
302
+ .simulate('change', event);
303
+ renderedComponent
304
+ .find('CapSelect#select-whatsapp-category')
305
+ .props()
306
+ .onChange('APPOINTMENT_UPDATE');
307
+ renderedComponent
308
+ .find('CapSelect#select-whatsapp-language')
309
+ .props()
310
+ .onChange('en');
311
+ event = { target: { value: 'Hi {{1}}' } };
312
+ renderedComponent
313
+ .find('TextArea#whatsapp-create-template-message-input')
314
+ .at(1)
315
+ .simulate('change', event);
316
+ event = { target: { checked: true } };
317
+ renderedComponent
318
+ .find('CapCheckbox.whatsapp-unsubscribe-checkbox')
319
+ .props()
320
+ .onChange(event);
321
+ renderedComponent.update();
322
+ event = { target: { value: 'CTA' } };
323
+ renderedComponent
324
+ .find('CapRadioGroup.whatsapp-btn-radio-group')
325
+ .props()
326
+ .onChange(event);
327
+ renderedComponent.update();
312
328
  expect(renderedComponent).toMatchSnapshot();
313
329
  });
314
330
 
315
- it('add cta', () => {
331
+ it('set all valid values and send for approval 2', () => {
332
+ constants.INITIAL_CTA_DATA = [
333
+ {
334
+ index: 0,
335
+ ctaType: 'WEBSITE',
336
+ text: 'Visit',
337
+ phone_number: '',
338
+ urlType: 'STATIC_URL',
339
+ url: 'https://www.google.com',
340
+ isSaved: true,
341
+ },
342
+ ];
316
343
  renderHelper({});
317
- let event = { target: { value: 'CTA' } };
344
+ let event = { target: { value: 'template_name' } };
345
+ createWhatsappTemplate.mockImplementation((obj, callback) => {
346
+ callback();
347
+ });
348
+
349
+ renderedComponent
350
+ .find('#whatsapp_template_name_input')
351
+ .at(3)
352
+ .simulate('change', event);
353
+ renderedComponent
354
+ .find('CapSelect#select-whatsapp-category')
355
+ .props()
356
+ .onChange('APPOINTMENT_UPDATE');
357
+ renderedComponent
358
+ .find('CapSelect#select-whatsapp-language')
359
+ .props()
360
+ .onChange('en');
361
+ event = { target: { value: 'Hi {{1}}' } };
362
+ renderedComponent
363
+ .find('TextArea#whatsapp-create-template-message-input')
364
+ .at(1)
365
+ .simulate('change', event);
366
+ event = { target: { checked: true } };
367
+ renderedComponent
368
+ .find('CapCheckbox.whatsapp-unsubscribe-checkbox')
369
+ .props()
370
+ .onChange(event);
371
+ renderedComponent.update();
372
+ event = { target: { value: 'CTA' } };
318
373
  renderedComponent
319
374
  .find('CapRadioGroup.whatsapp-btn-radio-group')
320
375
  .props()
321
376
  .onChange(event);
377
+ renderedComponent.update();
378
+ renderedComponent.find('CapButton.whatsapp-create-btn').props().onClick();
322
379
  expect(renderedComponent).toMatchSnapshot();
323
380
  });
324
- it('check unsubscribe', () => {
381
+
382
+ it('set all valid values and send for approval 3', () => {
383
+ constants.INITIAL_CTA_DATA = [
384
+ {
385
+ index: 0,
386
+ ctaType: 'WEBSITE',
387
+ text: 'Visit',
388
+ phone_number: '',
389
+ urlType: 'STATIC_URL',
390
+ url: 'https://www.google.com',
391
+ isSaved: true,
392
+ },
393
+ {
394
+ index: 1,
395
+ ctaType: 'PHONE_NUMBER',
396
+ text: 'Call us',
397
+ phone_number: '9112345',
398
+ urlType: 'STATIC_URL',
399
+ url: '',
400
+ isSaved: true,
401
+ },
402
+ ];
325
403
  renderHelper({});
326
- let event = { target: { checked: true } };
404
+ let event = { target: { value: 'template_name' } };
405
+ createWhatsappTemplate.mockImplementation((obj, callback) => {
406
+ callback();
407
+ });
408
+
409
+ renderedComponent
410
+ .find('#whatsapp_template_name_input')
411
+ .at(3)
412
+ .simulate('change', event);
413
+ renderedComponent
414
+ .find('CapSelect#select-whatsapp-category')
415
+ .props()
416
+ .onChange('APPOINTMENT_UPDATE');
417
+ renderedComponent
418
+ .find('CapSelect#select-whatsapp-language')
419
+ .props()
420
+ .onChange('en');
421
+ event = { target: { value: 'Hi {{1}}' } };
422
+ renderedComponent
423
+ .find('TextArea#whatsapp-create-template-message-input')
424
+ .at(1)
425
+ .simulate('change', event);
426
+ event = { target: { checked: true } };
327
427
  renderedComponent
328
428
  .find('CapCheckbox.whatsapp-unsubscribe-checkbox')
329
429
  .props()
330
430
  .onChange(event);
331
431
  renderedComponent.update();
332
- expect(
333
- renderedComponent
334
- .find('CapCheckbox.whatsapp-unsubscribe-checkbox')
335
- .props().checked,
336
- ).toBe(true);
432
+ event = { target: { value: 'CTA' } };
433
+ renderedComponent
434
+ .find('CapRadioGroup.whatsapp-btn-radio-group')
435
+ .props()
436
+ .onChange(event);
437
+ renderedComponent.update();
438
+ renderedComponent.find('CapButton.whatsapp-create-btn').props().onClick();
337
439
  expect(renderedComponent).toMatchSnapshot();
338
440
  });
339
441
  });
@@ -179,6 +179,42 @@ export const mockData = {
179
179
  },
180
180
  },
181
181
  },
182
+ editdata5: {
183
+ _id: '62988c2f7d11ed69168252a6',
184
+ type: 'WHATSAPP',
185
+ edit: true,
186
+ name: 'test_206',
187
+ versions: {
188
+ base: {
189
+ content: {
190
+ whatsapp: {
191
+ status: 'approved',
192
+ category: 'ALERT_UPDATE',
193
+ varMapped: {
194
+ '{{1}}_1': '50',
195
+ },
196
+ mediaType: 'TEXT',
197
+ buttonType: 'CTA',
198
+ buttons: [
199
+ {
200
+ index: 0,
201
+ type: 'STATIC_URL',
202
+ text: 'More info',
203
+ url: 'https://fast.com/',
204
+ },
205
+ ],
206
+ languages: [
207
+ {
208
+ language: 'en',
209
+ content:
210
+ 'You have received {{1}} points Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test TestTest Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test TestTest Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test TestTest Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test TestTest Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test TestTest Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test TestTest Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test TestTest Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test',
211
+ },
212
+ ],
213
+ },
214
+ },
215
+ },
216
+ },
217
+ },
182
218
  location: {
183
219
  pathname: '/whatsapp/edit',
184
220
  query: {
@@ -1191,6 +1191,14 @@ export default {
1191
1191
  channel: 'RCS',
1192
1192
  validity: true,
1193
1193
  },
1194
+ lineEditTemplateData: {
1195
+ mode: 'edit',
1196
+ _id: '629f7ecf134738019b2e332e',
1197
+ modeType: '',
1198
+ type: 'LINE',
1199
+ channel: 'LINE',
1200
+ validity: true,
1201
+ },
1194
1202
  getWhatsappContentOutput: '1234567890\nClick {{unsubscribe}} to unsubscribe',
1195
1203
  getWhatsappStatusOutput: {
1196
1204
  key: 'approved',
@@ -1422,4 +1430,64 @@ export default {
1422
1430
  language: {
1423
1431
  localeLoading: false,
1424
1432
  },
1433
+ linePreviewTemplateData: {
1434
+ mode: 'preview',
1435
+ _id: '629f7ecf134738019b2e332e',
1436
+ name: 'ggg1',
1437
+ type: 'LINE',
1438
+ versions: {
1439
+ history: [],
1440
+ base: {
1441
+ content: {
1442
+ to: '{{line_id}}',
1443
+ messages: [
1444
+ {
1445
+ type: 'flex',
1446
+ altText: 'ggg',
1447
+ contents: {
1448
+ contents: [
1449
+ {
1450
+ type: 'bubble',
1451
+ hero: {
1452
+ type: 'image',
1453
+ url: 'https://crm-nightly-new-fileservice.s3.amazonaws.com/intouch_creative_assets/b9f2aa7a-3f1a-4a20-a737-8d50841.jpeg',
1454
+ size: 'full',
1455
+ aspectRatio: '1:1',
1456
+ aspectMode: 'cover',
1457
+ },
1458
+ footer: {
1459
+ type: 'box',
1460
+ layout: 'vertical',
1461
+ spacing: 'xs',
1462
+ contents: [
1463
+ {
1464
+ type: 'button',
1465
+ style: 'link',
1466
+ height: 'sm',
1467
+ action: {
1468
+ type: 'message',
1469
+ label: 'ggg',
1470
+ text: 'ggg',
1471
+ },
1472
+ },
1473
+ ],
1474
+ },
1475
+ },
1476
+ ],
1477
+ type: "carousel",
1478
+ },
1479
+ },
1480
+ ],
1481
+ },
1482
+ },
1483
+ },
1484
+ isActive: true,
1485
+ orgId: 1604,
1486
+ createdBy: '15000449',
1487
+ updatedBy: '15000449',
1488
+ createdAt: '2022-06-07T16:37:35.447Z',
1489
+ updatedAt: '2022-06-07T16:42:02.243Z',
1490
+ totalCount: 31,
1491
+ updatedByName: 'Ashish Karan fd',
1492
+ },
1425
1493
  };