@capillarytech/creatives-library 7.12.66 → 7.12.68

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.
Files changed (29) hide show
  1. package/package.json +1 -1
  2. package/services/tests/api.test.js +26 -0
  3. package/v2Components/CapImageUpload/index.js +4 -4
  4. package/v2Components/CapWhatsappCTA/index.js +12 -6
  5. package/v2Components/CapWhatsappCTA/index.scss +1 -0
  6. package/v2Components/CapWhatsappCTA/tests/index.test.js +11 -8
  7. package/v2Components/TemplatePreview/tests/__snapshots__/index.test.js.snap +13 -6
  8. package/v2Components/TemplatePreview/tests/index.test.js +5 -3
  9. package/v2Components/WhatsappStatusContainer/tests/__snapshots__/index.test.js.snap +55 -2
  10. package/v2Components/WhatsappStatusContainer/tests/index.test.js +8 -4
  11. package/v2Components/mockdata.js +94 -37
  12. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +27 -25
  13. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +3 -3
  14. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +76 -3
  15. package/v2Containers/CreativesContainer/tests/index.test.js +26 -12
  16. package/v2Containers/Templates/_templates.scss +20 -0
  17. package/v2Containers/Templates/index.js +15 -5
  18. package/v2Containers/Templates/sagas.js +1 -1
  19. package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +39 -265
  20. package/v2Containers/Templates/tests/index.test.js +35 -25
  21. package/v2Containers/Whatsapp/index.js +10 -3
  22. package/v2Containers/Whatsapp/messages.js +3 -3
  23. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +61515 -5150
  24. package/v2Containers/Whatsapp/tests/__snapshots__/utils.test.js.snap +28 -21
  25. package/v2Containers/Whatsapp/tests/index.test.js +18 -4
  26. package/v2Containers/Whatsapp/tests/mockData.js +15 -1
  27. package/v2Containers/Whatsapp/tests/utils.test.js +11 -5
  28. package/v2Containers/Whatsapp/utils.js +3 -4
  29. package/v2Containers/mockdata.js +262 -227
@@ -6,12 +6,15 @@ import mockdata from '../../mockdata';
6
6
 
7
7
  const { whatsappTemplates: TemplatesProp, getCreativesParamsOutput } = mockdata;
8
8
 
9
- jest.mock("../../CreativesContainer", () => ({
9
+ jest.mock('../../CreativesContainer', () => ({
10
10
  __esModule: true,
11
- default: (props) => <div className="creatives-container-mock" {...props}>CreativesContainer</div>,
11
+ default: (props) => (
12
+ <div className="creatives-container-mock" {...props}>
13
+ CreativesContainer
14
+ </div>
15
+ ),
12
16
  }));
13
17
 
14
-
15
18
  describe('Test Templates container', () => {
16
19
  const getWeCrmAccounts = jest.fn();
17
20
  const setChannelAccount = jest.fn();
@@ -39,7 +42,7 @@ describe('Test Templates container', () => {
39
42
  getSenderDetails,
40
43
  }}
41
44
  location={{
42
- pathname: "/whatsapp",
45
+ pathname: '/whatsapp',
43
46
  query: {},
44
47
  search: '',
45
48
  }}
@@ -50,14 +53,13 @@ describe('Test Templates container', () => {
50
53
  intl={{
51
54
  formatMessage: () => {},
52
55
  }}
53
- />
56
+ />,
54
57
  );
55
58
  };
56
59
 
57
60
  it('Should render correct component for whatsapp channel', () => {
58
61
  renderFunction();
59
62
  expect(renderedComponent).toMatchSnapshot();
60
-
61
63
  expect(getSenderDetails).toHaveBeenCalledTimes(1);
62
64
  expect(getSenderDetails).toHaveBeenCalledWith({
63
65
  channel: 'WHATSAPP',
@@ -65,54 +67,56 @@ describe('Test Templates container', () => {
65
67
  });
66
68
  });
67
69
 
68
-
69
70
  it('Should render temlates when whatsapp templates are passed', () => {
70
71
  renderFunction();
71
- renderedComponent.setProps({TemplatesList: TemplatesProp.templates});
72
+ renderedComponent.setProps({ TemplatesList: TemplatesProp.templates });
72
73
  expect(renderedComponent).toMatchSnapshot();
73
74
  });
74
75
 
75
-
76
76
  it('Should render illustration when no templates are passed', () => {
77
77
  renderFunction();
78
- renderedComponent.setProps({TemplatesList: []});
78
+ renderedComponent.setProps({
79
+ TemplatesList: [],
80
+ Templates: {},
81
+ });
79
82
  expect(renderedComponent).toMatchSnapshot();
80
83
  });
81
84
 
82
85
  it('Should render temlates when whatsapp templates are passed in full mode', () => {
83
86
  renderFunction(true);
84
- renderedComponent.setProps({TemplatesList: TemplatesProp.templates});
85
- renderedComponent.setState({selectedWhatsappStatus: 'approved'});
87
+ renderedComponent.setProps({ TemplatesList: TemplatesProp.templates });
88
+ renderedComponent.setState({ selectedWhatsappStatus: 'approved' });
86
89
  expect(renderedComponent).toMatchSnapshot();
87
90
  });
88
91
 
89
92
  it('Test getCreatives params in edit mode', () => {
90
93
  renderFunction();
91
- renderedComponent.setProps({TemplatesList: TemplatesProp.templates});
92
- renderedComponent.setState({routeParams: { pathname: '/edit'}});
93
- expect(renderedComponent.instance().getCreativesParams()).toEqual(getCreativesParamsOutput);
94
+ renderedComponent.setProps({ TemplatesList: TemplatesProp.templates });
95
+ renderedComponent.setState({ routeParams: { pathname: '/edit' } });
96
+ expect(renderedComponent.instance().getCreativesParams()).toEqual(
97
+ getCreativesParamsOutput,
98
+ );
94
99
  });
95
100
 
96
101
  const getFilterContainer = () => {
97
102
  const FilterContainer = () =>
98
- renderedComponent.find(".selected-whatsapp-filters").props().children;
103
+ renderedComponent.find('.selected-whatsapp-filters').props().children;
99
104
  return shallowWithIntl(<FilterContainer />);
100
105
  };
101
106
  it('Test removing single filter', () => {
102
107
  renderFunction();
103
- renderedComponent.setProps({TemplatesList: TemplatesProp.templates});
104
- renderedComponent.setState({selectedWhatsappStatus: 'approved'});
108
+ renderedComponent.setProps({ TemplatesList: TemplatesProp.templates });
109
+ renderedComponent.setState({ selectedWhatsappStatus: 'approved' });
105
110
  getFilterContainer().find('CapTag').props().onClose();
106
111
  expect(renderedComponent).toMatchSnapshot();
107
112
  });
108
113
 
109
-
110
114
  it('Test removing all whatsapp filterss', () => {
111
115
  renderFunction();
112
- renderedComponent.setProps({TemplatesList: TemplatesProp.templates});
116
+ renderedComponent.setProps({ TemplatesList: TemplatesProp.templates });
113
117
 
114
- renderedComponent.setState({selectedWhatsappStatus: 'approved'});
115
- renderedComponent.setState({selectedWhatsappCategory: 'ALERT_UPDATE'});
118
+ renderedComponent.setState({ selectedWhatsappStatus: 'approved' });
119
+ renderedComponent.setState({ selectedWhatsappCategory: 'ALERT_UPDATE' });
116
120
  expect(renderedComponent).toMatchSnapshot();
117
121
 
118
122
  //remove all filters
@@ -122,19 +126,25 @@ describe('Test Templates container', () => {
122
126
 
123
127
  it('Test max templates not exceeded', () => {
124
128
  renderFunction(true);
125
- renderedComponent.setProps({TemplatesList: [{ ...TemplatesProp.templates[0], totalCount: 260 }]});
129
+ renderedComponent.setProps({
130
+ TemplatesList: [{ ...TemplatesProp.templates[0], totalCount: 260 }],
131
+ });
126
132
  expect(renderedComponent).toMatchSnapshot();
127
133
  });
128
134
 
129
135
  it('Test max templates exceeded', () => {
130
136
  renderFunction(true);
131
- renderedComponent.setProps({TemplatesList: [{ ...TemplatesProp.templates[0], totalCount: 1510 }]});
137
+ renderedComponent.setProps({
138
+ TemplatesList: [{ ...TemplatesProp.templates[0], totalCount: 1510 }],
139
+ });
132
140
  expect(renderedComponent).toMatchSnapshot();
133
141
  });
134
142
 
135
143
  it('Test max templates warning', () => {
136
144
  renderFunction(true);
137
- renderedComponent.setProps({TemplatesList: [{ ...TemplatesProp.templates[0], totalCount: 248 }]});
145
+ renderedComponent.setProps({
146
+ TemplatesList: [{ ...TemplatesProp.templates[0], totalCount: 248 }],
147
+ });
138
148
  expect(renderedComponent).toMatchSnapshot();
139
149
  });
140
150
  });
@@ -1373,7 +1373,7 @@ export const Whatsapp = (props) => {
1373
1373
  <CapTooltip
1374
1374
  title={
1375
1375
  isDisableDone()
1376
- ? formatMessage(messages.sendForApprovalToolTip)
1376
+ ? formatMessage(messages.btnDisabledTooltip)
1377
1377
  : ''
1378
1378
  }
1379
1379
  placement={'right'}
@@ -1398,7 +1398,14 @@ export const Whatsapp = (props) => {
1398
1398
  </>
1399
1399
  )}
1400
1400
  {!isFullMode && isEditFlow && (
1401
- <>
1401
+ <CapTooltip
1402
+ title={
1403
+ isEditDoneDisabled()
1404
+ ? formatMessage(messages.btnDisabledTooltip)
1405
+ : ''
1406
+ }
1407
+ placement={'right'}
1408
+ >
1402
1409
  <CapButton
1403
1410
  onClick={saveToMessage}
1404
1411
  disabled={isEditDoneDisabled()}
@@ -1406,7 +1413,7 @@ export const Whatsapp = (props) => {
1406
1413
  >
1407
1414
  <FormattedMessage {...globalMessages.done} />
1408
1415
  </CapButton>
1409
- </>
1416
+ </CapTooltip>
1410
1417
  )}
1411
1418
  </WhatsappFooter>
1412
1419
  </CapSpin>
@@ -185,8 +185,8 @@ export default defineMessages({
185
185
  id: `${prefix}.sendForApprovalButtonLabel`,
186
186
  defaultMessage: 'Send for approval',
187
187
  },
188
- sendForApprovalToolTip: {
189
- id: `${prefix}.sendForApprovalToolTip`,
188
+ btnDisabledTooltip: {
189
+ id: `${prefix}.btnDisabledTooltip`,
190
190
  defaultMessage: 'Please add all mandatory fields to proceed further',
191
191
  },
192
192
  cancelButtonLabel: {
@@ -286,7 +286,7 @@ export default defineMessages({
286
286
  },
287
287
  btnTypeQuickReply: {
288
288
  id: `${prefix}.btnTypeQuickReply`,
289
- defaultMessage: 'Quik reply',
289
+ defaultMessage: 'Quick reply',
290
290
  },
291
291
  quickReplyDesc: {
292
292
  id: `${prefix}.quickReplyDesc`,