awing-library 2.1.231-dev → 2.1.233-dev
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/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.js +1 -19
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.js +230 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +1 -1
- package/package.json +1 -1
|
@@ -24,7 +24,6 @@ var lodash_1 = __importDefault(require("lodash"));
|
|
|
24
24
|
var Helpers_1 = require("../../../../Utils/Helpers");
|
|
25
25
|
var Router_1 = require("../../../../AWING/Router");
|
|
26
26
|
var atoms_1 = require("../TabSubCampaign/atoms");
|
|
27
|
-
var icons_material_1 = require("@mui/icons-material");
|
|
28
27
|
var RunInBackground = function () {
|
|
29
28
|
var campaignId = (0, Router_1.useParams)().campaignId;
|
|
30
29
|
var subCampaigns = (0, recoil_1.useRecoilValue)(Recoils_1.campaignGroupsState);
|
|
@@ -244,20 +243,6 @@ var RunInBackground = function () {
|
|
|
244
243
|
service.domainsGetByIds(ids).then(setDomains);
|
|
245
244
|
}
|
|
246
245
|
}, [service.domainsGetByIds, setDomains]);
|
|
247
|
-
var dataDiff = function (apiData, currentData) {
|
|
248
|
-
var mergedData = currentData.map(function (currentItem) {
|
|
249
|
-
var matchingApiItem = apiData.find(function (apiItem) {
|
|
250
|
-
return apiItem.domainId === currentItem.domainId &&
|
|
251
|
-
apiItem.campaignGroupId === currentItem.campaignGroupId &&
|
|
252
|
-
apiItem.campaignAdId === currentItem.campaignAdId;
|
|
253
|
-
});
|
|
254
|
-
if (matchingApiItem) {
|
|
255
|
-
return __assign(__assign({}, currentItem), { status: matchingApiItem.status });
|
|
256
|
-
}
|
|
257
|
-
return currentItem;
|
|
258
|
-
});
|
|
259
|
-
return mergedData;
|
|
260
|
-
};
|
|
261
246
|
var campaignApprovalMerged = function (oldData, newData) {
|
|
262
247
|
return newData.map(function (newItem) {
|
|
263
248
|
var newDomainId = newItem.domain.domainId;
|
|
@@ -279,12 +264,9 @@ var RunInBackground = function () {
|
|
|
279
264
|
};
|
|
280
265
|
(0, react_1.useEffect)(function () {
|
|
281
266
|
if (!Boolean(service.attributesGetByObjectTypeCode))
|
|
282
|
-
|
|
267
|
+
return undefined;
|
|
283
268
|
if (!domains.length)
|
|
284
269
|
return setCampaignApprovalTable([]);
|
|
285
|
-
// if (campaignApproval?.length) {
|
|
286
|
-
// return setCampaignApprovalTable(unflattenData(campaignApproval))
|
|
287
|
-
// }
|
|
288
270
|
if (areAllTrue(subCampaignDetailValid) &&
|
|
289
271
|
areAllTrue(subCampaignAdsValid)) {
|
|
290
272
|
var data = domains.map(function (domain) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
43
|
+
var react_1 = require("@testing-library/react");
|
|
44
|
+
var RunInBackground_1 = __importDefault(require("./RunInBackground"));
|
|
45
|
+
var recoil_1 = require("recoil");
|
|
46
|
+
var Router_1 = require("../../../../AWING/Router");
|
|
47
|
+
var Recoils_1 = require("../Recoils");
|
|
48
|
+
var mockSetCampaign = {
|
|
49
|
+
campaign: {
|
|
50
|
+
id: '5651975304736390227',
|
|
51
|
+
directoryId: '5',
|
|
52
|
+
directoryPath: '.0.5.5651975304736390227.',
|
|
53
|
+
name: 'Tester',
|
|
54
|
+
createdDate: {
|
|
55
|
+
seconds: '1728880372',
|
|
56
|
+
nanos: 0,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
campaignGroups: [
|
|
60
|
+
{
|
|
61
|
+
campaignGroup: {
|
|
62
|
+
numberHasRun: 0,
|
|
63
|
+
id: 1,
|
|
64
|
+
campaignId: '5651975304736390227',
|
|
65
|
+
name: 'Sub-Campaign 1',
|
|
66
|
+
status: 2,
|
|
67
|
+
priority: 1,
|
|
68
|
+
bookingAmount: 10,
|
|
69
|
+
bonusAmount: 0,
|
|
70
|
+
billingUnit: 1,
|
|
71
|
+
},
|
|
72
|
+
ads: [
|
|
73
|
+
{
|
|
74
|
+
loginPage: {
|
|
75
|
+
pageId: '5122170857262705548',
|
|
76
|
+
directoryId: '12',
|
|
77
|
+
pageCode: 'lgn',
|
|
78
|
+
title: 'THACO_KIA_T7/24',
|
|
79
|
+
layoutId: '0',
|
|
80
|
+
transitionId: 0,
|
|
81
|
+
commonHtml: '',
|
|
82
|
+
directoryPath: '.0.6.12.5122170857262705548.',
|
|
83
|
+
createdDate: {
|
|
84
|
+
seconds: '1721031117',
|
|
85
|
+
nanos: 0,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
welcomePage: {
|
|
89
|
+
pageId: '4841207366749869113',
|
|
90
|
+
directoryId: '11',
|
|
91
|
+
pageCode: 'wlc',
|
|
92
|
+
title: 'THACO_KIA_T7/24',
|
|
93
|
+
layoutId: '0',
|
|
94
|
+
transitionId: 0,
|
|
95
|
+
commonHtml: '',
|
|
96
|
+
directoryPath: '.0.6.11.4841207366749869113.',
|
|
97
|
+
createdDate: {
|
|
98
|
+
seconds: '1721031168',
|
|
99
|
+
nanos: 0,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
places: [
|
|
103
|
+
{
|
|
104
|
+
placeId: '4719552610781237542',
|
|
105
|
+
domainId: '4657799247747765382',
|
|
106
|
+
name: 'VINBUS_PQ_68F-011.35',
|
|
107
|
+
address: 'Khu bãi dài, xã Gành dầu, TP. Phú Quốc, T. Kiên Giang',
|
|
108
|
+
description: '',
|
|
109
|
+
longitude: 103.84858,
|
|
110
|
+
latitude: 10.3380303,
|
|
111
|
+
communeCode: '31087',
|
|
112
|
+
districtCode: '911',
|
|
113
|
+
provinceCode: '91',
|
|
114
|
+
status: 0,
|
|
115
|
+
joinedDate: {
|
|
116
|
+
seconds: '1687167517',
|
|
117
|
+
nanos: 0,
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
id: 1,
|
|
122
|
+
campaignId: '5651975304736390227',
|
|
123
|
+
campaignGroupId: 1,
|
|
124
|
+
name: 'Tester',
|
|
125
|
+
status: true,
|
|
126
|
+
type: 1,
|
|
127
|
+
loginId: '5122170857262705548',
|
|
128
|
+
welcomeId: '4841207366749869113',
|
|
129
|
+
startDate: {
|
|
130
|
+
seconds: '1728838800',
|
|
131
|
+
nanos: 0,
|
|
132
|
+
},
|
|
133
|
+
endDate: {
|
|
134
|
+
seconds: '1728838800',
|
|
135
|
+
nanos: 0,
|
|
136
|
+
},
|
|
137
|
+
placeFilter: {
|
|
138
|
+
operandGroups: [
|
|
139
|
+
{
|
|
140
|
+
operands: [
|
|
141
|
+
{
|
|
142
|
+
type: 2,
|
|
143
|
+
operator: 7,
|
|
144
|
+
value: '["4657799247747765382"]',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: 0,
|
|
148
|
+
operator: 7,
|
|
149
|
+
value: '["4719552610781237542"]',
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
weights: [],
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
campaignAttributes: [
|
|
161
|
+
{
|
|
162
|
+
campaignId: '5651975304736390227',
|
|
163
|
+
attributeId: 1,
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
campaignApprovals: [
|
|
167
|
+
{
|
|
168
|
+
id: 248,
|
|
169
|
+
campaignId: '5651975304736390227',
|
|
170
|
+
domainId: '4657799247747765382',
|
|
171
|
+
campaignGroupId: 1,
|
|
172
|
+
campaignAdId: 1,
|
|
173
|
+
status: 0,
|
|
174
|
+
loginId: '5122170857262705548',
|
|
175
|
+
welcomeId: '4841207366749869113',
|
|
176
|
+
description: '',
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
};
|
|
180
|
+
var campaignId = '5651975304736390227';
|
|
181
|
+
var mockDomain = [
|
|
182
|
+
{
|
|
183
|
+
domainId: '4657799247747765382',
|
|
184
|
+
name: 'Vinbus',
|
|
185
|
+
rateSharing: 100,
|
|
186
|
+
description: 'Vinbus',
|
|
187
|
+
shareType: 0,
|
|
188
|
+
type: null,
|
|
189
|
+
},
|
|
190
|
+
];
|
|
191
|
+
var mockCLientMethod = {
|
|
192
|
+
domainsGetByIds: function (_id) { return Promise.resolve(mockDomain); },
|
|
193
|
+
attributesGetByObjectTypeCode: function (_objectTypeCode) { return Promise.resolve([]); },
|
|
194
|
+
};
|
|
195
|
+
// Mock Hooks
|
|
196
|
+
jest.mock('ACM-AXN/Campaign/Hooks', function () { return ({
|
|
197
|
+
__esModule: true,
|
|
198
|
+
default: function () { return ({
|
|
199
|
+
service: {
|
|
200
|
+
domainsGetByIds: jest.fn(mockCLientMethod.domainsGetByIds),
|
|
201
|
+
attributesGetByObjectTypeCode: jest.fn(mockCLientMethod.attributesGetByObjectTypeCode),
|
|
202
|
+
},
|
|
203
|
+
}); },
|
|
204
|
+
}); });
|
|
205
|
+
var renderUi = function () {
|
|
206
|
+
var initializeState = function (_a) {
|
|
207
|
+
var set = _a.set;
|
|
208
|
+
set(Recoils_1.campaignModelState, mockSetCampaign);
|
|
209
|
+
};
|
|
210
|
+
return (0, react_1.render)((0, jsx_runtime_1.jsx)(recoil_1.RecoilRoot, { initializeState: initializeState, children: (0, jsx_runtime_1.jsx)(Router_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(RunInBackground_1.default, {}) }) }));
|
|
211
|
+
};
|
|
212
|
+
describe('RunInBackground Component', function () {
|
|
213
|
+
it('should render without crashing', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
214
|
+
var spy;
|
|
215
|
+
return __generator(this, function (_a) {
|
|
216
|
+
switch (_a.label) {
|
|
217
|
+
case 0:
|
|
218
|
+
spy = jest.spyOn(mockCLientMethod, 'domainsGetByIds');
|
|
219
|
+
return [4 /*yield*/, (0, react_1.act)(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
220
|
+
return [2 /*return*/, renderUi()];
|
|
221
|
+
}); }); })];
|
|
222
|
+
case 1:
|
|
223
|
+
_a.sent();
|
|
224
|
+
expect(spy).toBeCalledTimes(1);
|
|
225
|
+
expect(spy).toBeCalledWith(['4657799247747765382']);
|
|
226
|
+
return [2 /*return*/];
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
}); });
|
|
230
|
+
});
|
|
@@ -342,7 +342,7 @@ var CreateOrEdit = function (props) {
|
|
|
342
342
|
type: props.type,
|
|
343
343
|
}), tabsList.map(function (tab, idx) {
|
|
344
344
|
return idx !== 0 && ((0, jsx_runtime_1.jsx)(lab_1.TabPanel, { sx: { padding: '0' }, value: String(idx), children: tab.component }, idx));
|
|
345
|
-
})] })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: tabsList.map(function (tab, idx) { return ((0, jsx_runtime_1.jsx)(lab_1.TabPanel, { sx: { padding: '0' }, value: String(idx), children: tab.component }, idx)); }) }))] }), (0, jsx_runtime_1.jsx)(RunInBackground_1.default, {})] })) }) }));
|
|
345
|
+
})] })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: tabsList.map(function (tab, idx) { return ((0, jsx_runtime_1.jsx)(lab_1.TabPanel, { sx: { padding: '0' }, value: String(idx), children: tab.component }, idx)); }) }))] }), Boolean(service.attributesGetByObjectTypeCode) && (0, jsx_runtime_1.jsx)(RunInBackground_1.default, {})] })) }) }));
|
|
346
346
|
};
|
|
347
347
|
// eslint-disable-next-line import/no-anonymous-default-export
|
|
348
348
|
exports.default = (0, Wrapper_1.default)(CreateOrEdit, { component: recoil_1.RecoilRoot });
|