@amanat-qa/utils-frontend 1.0.5 → 1.0.7

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.
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ function _classPrivateFieldLooseBase(e, t) { if (!{}.hasOwnProperty.call(e, t)) throw new TypeError("attempted to use private field on non-instance"); return e; }
4
+ var id = 0;
5
+ function _classPrivateFieldLooseKey(e) { return "__private_" + id++ + "_" + e; }
6
+ const axios = require('axios');
7
+ var _baseURL = /*#__PURE__*/_classPrivateFieldLooseKey("baseURL");
8
+ var _logString = /*#__PURE__*/_classPrivateFieldLooseKey("logString");
9
+ var _timeout = /*#__PURE__*/_classPrivateFieldLooseKey("timeout");
10
+ var _headers = /*#__PURE__*/_classPrivateFieldLooseKey("headers");
11
+ var _logBaseURL = /*#__PURE__*/_classPrivateFieldLooseKey("logBaseURL");
12
+ var _axiosInstance = /*#__PURE__*/_classPrivateFieldLooseKey("axiosInstance");
13
+ class BaseAPI {
14
+ constructor(options) {
15
+ Object.defineProperty(this, _baseURL, {
16
+ writable: true,
17
+ value: void 0
18
+ });
19
+ Object.defineProperty(this, _logString, {
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ Object.defineProperty(this, _timeout, {
24
+ writable: true,
25
+ value: void 0
26
+ });
27
+ Object.defineProperty(this, _headers, {
28
+ writable: true,
29
+ value: void 0
30
+ });
31
+ Object.defineProperty(this, _logBaseURL, {
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ Object.defineProperty(this, _axiosInstance, {
36
+ writable: true,
37
+ value: void 0
38
+ });
39
+ _classPrivateFieldLooseBase(this, _baseURL)[_baseURL] = options.baseURL;
40
+ _classPrivateFieldLooseBase(this, _logString)[_logString] = options.logString;
41
+ _classPrivateFieldLooseBase(this, _timeout)[_timeout] = options.timeout;
42
+ _classPrivateFieldLooseBase(this, _headers)[_headers] = options.headers;
43
+ _classPrivateFieldLooseBase(this, _axiosInstance)[_axiosInstance] = this.createInstance();
44
+ }
45
+ createInstance() {
46
+ if (_classPrivateFieldLooseBase(this, _logString)[_logString]) _classPrivateFieldLooseBase(this, _logBaseURL)[_logBaseURL] = `${_classPrivateFieldLooseBase(this, _logString)[_logString]} ${_classPrivateFieldLooseBase(this, _baseURL)[_baseURL]}`;
47
+ return axios.create({
48
+ baseURL: _classPrivateFieldLooseBase(this, _baseURL)[_baseURL],
49
+ timeout: _classPrivateFieldLooseBase(this, _timeout)[_timeout],
50
+ headers: _classPrivateFieldLooseBase(this, _headers)[_headers]
51
+ });
52
+ }
53
+ async get(endpoint, params) {
54
+ const logs = [`[req] ▶ get ${JSON.stringify(params || {})} from ${endpoint}:`];
55
+ if (_classPrivateFieldLooseBase(this, _logBaseURL)[_logBaseURL]) logs.unshift(_classPrivateFieldLooseBase(this, _logBaseURL)[_logBaseURL]);
56
+ try {
57
+ const response = await _classPrivateFieldLooseBase(this, _axiosInstance)[_axiosInstance].get(`/${endpoint}`, {
58
+ params
59
+ });
60
+ logs.push(`[res] status code: ${response.status}`);
61
+ return {
62
+ data: response.data,
63
+ status: response.status,
64
+ logs
65
+ };
66
+ } catch (error) {
67
+ logs.push(`[res] status code: ${error.response.status}`);
68
+ logs.push(`[res] body: ${JSON.stringify(error.response.data)}`);
69
+ return {
70
+ data: error.response.data,
71
+ status: error.response.status,
72
+ logs
73
+ };
74
+ }
75
+ }
76
+ async post(endpoint, params) {
77
+ const logs = [`[req] ▶ post ${JSON.stringify(params || {})} to ${endpoint}:`];
78
+ if (_classPrivateFieldLooseBase(this, _logBaseURL)[_logBaseURL]) logs.unshift(_classPrivateFieldLooseBase(this, _logBaseURL)[_logBaseURL]);
79
+ try {
80
+ const response = await _classPrivateFieldLooseBase(this, _axiosInstance)[_axiosInstance].post(`/${endpoint}`, params);
81
+ logs.push(`[res] status code: ${response.status}`);
82
+ return {
83
+ data: response.data,
84
+ status: response.status,
85
+ logs
86
+ };
87
+ } catch (error) {
88
+ logs.push(`[res] status code: ${error.response.status}`);
89
+ logs.push(`[res] body: ${JSON.stringify(error.response.data)}`);
90
+ return {
91
+ data: error.response.data,
92
+ status: error.response.status,
93
+ logs
94
+ };
95
+ }
96
+ }
97
+ async patch(endpoint, params) {
98
+ const logs = [`[req] ▶ patch ${JSON.stringify(params || {})} to ${endpoint}:`];
99
+ if (_classPrivateFieldLooseBase(this, _logBaseURL)[_logBaseURL]) logs.unshift(_classPrivateFieldLooseBase(this, _logBaseURL)[_logBaseURL]);
100
+ try {
101
+ const response = await _classPrivateFieldLooseBase(this, _axiosInstance)[_axiosInstance].patch(`/${endpoint}`, params);
102
+ logs.push(`[res] status code: ${response.status}`);
103
+ return {
104
+ data: response.data,
105
+ status: response.status,
106
+ logs
107
+ };
108
+ } catch (error) {
109
+ logs.push(`[res] status code: ${error.response.status}`);
110
+ logs.push(`[res] body: ${JSON.stringify(error.response.data)}`);
111
+ return {
112
+ data: error.response.data,
113
+ status: error.response.status,
114
+ logs
115
+ };
116
+ }
117
+ }
118
+ }
119
+ module.exports = BaseAPI;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ function _classPrivateFieldLooseBase(e, t) { if (!{}.hasOwnProperty.call(e, t)) throw new TypeError("attempted to use private field on non-instance"); return e; }
4
+ var id = 0;
5
+ function _classPrivateFieldLooseKey(e) { return "__private_" + id++ + "_" + e; }
6
+ const mysql = require('mysql2/promise');
7
+ var _host = /*#__PURE__*/_classPrivateFieldLooseKey("host");
8
+ var _user = /*#__PURE__*/_classPrivateFieldLooseKey("user");
9
+ var _port = /*#__PURE__*/_classPrivateFieldLooseKey("port");
10
+ var _password = /*#__PURE__*/_classPrivateFieldLooseKey("password");
11
+ var _database = /*#__PURE__*/_classPrivateFieldLooseKey("database");
12
+ var _connection = /*#__PURE__*/_classPrivateFieldLooseKey("connection");
13
+ class BaseDB {
14
+ constructor(host, user, password, database, port) {
15
+ Object.defineProperty(this, _host, {
16
+ writable: true,
17
+ value: void 0
18
+ });
19
+ Object.defineProperty(this, _user, {
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ Object.defineProperty(this, _port, {
24
+ writable: true,
25
+ value: void 0
26
+ });
27
+ Object.defineProperty(this, _password, {
28
+ writable: true,
29
+ value: void 0
30
+ });
31
+ Object.defineProperty(this, _database, {
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ Object.defineProperty(this, _connection, {
36
+ writable: true,
37
+ value: void 0
38
+ });
39
+ _classPrivateFieldLooseBase(this, _host)[_host] = host;
40
+ _classPrivateFieldLooseBase(this, _user)[_user] = user;
41
+ _classPrivateFieldLooseBase(this, _password)[_password] = password;
42
+ _classPrivateFieldLooseBase(this, _database)[_database] = database;
43
+ _classPrivateFieldLooseBase(this, _port)[_port] = port;
44
+ }
45
+ async createConnection() {
46
+ const logs = [`[inf] ▶ connect to ${_classPrivateFieldLooseBase(this, _database)[_database]} database`];
47
+ _classPrivateFieldLooseBase(this, _connection)[_connection] = await mysql.createConnection({
48
+ host: _classPrivateFieldLooseBase(this, _host)[_host],
49
+ user: _classPrivateFieldLooseBase(this, _user)[_user],
50
+ password: _classPrivateFieldLooseBase(this, _password)[_password],
51
+ database: _classPrivateFieldLooseBase(this, _database)[_database],
52
+ port: _classPrivateFieldLooseBase(this, _port)[_port]
53
+ });
54
+ return {
55
+ logs
56
+ };
57
+ }
58
+ async closeConnection() {
59
+ const logs = [`[inf] ▶ close connection to ${_classPrivateFieldLooseBase(this, _database)[_database]} database`];
60
+ await _classPrivateFieldLooseBase(this, _connection)[_connection].end();
61
+ return {
62
+ logs
63
+ };
64
+ }
65
+ async sqlQuery(query, values) {
66
+ const [rows] = await _classPrivateFieldLooseBase(this, _connection)[_connection].query(query, values);
67
+ return rows;
68
+ }
69
+ async sqlSelect(tableName, target = '*', conditions = '', values = [], options = {
70
+ hasLogger: true
71
+ }) {
72
+ const logs = [];
73
+ if (options.hasLogger) logs.push(`[inf] ▶ select ${target} from ${tableName} table`);
74
+ const query = `SELECT ${target} FROM ${tableName} ${conditions};`;
75
+ const rows = await this.sqlQuery(query, values);
76
+ return {
77
+ rows,
78
+ logs
79
+ };
80
+ }
81
+ }
82
+ module.exports = BaseDB;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ let JSONLoader;
4
+ try {
5
+ JSONLoader = require('../../../../../main/utils/data/JSONLoader');
6
+ } catch (e) {
7
+ throw new Error('[err] JSONLoader require error!');
8
+ }
9
+ module.exports = JSONLoader;
@@ -1,21 +1,22 @@
1
+ "use strict";
2
+
1
3
  const moment = require('moment');
2
- const { parseStringPromise } = require('xml2js');
4
+ const {
5
+ parseStringPromise
6
+ } = require('xml2js');
3
7
  const JSONLoader = require('./JSONLoader');
4
8
  const StrUtils = require('../str/strUtils');
5
9
  const TimeUtils = require('../time/timeUtils');
6
10
  const Randomizer = require('../random/randomizer');
7
-
8
11
  class DataUtils {
9
12
  static async XMLToJSON(xml) {
10
13
  return (await parseStringPromise(xml)).response;
11
14
  }
12
-
13
15
  static getFromRequests(url1, alias1, url2, alias2) {
14
16
  cy.intercept(url1).as(alias1);
15
17
  cy.intercept(url2).as(alias2);
16
18
  return cy.wait([`@${alias1}`, `@${alias2}`]).then(([interception1, interception2]) => [interception1.response.body, interception2.response.body]);
17
19
  }
18
-
19
20
  static interceptPolicyList({
20
21
  url,
21
22
  sortColumn,
@@ -25,53 +26,44 @@ class DataUtils {
25
26
  page,
26
27
  perPage,
27
28
  alias,
28
- raw = false,
29
+ raw = false
29
30
  } = {}) {
30
31
  if (raw) {
31
32
  cy.intercept('GET', url).as(alias);
32
33
  return;
33
34
  }
34
-
35
35
  const query = {};
36
-
37
36
  if (sortColumn) query['sort[column]'] = sortColumn;
38
37
  if (sortValue) query['sort[value]'] = sortValue;
39
-
40
38
  if (searchColumn && searchValue) {
41
39
  query['search[column]'] = searchColumn;
42
40
  query['search[value]'] = searchValue;
43
41
  }
44
-
45
42
  if (page) query.page = String(page);
46
43
  if (perPage) query.per_page = String(perPage);
47
-
48
44
  cy.intercept({
49
45
  method: 'GET',
50
46
  url,
51
- query,
47
+ query
52
48
  }).as(alias);
53
49
  }
54
-
55
50
  static extractDataArray(interception) {
56
51
  return interception.response.body.data || [];
57
52
  }
58
-
59
53
  static isSorted(arr, order = 'asc') {
60
- const sorted = [...arr].sort((a, b) => (order === 'asc' ? a - b : b - a));
54
+ const sorted = [...arr].sort((a, b) => order === 'asc' ? a - b : b - a);
61
55
  return JSON.stringify(arr) === JSON.stringify(sorted);
62
56
  }
63
-
64
57
  static waitForPolicyList(alias, path) {
65
- return cy.wait(`@${alias}`).then((interception) => {
58
+ return cy.wait(`@${alias}`).then(interception => {
66
59
  const parts = ['response', 'body', ...path.split('.')];
67
- const result = parts.reduce((acc, key) => (acc && typeof acc === 'object' ? acc[key] : {}), interception);
60
+ const result = parts.reduce((acc, key) => acc && typeof acc === 'object' ? acc[key] : {}, interception);
68
61
  return result;
69
62
  });
70
63
  }
71
-
72
64
  static getFromRequest(url, alias) {
73
65
  cy.intercept(url).as(alias);
74
- return cy.wait(`@${alias}`).then((interception) => interception.response.body);
66
+ return cy.wait(`@${alias}`).then(interception => interception.response.body);
75
67
  }
76
68
 
77
69
  /**
@@ -89,135 +81,116 @@ class DataUtils {
89
81
  * @param {boolean} options.isUnderSixtyYearsOld
90
82
  */
91
83
  static filterClients(clients, options = {}) {
92
- const { isResident } = options;
93
- const { hasPassport } = options;
94
- const { hasDriverLicence } = options;
95
- const { isUnderSixtyYearsOld } = options;
96
- const { isJuridical } = options;
84
+ const {
85
+ isResident
86
+ } = options;
87
+ const {
88
+ hasPassport
89
+ } = options;
90
+ const {
91
+ hasDriverLicence
92
+ } = options;
93
+ const {
94
+ isUnderSixtyYearsOld
95
+ } = options;
96
+ const {
97
+ isJuridical
98
+ } = options;
97
99
  let filteredClients = [...clients];
98
-
99
- filteredClients = filteredClients.filter((client) => {
100
+ filteredClients = filteredClients.filter(client => {
100
101
  if (isResident !== undefined) {
101
102
  return isResident ? client.resident_bool : !client.resident_bool;
102
103
  }
103
-
104
104
  return true;
105
105
  });
106
-
107
- filteredClients = filteredClients.filter((client) => {
106
+ filteredClients = filteredClients.filter(client => {
108
107
  if (hasDriverLicence !== undefined) {
109
108
  return hasDriverLicence ? client.driving_license : !client.driving_license;
110
109
  }
111
-
112
110
  return true;
113
111
  });
114
-
115
- filteredClients = filteredClients.filter((client) => {
112
+ filteredClients = filteredClients.filter(client => {
116
113
  if (hasPassport !== undefined) {
117
114
  const hasLetter = /[a-zA-Z]/.test(client.document_number);
118
- return hasPassport
119
- ? client.document_type_id === 11 && hasLetter
120
- : client.document_type_id !== 11;
115
+ return hasPassport ? client.document_type_id === 11 && hasLetter : client.document_type_id !== 11;
121
116
  }
122
-
123
117
  return true;
124
118
  });
125
-
126
- filteredClients = filteredClients.filter((client) => {
119
+ filteredClients = filteredClients.filter(client => {
127
120
  if (isUnderSixtyYearsOld !== undefined) {
128
- return isUnderSixtyYearsOld
129
- ? moment(client.born) > moment().subtract(60, 'years')
130
- : moment(client.born) <= moment().subtract(60, 'years');
121
+ return isUnderSixtyYearsOld ? moment(client.born) > moment().subtract(60, 'years') : moment(client.born) <= moment().subtract(60, 'years');
131
122
  }
132
-
133
123
  return true;
134
124
  });
135
-
136
- filteredClients = filteredClients.filter((client) => {
125
+ filteredClients = filteredClients.filter(client => {
137
126
  if (isJuridical !== undefined) {
138
127
  return isJuridical ? !client.natural_person_bool : client.natural_person_bool;
139
128
  }
140
-
141
129
  return true;
142
130
  });
143
-
144
131
  return filteredClients;
145
132
  }
146
-
147
133
  static createRandomCarStructure(carsArr) {
148
134
  const randomCarIndex = Randomizer.getRandomInteger(carsArr.length - 1);
149
135
  const tempCar = carsArr[randomCarIndex];
150
- const resultCar = { ...tempCar };
151
-
136
+ const resultCar = {
137
+ ...tempCar
138
+ };
152
139
  resultCar.dt_reg_cert = {};
153
140
  resultCar.dt_reg_cert.YMD = tempCar.dt_reg_cert;
154
141
  resultCar.dt_reg_cert.DMY = TimeUtils.reformatDateFromYMDToDMY(tempCar.dt_reg_cert);
155
-
156
142
  resultCar.year = tempCar.year.toString();
157
143
  resultCar.engine_volume = tempCar.engine_volume.toString();
158
-
159
144
  resultCar.model = {};
160
145
  resultCar.model.OGPO = tempCar.model;
161
146
  resultCar.model.KASKO = {};
162
147
  resultCar.model.KASKO.get = tempCar.model;
163
- resultCar.model.KASKO.set = tempCar.id !== 1
164
- ? StrUtils.toTitleCase(tempCar.model)
165
- : '5 серия';
166
-
148
+ resultCar.model.KASKO.set = tempCar.id !== 1 ? StrUtils.toTitleCase(tempCar.model) : '5 серия';
167
149
  resultCar.mark = {};
168
150
  resultCar.mark.OGPO = tempCar.mark;
169
151
  resultCar.mark.KASKO = {};
170
152
  resultCar.mark.KASKO.get = tempCar.mark;
171
153
  resultCar.mark.KASKO.set = tempCar.id !== 1 ? StrUtils.toTitleCase(tempCar.mark) : tempCar.mark;
172
-
173
154
  resultCar.region_id = JSONLoader.testData.carRegion;
174
155
  resultCar.type_id = JSONLoader.testData.carType;
175
-
176
156
  return resultCar;
177
157
  }
178
-
179
158
  static createRandomClientsStructures(clientsArr) {
180
159
  let randomHolderIndex = 0;
181
160
  let randomInsuredIndex = 0;
182
161
  let randomBeneficiaryIndex = 0;
183
-
184
162
  if (clientsArr.length > 1) {
185
163
  randomHolderIndex = Randomizer.getRandomInteger(clientsArr.length - 1);
186
-
187
164
  do {
188
165
  randomInsuredIndex = Randomizer.getRandomInteger(clientsArr.length - 1);
189
166
  } while (randomInsuredIndex === randomHolderIndex);
190
-
191
167
  do {
192
168
  randomBeneficiaryIndex = Randomizer.getRandomInteger(clientsArr.length - 1);
193
- } while (randomBeneficiaryIndex === randomHolderIndex
194
- || randomBeneficiaryIndex === randomInsuredIndex);
169
+ } while (randomBeneficiaryIndex === randomHolderIndex || randomBeneficiaryIndex === randomInsuredIndex);
195
170
  }
196
-
197
171
  const tempHolder = clientsArr[randomHolderIndex];
198
172
  const tempInsured = clientsArr[randomInsuredIndex];
199
173
  const tempBeneficiary = clientsArr[randomBeneficiaryIndex];
200
-
201
- const resultHolder = { ...tempHolder };
202
- const resultInsured = { ...tempInsured };
203
- const resultBeneficiary = { ...tempBeneficiary };
204
-
174
+ const resultHolder = {
175
+ ...tempHolder
176
+ };
177
+ const resultInsured = {
178
+ ...tempInsured
179
+ };
180
+ const resultBeneficiary = {
181
+ ...tempBeneficiary
182
+ };
205
183
  resultHolder.document_gived_date = {};
206
184
  resultHolder.document_gived_date.YMD = tempHolder.document_gived_date;
207
- resultHolder.document_gived_date.DMY = TimeUtils
208
- .reformatDateFromYMDToDMY(tempHolder.document_gived_date);
185
+ resultHolder.document_gived_date.DMY = TimeUtils.reformatDateFromYMDToDMY(tempHolder.document_gived_date);
209
186
  resultHolder.born = {};
210
187
  resultHolder.born.YMD = tempHolder.born;
211
188
  resultHolder.born.DMY = TimeUtils.reformatDateFromYMDToDMY(tempHolder.born);
212
189
  resultHolder.date_issue_license = {};
213
190
  resultHolder.date_issue_license.YMD = tempHolder.date_issue_license;
214
- resultHolder.date_issue_license.DMY = TimeUtils
215
- .reformatDateFromYMDToDMY(tempHolder.date_issue_license);
216
-
191
+ resultHolder.date_issue_license.DMY = TimeUtils.reformatDateFromYMDToDMY(tempHolder.date_issue_license);
217
192
  resultHolder.iin = tempHolder.iin.toString();
218
- resultHolder.document_type = JSONLoader
219
- .dictDocumentType[tempHolder.document_type_id.toString()];
220
-
193
+ resultHolder.document_type = JSONLoader.dictDocumentType[tempHolder.document_type_id.toString()];
221
194
  resultHolder.sex = JSONLoader.dictSexID[tempHolder.sex_id];
222
195
  resultHolder.address = JSONLoader.testData.holderAddress;
223
196
  resultHolder.email = JSONLoader.testData.holderEmail;
@@ -232,23 +205,17 @@ class DataUtils {
232
205
  resultHolder.phone = JSONLoader.testData.holderPhone;
233
206
  resultHolder.phoneTrimmed = JSONLoader.testData.holderPhoneTrimmed;
234
207
  resultHolder.phoneFormatted = JSONLoader.testData.holderPhoneFormatted;
235
-
236
208
  resultInsured.document_gived_date = {};
237
209
  resultInsured.document_gived_date.YMD = tempInsured.document_gived_date;
238
- resultInsured.document_gived_date.DMY = TimeUtils
239
- .reformatDateFromYMDToDMY(tempInsured.document_gived_date);
210
+ resultInsured.document_gived_date.DMY = TimeUtils.reformatDateFromYMDToDMY(tempInsured.document_gived_date);
240
211
  resultInsured.born = {};
241
212
  resultInsured.born.YMD = tempInsured.born;
242
213
  resultInsured.born.DMY = TimeUtils.reformatDateFromYMDToDMY(tempInsured.born);
243
214
  resultInsured.date_issue_license = {};
244
215
  resultInsured.date_issue_license.YMD = tempInsured.date_issue_license;
245
- resultInsured.date_issue_license.DMY = TimeUtils
246
- .reformatDateFromYMDToDMY(tempInsured.date_issue_license);
247
-
216
+ resultInsured.date_issue_license.DMY = TimeUtils.reformatDateFromYMDToDMY(tempInsured.date_issue_license);
248
217
  resultInsured.iin = tempInsured.iin.toString();
249
- resultInsured.document_type = JSONLoader
250
- .dictDocumentType[tempInsured.document_type_id.toString()];
251
-
218
+ resultInsured.document_type = JSONLoader.dictDocumentType[tempInsured.document_type_id.toString()];
252
219
  resultInsured.sex = JSONLoader.dictSexID[tempInsured.sex_id];
253
220
  resultInsured.address = JSONLoader.testData.insuredAddress;
254
221
  resultInsured.email = JSONLoader.testData.insuredEmail;
@@ -257,22 +224,17 @@ class DataUtils {
257
224
  resultInsured.driver_certificate_type_id = JSONLoader.testData.insuredDriverLicenceType;
258
225
  resultInsured.invalid_bool = JSONLoader.testData.insuredIsInvalid;
259
226
  resultInsured.pensioner_bool = JSONLoader.testData.insuredIsPensioner;
260
-
261
227
  resultBeneficiary.document_gived_date = {};
262
228
  resultBeneficiary.document_gived_date.YMD = tempBeneficiary.document_gived_date;
263
- resultBeneficiary.document_gived_date.DMY = TimeUtils
264
- .reformatDateFromYMDToDMY(tempBeneficiary.document_gived_date);
229
+ resultBeneficiary.document_gived_date.DMY = TimeUtils.reformatDateFromYMDToDMY(tempBeneficiary.document_gived_date);
265
230
  resultBeneficiary.born = {};
266
231
  resultBeneficiary.born.YMD = tempBeneficiary.born;
267
232
  resultBeneficiary.born.DMY = TimeUtils.reformatDateFromYMDToDMY(tempBeneficiary.born);
268
233
  resultBeneficiary.date_issue_license = {};
269
234
  resultBeneficiary.date_issue_license.YMD = tempBeneficiary.date_issue_license;
270
- resultBeneficiary.date_issue_license.DMY = TimeUtils
271
- .reformatDateFromYMDToDMY(tempBeneficiary.date_issue_license);
272
-
235
+ resultBeneficiary.date_issue_license.DMY = TimeUtils.reformatDateFromYMDToDMY(tempBeneficiary.date_issue_license);
273
236
  resultBeneficiary.iin = tempBeneficiary.iin.toString();
274
- resultBeneficiary.document_type = JSONLoader
275
- .dictDocumentType[tempBeneficiary.document_type_id.toString()];
237
+ resultBeneficiary.document_type = JSONLoader.dictDocumentType[tempBeneficiary.document_type_id.toString()];
276
238
  resultBeneficiary.sex = JSONLoader.dictSexID[tempBeneficiary.sex_id];
277
239
  resultBeneficiary.address = JSONLoader.testData.beneficiaryAddress;
278
240
  resultBeneficiary.email = JSONLoader.testData.beneficiaryEmail;
@@ -282,12 +244,16 @@ class DataUtils {
282
244
  resultBeneficiary.driver_certificate_type_id = JSONLoader.testData.beneficiaryDriverLicenceType;
283
245
  resultBeneficiary.invalid_bool = JSONLoader.testData.beneficiaryIsInvalid;
284
246
  resultBeneficiary.pensioner_bool = JSONLoader.testData.beneficiaryIsPensioner;
285
-
286
- return { holder: resultHolder, insured: resultInsured, beneficiary: resultBeneficiary };
247
+ return {
248
+ holder: resultHolder,
249
+ insured: resultInsured,
250
+ beneficiary: resultBeneficiary
251
+ };
287
252
  }
288
-
289
253
  static prepareSetClientRequestBody(getClientResponse, client) {
290
- const requestBody = { ...getClientResponse.data.data };
254
+ const requestBody = {
255
+ ...getClientResponse.data.data
256
+ };
291
257
  requestBody.first_name = client.first_name;
292
258
  requestBody.middle_name = client.middle_name;
293
259
  requestBody.last_name = client.last_name;
@@ -300,18 +266,12 @@ class DataUtils {
300
266
  requestBody.document_number = client.document_number;
301
267
  requestBody.document_gived_date = client.document_gived_date.DMY;
302
268
  requestBody.document_type_id = client.document_type_id;
303
- requestBody.verify_bool = requestBody.natural_person_bool
304
- ? Number(JSONLoader.configData.verification) : 0;
269
+ requestBody.verify_bool = requestBody.natural_person_bool ? Number(JSONLoader.configData.verification) : 0;
305
270
  requestBody.verify_type_id = requestBody.verify_bool ? 1 : 3;
306
- requestBody.activity_kind_id = requestBody.natural_person_bool
307
- ? 250 : client.activity_kind_id;
308
- requestBody.economics_sector_id = requestBody.natural_person_bool
309
- ? 10 : client.economics_sector_id;
310
- requestBody.juridical_person_name = requestBody.natural_person_bool
311
- ? '' : client.juridical_person_name;
312
-
271
+ requestBody.activity_kind_id = requestBody.natural_person_bool ? 250 : client.activity_kind_id;
272
+ requestBody.economics_sector_id = requestBody.natural_person_bool ? 10 : client.economics_sector_id;
273
+ requestBody.juridical_person_name = requestBody.natural_person_bool ? '' : client.juridical_person_name;
313
274
  return requestBody;
314
275
  }
315
276
  }
316
-
317
- module.exports = DataUtils;
277
+ module.exports = DataUtils;
@@ -1,7 +1,11 @@
1
+ "use strict";
2
+
1
3
  const fs = require('fs');
2
4
  const path = require('path');
3
- require('dotenv').config({ path: path.join(__dirname, '../../../../../../', '.env.test'), override: true });
4
-
5
+ require('dotenv').config({
6
+ path: path.join(__dirname, '../../../../../../', '.env.test'),
7
+ override: true
8
+ });
5
9
  const envDirectory = path.join(__dirname, '../../../../../../');
6
10
  const loaderFileLocation = path.join(envDirectory, './cypress/main/utils/data/', 'JSONLoader.js');
7
11
  const testClientsFileLocation = path.join(envDirectory, './cypress/resources/data/testClients.json');
@@ -11,34 +15,26 @@ const suitesDirectory = path.join(envDirectory, './cypress/tests/suites');
11
15
  const jsonExtension = '.json';
12
16
  const testExtension = '.test';
13
17
  const testSuitePattern = 'Suite.js';
14
-
15
18
  const getFiles = (directory, extension) => {
16
19
  const allFiles = fs.readdirSync(directory);
17
- const selectedFiles = allFiles.filter((file) => file.endsWith(extension));
18
- allFiles.forEach((file) => {
20
+ const selectedFiles = allFiles.filter(file => file.endsWith(extension));
21
+ allFiles.forEach(file => {
19
22
  const fullPath = path.join(directory, file);
20
23
  if (fs.statSync(fullPath).isDirectory()) {
21
24
  const nestedFiles = getFiles(fullPath, extension);
22
- selectedFiles.push(...nestedFiles.map((nestedFile) => path.join(file, nestedFile)));
25
+ selectedFiles.push(...nestedFiles.map(nestedFile => path.join(file, nestedFile)));
23
26
  }
24
27
  });
25
-
26
28
  return selectedFiles;
27
29
  };
28
-
29
- const generateClassInit = (selectedFiles, directory) => `class JSONLoader {\n${selectedFiles.map((file) => {
30
+ const generateClassInit = (selectedFiles, directory) => `class JSONLoader {\n${selectedFiles.map(file => {
30
31
  const variableName = path.parse(file).name;
31
32
  return `\tstatic get ${variableName}() {\n\t\tconst ${variableName} = require('${path.join(directory, file)}');\n\t\treturn JSON.parse(JSON.stringify(${variableName}));\n\t}\n\n`;
32
33
  }).join('')}`;
33
-
34
- const generateTestSuitesNames = (selectedFiles) => {
35
- const suiteNames = selectedFiles
36
- .map((file) => file.replace(testSuitePattern, ''))
37
- .map((name) => `'${name}'`)
38
- .join(', ');
34
+ const generateTestSuitesNames = selectedFiles => {
35
+ const suiteNames = selectedFiles.map(file => file.replace(testSuitePattern, '')).map(name => `'${name}'`).join(', ');
39
36
  return `\tstatic get testSuitesNames() {\n\t\treturn [${suiteNames}];\n\t}\n\n`;
40
37
  };
41
-
42
38
  const generateJSONLoader = (filePath, directory) => {
43
39
  const jsonFiles = getFiles(directory, jsonExtension);
44
40
  const testSuites = getFiles(suitesDirectory, testSuitePattern);
@@ -47,10 +43,9 @@ const generateJSONLoader = (filePath, directory) => {
47
43
  const classExport = '}\n\nmodule.exports = JSONLoader;';
48
44
  fs.writeFileSync(filePath, classInit + suitesNames + classExport);
49
45
  };
50
-
51
46
  const setConfigData = (directory, extension) => {
52
47
  const files = getFiles(directory, extension);
53
- const configFile = files.filter((file) => file.includes('config')).pop();
48
+ const configFile = files.filter(file => file.includes('config')).pop();
54
49
  if (configFile) {
55
50
  const filePath = `${directory}/${configFile}`;
56
51
  const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
@@ -58,37 +53,35 @@ const setConfigData = (directory, extension) => {
58
53
  data.setPolicyWaitingTWB = process.argv.includes('--setPolicyWaitingTWB');
59
54
  try {
60
55
  data.verification = Boolean(JSON.parse(process.env.VERIFICATION ?? data.verification));
61
- } catch (error) { // eslint-disable-next-line no-console
56
+ } catch (error) {
57
+ // eslint-disable-next-line no-console
62
58
  console.log(' [err] incorrect value of "VERIFICATION" .env variable!');
63
59
  }
64
-
65
60
  if (process.env.GATEWAY_URL) {
66
61
  const value = process.env.GATEWAY_URL.match(/\b(?:localhost|dev|staging)\b/g);
67
62
  if (value) {
68
63
  data.environment = value.pop();
69
- } else { // eslint-disable-next-line no-console
64
+ } else {
65
+ // eslint-disable-next-line no-console
70
66
  console.log(' [err] incorrect value of "GATEWAY_URL" .env variable!');
71
67
  }
72
- } else { // eslint-disable-next-line no-console
68
+ } else {
69
+ // eslint-disable-next-line no-console
73
70
  console.log(' [err] "GATEWAY_URL" .env variable not exists!');
74
71
  }
75
-
76
72
  fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf8');
77
73
  }
78
74
  };
79
-
80
75
  const checkEnvExists = (directory, extension) => {
81
76
  const files = getFiles(directory, extension);
82
77
  if (!files.length) throw new Error('[err] .env.test file not exists in root directory!');
83
78
  };
84
-
85
- const generateTestDataFile = (filePath) => {
79
+ const generateTestDataFile = filePath => {
86
80
  const emptyObj = {};
87
81
  if (!fs.existsSync(filePath)) fs.writeFileSync(filePath, JSON.stringify(emptyObj, null, 2), 'utf8');
88
82
  };
89
-
90
83
  checkEnvExists(envDirectory, testExtension);
91
84
  setConfigData(JSONDirectory, jsonExtension);
92
85
  generateTestDataFile(testCarsFileLocation);
93
86
  generateTestDataFile(testClientsFileLocation);
94
- generateJSONLoader(loaderFileLocation, JSONDirectory);
87
+ generateJSONLoader(loaderFileLocation, JSONDirectory);