@edgeiq/edgeiq-api-js 1.5.4 → 1.5.6

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.
@@ -66,6 +66,7 @@ describe('Device Types', function () {
66
66
  }
67
67
  });
68
68
  }); });
69
+ var testDevice = testConstants_1.EmptyDevice;
69
70
  var deviceType = testConstants_1.EmptyDeviceType;
70
71
  var deviceType2 = testConstants_1.EmptyDeviceType;
71
72
  it('Creates a device type', function () { return __awaiter(void 0, void 0, void 0, function () {
@@ -82,6 +83,17 @@ describe('Device Types', function () {
82
83
  }
83
84
  });
84
85
  }); });
86
+ it('Prepare a device to assign a device type', function () { return __awaiter(void 0, void 0, void 0, function () {
87
+ return __generator(this, function (_a) {
88
+ switch (_a.label) {
89
+ case 0: return [4, __1.Devices.create(__assign(__assign({}, testConstants_1.TestDevice), { device_type_id: deviceType._id }))];
90
+ case 1:
91
+ testDevice = _a.sent();
92
+ expect(testDevice._id).not.toBeNull();
93
+ return [2];
94
+ }
95
+ });
96
+ }); });
85
97
  it('Creates a second device type', function () { return __awaiter(void 0, void 0, void 0, function () {
86
98
  var result;
87
99
  return __generator(this, function (_a) {
@@ -139,33 +151,60 @@ describe('Device Types', function () {
139
151
  result = _a.sent();
140
152
  expect(result.deviceTypes).toBeDefined();
141
153
  expect(result.deviceTypes).toBeInstanceOf(Array);
142
- expect(result.deviceTypes).toHaveLength(2);
154
+ expect(result.deviceTypes).toHaveLength(3);
143
155
  expect(result.pagination.page).toBe(constants_1.DefaultPagination.page);
144
- expect(result.pagination.total).toBe(2);
156
+ expect(result.pagination.total).toBe(3);
145
157
  expect(result.pagination.itemsPerPage).toBe(constants_1.DefaultPagination.itemsPerPage);
146
158
  return [2];
147
159
  }
148
160
  });
149
161
  }); });
150
- it('Deletes the device types created', function () { return __awaiter(void 0, void 0, void 0, function () {
151
- var result, result;
162
+ it('Throw an error after a delete attempt of a deviceType with devices', function () { return __awaiter(void 0, void 0, void 0, function () {
163
+ var error_1;
152
164
  return __generator(this, function (_a) {
153
165
  switch (_a.label) {
154
166
  case 0:
155
- if (!deviceType._id) return [3, 2];
167
+ _a.trys.push([0, 2, , 3]);
156
168
  return [4, __1.DeviceTypes.delete(deviceType._id)];
169
+ case 1:
170
+ _a.sent();
171
+ return [3, 3];
172
+ case 2:
173
+ error_1 = _a.sent();
174
+ if ((0, helpers_1.isApiError)(error_1)) {
175
+ expect(error_1.message).toBe("Device Type currently in use by Device(s): [" + testDevice._id + "]");
176
+ }
177
+ return [3, 3];
178
+ case 3: return [2];
179
+ }
180
+ });
181
+ }); });
182
+ it('Deletes the device types created', function () { return __awaiter(void 0, void 0, void 0, function () {
183
+ var result, result, result;
184
+ return __generator(this, function (_a) {
185
+ switch (_a.label) {
186
+ case 0:
187
+ if (!testDevice._id) return [3, 2];
188
+ return [4, __1.Devices.delete(testDevice._id)];
157
189
  case 1:
158
190
  result = _a.sent();
159
- expect(result).toBe((0, helpers_1.getReturnDeleteMessage)('device type'));
191
+ expect(result).toBe((0, helpers_1.getReturnDeleteMessage)('device'));
160
192
  _a.label = 2;
161
193
  case 2:
162
- if (!deviceType2._id) return [3, 4];
163
- return [4, __1.DeviceTypes.delete(deviceType2._id)];
194
+ if (!deviceType._id) return [3, 4];
195
+ return [4, __1.DeviceTypes.delete(deviceType._id)];
164
196
  case 3:
165
197
  result = _a.sent();
166
198
  expect(result).toBe((0, helpers_1.getReturnDeleteMessage)('device type'));
167
199
  _a.label = 4;
168
- case 4: return [2];
200
+ case 4:
201
+ if (!deviceType2._id) return [3, 6];
202
+ return [4, __1.DeviceTypes.delete(deviceType2._id)];
203
+ case 5:
204
+ result = _a.sent();
205
+ expect(result).toBe((0, helpers_1.getReturnDeleteMessage)('device type'));
206
+ _a.label = 6;
207
+ case 6: return [2];
169
208
  }
170
209
  });
171
210
  }); });
@@ -139,9 +139,9 @@ describe('Translators', function () {
139
139
  result = _a.sent();
140
140
  expect(result.translators).toBeDefined();
141
141
  expect(result.translators).toBeInstanceOf(Array);
142
- expect(result.translators).toHaveLength(2);
142
+ expect(result.translators).toHaveLength(4);
143
143
  expect(result.pagination.page).toBe(constants_1.DefaultPagination.page);
144
- expect(result.pagination.total).toBe(2);
144
+ expect(result.pagination.total).toBe(4);
145
145
  expect(result.pagination.itemsPerPage).toBe(constants_1.DefaultPagination.itemsPerPage);
146
146
  return [2];
147
147
  }
@@ -68,6 +68,7 @@ var handlePasswordReset = function (error) {
68
68
  }
69
69
  return Promise.reject(createError(constants_1.ResponseErrorsMessages.unexpected, constants_1.ResponseErrorsNames.unexpected));
70
70
  };
71
+ var errorMessages = function (error) { var _a, _b; return (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data.messages) === null || _b === void 0 ? void 0 : _b.join('\n'); };
71
72
  var handleOtherErrors = function (error) {
72
73
  var _a, _b;
73
74
  var path = null;
@@ -81,15 +82,16 @@ var handleOtherErrors = function (error) {
81
82
  model = path.split('?')[0];
82
83
  model = model.split('/')[0];
83
84
  }
85
+ var parseErrorMessages = errorMessages(error);
84
86
  switch ((_b = error.response) === null || _b === void 0 ? void 0 : _b.config.method) {
85
87
  case 'put':
86
- if (model === constants_1.BaseEndpoints.deviceConfig &&
87
- error.response.data.messages) {
88
- error.response.data = error.response.data.messages.join('\n');
88
+ if (model === constants_1.BaseEndpoints.deviceConfig && parseErrorMessages) {
89
+ error.response.data = parseErrorMessages;
89
90
  return Promise.reject(createError(error.response.data, constants_1.ResponseErrorsNames.deviceConfig));
90
91
  }
91
- else if (error.response.data.error === constants_1.ResponseErrorsNames.validationError) {
92
- return Promise.reject(createError(error.response.data.messages.join('\n'), constants_1.ResponseErrorsNames.validationError));
92
+ else if (error.response.data.error === constants_1.ResponseErrorsNames.validationError &&
93
+ parseErrorMessages) {
94
+ return Promise.reject(createError(parseErrorMessages, constants_1.ResponseErrorsNames.validationError));
93
95
  }
94
96
  action = constants_1.MethodsActions.put;
95
97
  break;
@@ -113,8 +115,8 @@ var handleOtherErrors = function (error) {
113
115
  error.response.data = createError(constants_1.ResponseErrorsMessages.deviceCharacters, constants_1.ResponseErrorsNames.deviceCharacters);
114
116
  }
115
117
  }
116
- else if (model === constants_1.BaseEndpoints.deviceConfig) {
117
- error.response.data = createError(error.response.data.messages.join('\n'), constants_1.ResponseErrorsNames.deviceConfig);
118
+ else if (model === constants_1.BaseEndpoints.deviceConfig && parseErrorMessages) {
119
+ error.response.data = createError(parseErrorMessages, constants_1.ResponseErrorsNames.deviceConfig);
118
120
  }
119
121
  else if (text && text.indexOf(constants_1.ErrorParts.uniqueConstraint) !== -1) {
120
122
  error.response.data = createError(constants_1.ResponseErrorsMessages.uniqueConstraint(model), constants_1.ResponseErrorsNames.uniqueConstraint);
@@ -122,8 +124,13 @@ var handleOtherErrors = function (error) {
122
124
  else if (text && text.indexOf(constants_1.ErrorParts.duplicateKey) !== -1) {
123
125
  error.response.data = createError(text, constants_1.ResponseErrorsNames.duplicateKey);
124
126
  }
125
- else if (error.response.data.error === constants_1.ResponseErrorsNames.createError) {
126
- error.response.data = createError(error.response.data.messages.join('\n'), constants_1.ResponseErrorsNames.createError);
127
+ else if (error.response.data.error === constants_1.ResponseErrorsNames.createError &&
128
+ parseErrorMessages) {
129
+ error.response.data = createError(parseErrorMessages, constants_1.ResponseErrorsNames.createError);
130
+ }
131
+ else if (error.response.data.error === constants_1.ResponseErrorsNames.validationError &&
132
+ parseErrorMessages) {
133
+ error.response.data = createError(parseErrorMessages, constants_1.ResponseErrorsNames.validationError);
127
134
  }
128
135
  return Promise.reject(error.response.data);
129
136
  }
@@ -131,9 +138,15 @@ var handleOtherErrors = function (error) {
131
138
  break;
132
139
  case 'delete':
133
140
  action = constants_1.MethodsActions.delete;
141
+ if (parseErrorMessages) {
142
+ return Promise.reject(createError(parseErrorMessages, action));
143
+ }
134
144
  break;
135
145
  case 'get':
136
146
  action = constants_1.MethodsActions.get;
147
+ if (parseErrorMessages) {
148
+ return Promise.reject(createError(parseErrorMessages, action));
149
+ }
137
150
  break;
138
151
  }
139
152
  var errorMessage = mapModelError(model, action);
@@ -33,10 +33,10 @@ exports.TestAuth = {
33
33
  exports.TestDevice = {
34
34
  device_type_id: '',
35
35
  name: 'EdgeIQAPI Test Device',
36
- unique_id: 'api_js_test_device',
36
+ unique_id: 'api_eiq_test_device',
37
37
  company_id: parentCompanyId,
38
38
  };
39
- exports.TestDevice2 = __assign(__assign({}, exports.TestDevice), { name: 'EdgeIQAPI Test Device 2', unique_id: 'api_js_test_device_2' });
39
+ exports.TestDevice2 = __assign(__assign({}, exports.TestDevice), { name: 'EdgeIQAPI Test Device 2', unique_id: 'api_eiq_test_device_2' });
40
40
  exports.EmptyDevice = __assign(__assign({}, baseModel), { unique_id: '', device_type_id: '', name: '' });
41
41
  exports.NewTestDeviceName = 'Updated Test Device name';
42
42
  exports.TestUser = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgeiq/edgeiq-api-js",
3
- "version": "1.5.4",
3
+ "version": "1.5.6",
4
4
  "author": "EdgeIQ",
5
5
  "license": "ISC",
6
6
  "description": "This project presents EdgeIQ API SDK.",