@smess/networking 1.0.24 → 1.0.26
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/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/services/customer.service.d.ts +29 -1
- package/dist/services/customer.service.js +35 -0
- package/dist/services/customer.service.test.js +174 -0
- package/dist/{src/services → services}/employee.service.js +4 -3
- package/dist/{src/services → services}/employee.service.test.js +13 -6
- package/dist/services/utils/withAuthReset.d.ts +3 -0
- package/dist/services/utils/withAuthReset.js +8 -0
- package/package.json +1 -1
- package/dist/scripts/dev-test.d.ts +0 -1
- package/dist/scripts/dev-test.js +0 -803
- package/dist/scripts/real-test.d.ts +0 -1
- package/dist/scripts/real-test.js +0 -341
- package/dist/src/core/axios.d.ts +0 -51
- package/dist/src/core/axios.js +0 -65
- package/dist/src/core/axios.observable.d.ts +0 -11
- package/dist/src/core/axios.observable.js +0 -58
- package/dist/src/core/base.provider.advanced.test.d.ts +0 -1
- package/dist/src/core/base.provider.advanced.test.js +0 -29
- package/dist/src/core/base.provider.d.ts +0 -15
- package/dist/src/core/base.provider.js +0 -13
- package/dist/src/core/base.provider.test.d.ts +0 -1
- package/dist/src/core/base.provider.test.js +0 -36
- package/dist/src/core/base.service.wrapper.advanced.test.d.ts +0 -1
- package/dist/src/core/base.service.wrapper.advanced.test.js +0 -39
- package/dist/src/core/base.service.wrapper.d.ts +0 -7
- package/dist/src/core/base.service.wrapper.js +0 -11
- package/dist/src/core/base.service.wrapper.test.d.ts +0 -1
- package/dist/src/core/base.service.wrapper.test.js +0 -25
- package/dist/src/core/rx.http.service.d.ts +0 -51
- package/dist/src/core/rx.http.service.js +0 -65
- package/dist/src/index.d.ts +0 -17
- package/dist/src/index.js +0 -21
- package/dist/src/services/auth.service.d.ts +0 -65
- package/dist/src/services/auth.service.js +0 -197
- package/dist/src/services/auth.service.test.d.ts +0 -1
- package/dist/src/services/auth.service.test.js +0 -334
- package/dist/src/services/cache.service.d.ts +0 -31
- package/dist/src/services/cache.service.js +0 -77
- package/dist/src/services/cache.service.test.d.ts +0 -1
- package/dist/src/services/cache.service.test.js +0 -88
- package/dist/src/services/customer.service.d.ts +0 -71
- package/dist/src/services/customer.service.js +0 -114
- package/dist/src/services/customer.service.test.d.ts +0 -1
- package/dist/src/services/customer.service.test.js +0 -274
- package/dist/src/services/logger.service.d.ts +0 -31
- package/dist/src/services/logger.service.js +0 -93
- package/dist/src/services/logger.service.test.d.ts +0 -1
- package/dist/src/services/logger.service.test.js +0 -31
- package/dist/src/services/order.service.d.ts +0 -73
- package/dist/src/services/order.service.js +0 -97
- package/dist/src/services/order.service.test.d.ts +0 -1
- package/dist/src/services/order.service.test.js +0 -163
- package/dist/src/services/product.service.d.ts +0 -21
- package/dist/src/services/product.service.js +0 -42
- package/dist/src/services/product.service.test.d.ts +0 -1
- package/dist/src/services/product.service.test.js +0 -61
- package/dist/src/services/smess.service.d.ts +0 -36
- package/dist/src/services/smess.service.js +0 -128
- package/dist/src/services/smess.service.test.d.ts +0 -1
- package/dist/src/services/smess.service.test.js +0 -103
- package/dist/src/services/store.cart.service.d.ts +0 -158
- package/dist/src/services/store.cart.service.js +0 -177
- package/dist/src/services/store.cart.service.test.d.ts +0 -1
- package/dist/src/services/store.cart.service.test.js +0 -394
- package/dist/src/services/store.product.service.d.ts +0 -123
- package/dist/src/services/store.product.service.js +0 -102
- package/dist/src/services/store.product.service.test.d.ts +0 -1
- package/dist/src/services/store.product.service.test.js +0 -319
- package/dist/src/services/store.service.d.ts +0 -79
- package/dist/src/services/store.service.js +0 -235
- package/dist/src/services/store.service.test.d.ts +0 -1
- package/dist/src/services/store.service.test.js +0 -274
- package/dist/src/services/user.service.d.ts +0 -16
- package/dist/src/services/user.service.js +0 -37
- package/dist/src/services/user.service.test.d.ts +0 -1
- package/dist/src/services/user.service.test.js +0 -52
- package/dist/src/types/types.d.ts +0 -93
- package/dist/src/types/types.js +0 -82
- package/dist/src/types/types.test.d.ts +0 -1
- package/dist/src/types/types.test.js +0 -25
- package/dist/src/utils/cache-import.d.ts +0 -3
- package/dist/src/utils/cache-import.js +0 -2
- package/dist/src/utils/networking-import.d.ts +0 -4
- package/dist/src/utils/networking-import.js +0 -3
- package/dist/src/utils/rxjs-import.d.ts +0 -5
- package/dist/src/utils/rxjs-import.js +0 -5
- /package/dist/{src/services → services}/employee.service.d.ts +0 -0
- /package/dist/{src/services → services}/employee.service.test.d.ts +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -5,9 +5,11 @@ export * from "./services/store.service";
|
|
|
5
5
|
export * from "./services/store.cart.service";
|
|
6
6
|
export * from "./services/store.product.service";
|
|
7
7
|
export * from "./services/customer.service";
|
|
8
|
+
export * from "./services/employee.service";
|
|
8
9
|
export * from "./services/order.service";
|
|
9
10
|
export * from "./services/cache.service";
|
|
10
11
|
export * from "./services/smess.service";
|
|
12
|
+
export * from "./services/utils/withAuthReset";
|
|
11
13
|
export * from "./core/base.provider";
|
|
12
14
|
export * from "./core/base.service.wrapper";
|
|
13
15
|
export * from "./core/axios.observable";
|
package/dist/index.js
CHANGED
|
@@ -5,9 +5,11 @@ export * from "./services/store.service";
|
|
|
5
5
|
export * from "./services/store.cart.service";
|
|
6
6
|
export * from "./services/store.product.service";
|
|
7
7
|
export * from "./services/customer.service";
|
|
8
|
+
export * from "./services/employee.service";
|
|
8
9
|
export * from "./services/order.service";
|
|
9
10
|
export * from "./services/cache.service";
|
|
10
11
|
export * from "./services/smess.service";
|
|
12
|
+
export * from "./services/utils/withAuthReset";
|
|
11
13
|
export * from "./core/base.provider";
|
|
12
14
|
export * from "./core/base.service.wrapper";
|
|
13
15
|
export * from "./core/axios.observable";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProviderType, NetworkingConfig, NetworkingUIEventWrapped, HttpResponse } from "../types/types";
|
|
2
2
|
import { SmessService } from "./smess.service";
|
|
3
3
|
import { BehaviorSubject, Observable } from "rxjs";
|
|
4
|
-
export type CustomerTarget = "register" | "get-profile" | "update-profile";
|
|
4
|
+
export type CustomerTarget = "register" | "get-profile" | "update-profile" | "cart-collection" | "customer-product-collection" | "customer-product-create" | "customer-product-remove" | "customer-product-update-notes";
|
|
5
5
|
export interface CustomerRegisterRequest {
|
|
6
6
|
client_id?: string;
|
|
7
7
|
email: string;
|
|
@@ -21,6 +21,29 @@ export interface CustomerUpdateRequest {
|
|
|
21
21
|
contact_email: string | null;
|
|
22
22
|
phone_number: string | null;
|
|
23
23
|
}
|
|
24
|
+
export interface CustomerCartCollectionQuery {
|
|
25
|
+
page?: number;
|
|
26
|
+
per_page?: number;
|
|
27
|
+
status?: string;
|
|
28
|
+
search?: string;
|
|
29
|
+
sort_by?: string;
|
|
30
|
+
sort_order?: "asc" | "desc";
|
|
31
|
+
}
|
|
32
|
+
export interface CustomerProductCollectionQuery {
|
|
33
|
+
page?: number;
|
|
34
|
+
per_page?: number;
|
|
35
|
+
}
|
|
36
|
+
export interface CustomerProductCreateRequest {
|
|
37
|
+
product_id: string;
|
|
38
|
+
notes?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface CustomerProductRemoveRequest {
|
|
41
|
+
product_id: string;
|
|
42
|
+
}
|
|
43
|
+
export interface CustomerProductUpdateNotesRequest {
|
|
44
|
+
product_id: string;
|
|
45
|
+
notes: string;
|
|
46
|
+
}
|
|
24
47
|
export declare class CustomerProvider implements ProviderType {
|
|
25
48
|
private readonly config;
|
|
26
49
|
private readonly target;
|
|
@@ -40,4 +63,9 @@ export declare class CustomerService {
|
|
|
40
63
|
register(payload: CustomerRegisterRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
|
|
41
64
|
getProfile(): Observable<NetworkingUIEventWrapped<HttpResponse>>;
|
|
42
65
|
updateProfile(payload: CustomerUpdateRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
|
|
66
|
+
getCartCollection(query?: CustomerCartCollectionQuery): Observable<NetworkingUIEventWrapped<HttpResponse>>;
|
|
67
|
+
getCustomerProductCollection(query?: CustomerProductCollectionQuery): Observable<NetworkingUIEventWrapped<HttpResponse>>;
|
|
68
|
+
createCustomerProduct(payload: CustomerProductCreateRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
|
|
69
|
+
removeCustomerProduct(payload: CustomerProductRemoveRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
|
|
70
|
+
updateCustomerProductNotes(payload: CustomerProductUpdateNotesRequest): Observable<NetworkingUIEventWrapped<HttpResponse>>;
|
|
43
71
|
}
|
|
@@ -18,6 +18,16 @@ export class CustomerProvider {
|
|
|
18
18
|
return "/authentication/customer/get-profile";
|
|
19
19
|
case "update-profile":
|
|
20
20
|
return "/authentication/customer/update";
|
|
21
|
+
case "cart-collection":
|
|
22
|
+
return "/store/cart/collection";
|
|
23
|
+
case "customer-product-collection":
|
|
24
|
+
return "/store/customer-product/collection";
|
|
25
|
+
case "customer-product-create":
|
|
26
|
+
return "/store/customer-product";
|
|
27
|
+
case "customer-product-remove":
|
|
28
|
+
return "/store/customer-product/remove";
|
|
29
|
+
case "customer-product-update-notes":
|
|
30
|
+
return "/store/customer-product/notes";
|
|
21
31
|
default:
|
|
22
32
|
return "/authentication/customer";
|
|
23
33
|
}
|
|
@@ -26,6 +36,16 @@ export class CustomerProvider {
|
|
|
26
36
|
switch (this.target) {
|
|
27
37
|
case "get-profile":
|
|
28
38
|
return "GET";
|
|
39
|
+
case "cart-collection":
|
|
40
|
+
return "GET";
|
|
41
|
+
case "customer-product-collection":
|
|
42
|
+
return "GET";
|
|
43
|
+
case "customer-product-create":
|
|
44
|
+
return "POST";
|
|
45
|
+
case "customer-product-remove":
|
|
46
|
+
return "DELETE";
|
|
47
|
+
case "customer-product-update-notes":
|
|
48
|
+
return "PATCH";
|
|
29
49
|
case "update-profile":
|
|
30
50
|
return "PUT";
|
|
31
51
|
default:
|
|
@@ -76,4 +96,19 @@ export class CustomerService {
|
|
|
76
96
|
updateProfile(payload) {
|
|
77
97
|
return this.provider("update-profile").request(payload);
|
|
78
98
|
}
|
|
99
|
+
getCartCollection(query) {
|
|
100
|
+
return this.provider("cart-collection").request(query);
|
|
101
|
+
}
|
|
102
|
+
getCustomerProductCollection(query) {
|
|
103
|
+
return this.provider("customer-product-collection").request(query);
|
|
104
|
+
}
|
|
105
|
+
createCustomerProduct(payload) {
|
|
106
|
+
return this.provider("customer-product-create").request(payload);
|
|
107
|
+
}
|
|
108
|
+
removeCustomerProduct(payload) {
|
|
109
|
+
return this.provider("customer-product-remove").request(payload);
|
|
110
|
+
}
|
|
111
|
+
updateCustomerProductNotes(payload) {
|
|
112
|
+
return this.provider("customer-product-update-notes").request(payload);
|
|
113
|
+
}
|
|
79
114
|
}
|
|
@@ -97,4 +97,178 @@ describe("CustomerService", () => {
|
|
|
97
97
|
expect(result?.hasFailed).toBe(true);
|
|
98
98
|
expect(result?.alertModel).toBeInstanceOf(AlertModel);
|
|
99
99
|
});
|
|
100
|
+
it("getCartCollection success", async () => {
|
|
101
|
+
const response = {
|
|
102
|
+
data: { items: [], page: 1, perPage: 24, total: 0 },
|
|
103
|
+
};
|
|
104
|
+
const requestMock = jest
|
|
105
|
+
.fn()
|
|
106
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
|
|
107
|
+
jest.spyOn(service, "provider").mockReturnValue({
|
|
108
|
+
request: requestMock,
|
|
109
|
+
});
|
|
110
|
+
const query = {
|
|
111
|
+
page: 1,
|
|
112
|
+
per_page: 24,
|
|
113
|
+
status: "confirmed",
|
|
114
|
+
};
|
|
115
|
+
const result = await service.getCartCollection(query).toPromise();
|
|
116
|
+
expect(requestMock).toHaveBeenCalledWith(query);
|
|
117
|
+
expect(result?.hasSuccess).toBe(true);
|
|
118
|
+
expect(result?.response).toEqual(response);
|
|
119
|
+
});
|
|
120
|
+
it("getCartCollection error", async () => {
|
|
121
|
+
const requestMock = jest
|
|
122
|
+
.fn()
|
|
123
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel.default())));
|
|
124
|
+
jest.spyOn(service, "provider").mockReturnValue({
|
|
125
|
+
request: requestMock,
|
|
126
|
+
});
|
|
127
|
+
const query = {
|
|
128
|
+
page: 1,
|
|
129
|
+
per_page: 24,
|
|
130
|
+
};
|
|
131
|
+
const result = await service.getCartCollection(query).toPromise();
|
|
132
|
+
expect(requestMock).toHaveBeenCalledWith(query);
|
|
133
|
+
expect(result?.hasFailed).toBe(true);
|
|
134
|
+
expect(result?.alertModel).toBeInstanceOf(AlertModel);
|
|
135
|
+
});
|
|
136
|
+
it("getCustomerProductCollection success", async () => {
|
|
137
|
+
const response = {
|
|
138
|
+
data: { items: [], page: 1, perPage: 24, total: 0 },
|
|
139
|
+
};
|
|
140
|
+
const requestMock = jest
|
|
141
|
+
.fn()
|
|
142
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
|
|
143
|
+
jest.spyOn(service, "provider").mockReturnValue({
|
|
144
|
+
request: requestMock,
|
|
145
|
+
});
|
|
146
|
+
const query = {
|
|
147
|
+
page: 1,
|
|
148
|
+
per_page: 24,
|
|
149
|
+
};
|
|
150
|
+
const result = await service.getCustomerProductCollection(query).toPromise();
|
|
151
|
+
expect(requestMock).toHaveBeenCalledWith(query);
|
|
152
|
+
expect(result?.hasSuccess).toBe(true);
|
|
153
|
+
expect(result?.response).toEqual(response);
|
|
154
|
+
});
|
|
155
|
+
it("getCustomerProductCollection error", async () => {
|
|
156
|
+
const requestMock = jest
|
|
157
|
+
.fn()
|
|
158
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel.default())));
|
|
159
|
+
jest.spyOn(service, "provider").mockReturnValue({
|
|
160
|
+
request: requestMock,
|
|
161
|
+
});
|
|
162
|
+
const query = {
|
|
163
|
+
page: 1,
|
|
164
|
+
per_page: 24,
|
|
165
|
+
};
|
|
166
|
+
const result = await service.getCustomerProductCollection(query).toPromise();
|
|
167
|
+
expect(requestMock).toHaveBeenCalledWith(query);
|
|
168
|
+
expect(result?.hasFailed).toBe(true);
|
|
169
|
+
expect(result?.alertModel).toBeInstanceOf(AlertModel);
|
|
170
|
+
});
|
|
171
|
+
it("createCustomerProduct success", async () => {
|
|
172
|
+
const response = {
|
|
173
|
+
data: { id: "favorite-id", productId: "product-123" },
|
|
174
|
+
};
|
|
175
|
+
const requestMock = jest
|
|
176
|
+
.fn()
|
|
177
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
|
|
178
|
+
jest.spyOn(service, "provider").mockReturnValue({
|
|
179
|
+
request: requestMock,
|
|
180
|
+
});
|
|
181
|
+
const payload = {
|
|
182
|
+
product_id: "product-123",
|
|
183
|
+
notes: "Customer note for this favorite product",
|
|
184
|
+
};
|
|
185
|
+
const result = await service.createCustomerProduct(payload).toPromise();
|
|
186
|
+
expect(requestMock).toHaveBeenCalledWith(payload);
|
|
187
|
+
expect(result?.hasSuccess).toBe(true);
|
|
188
|
+
expect(result?.response).toEqual(response);
|
|
189
|
+
});
|
|
190
|
+
it("createCustomerProduct error", async () => {
|
|
191
|
+
const requestMock = jest
|
|
192
|
+
.fn()
|
|
193
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel.default())));
|
|
194
|
+
jest.spyOn(service, "provider").mockReturnValue({
|
|
195
|
+
request: requestMock,
|
|
196
|
+
});
|
|
197
|
+
const payload = {
|
|
198
|
+
product_id: "product-123",
|
|
199
|
+
notes: "Customer note for this favorite product",
|
|
200
|
+
};
|
|
201
|
+
const result = await service.createCustomerProduct(payload).toPromise();
|
|
202
|
+
expect(requestMock).toHaveBeenCalledWith(payload);
|
|
203
|
+
expect(result?.hasFailed).toBe(true);
|
|
204
|
+
expect(result?.alertModel).toBeInstanceOf(AlertModel);
|
|
205
|
+
});
|
|
206
|
+
it("removeCustomerProduct success", async () => {
|
|
207
|
+
const response = { data: { success: true } };
|
|
208
|
+
const requestMock = jest
|
|
209
|
+
.fn()
|
|
210
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
|
|
211
|
+
jest.spyOn(service, "provider").mockReturnValue({
|
|
212
|
+
request: requestMock,
|
|
213
|
+
});
|
|
214
|
+
const payload = {
|
|
215
|
+
product_id: "product-123",
|
|
216
|
+
};
|
|
217
|
+
const result = await service.removeCustomerProduct(payload).toPromise();
|
|
218
|
+
expect(requestMock).toHaveBeenCalledWith(payload);
|
|
219
|
+
expect(result?.hasSuccess).toBe(true);
|
|
220
|
+
expect(result?.response).toEqual(response);
|
|
221
|
+
});
|
|
222
|
+
it("removeCustomerProduct error", async () => {
|
|
223
|
+
const requestMock = jest
|
|
224
|
+
.fn()
|
|
225
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel.default())));
|
|
226
|
+
jest.spyOn(service, "provider").mockReturnValue({
|
|
227
|
+
request: requestMock,
|
|
228
|
+
});
|
|
229
|
+
const payload = {
|
|
230
|
+
product_id: "product-123",
|
|
231
|
+
};
|
|
232
|
+
const result = await service.removeCustomerProduct(payload).toPromise();
|
|
233
|
+
expect(requestMock).toHaveBeenCalledWith(payload);
|
|
234
|
+
expect(result?.hasFailed).toBe(true);
|
|
235
|
+
expect(result?.alertModel).toBeInstanceOf(AlertModel);
|
|
236
|
+
});
|
|
237
|
+
it("updateCustomerProductNotes success", async () => {
|
|
238
|
+
const response = { data: { success: true } };
|
|
239
|
+
const requestMock = jest
|
|
240
|
+
.fn()
|
|
241
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.succeeded(response)));
|
|
242
|
+
jest.spyOn(service, "provider").mockReturnValue({
|
|
243
|
+
request: requestMock,
|
|
244
|
+
});
|
|
245
|
+
const payload = {
|
|
246
|
+
product_id: "product-123",
|
|
247
|
+
notes: "Updated note for this favorite product",
|
|
248
|
+
};
|
|
249
|
+
const result = await service
|
|
250
|
+
.updateCustomerProductNotes(payload)
|
|
251
|
+
.toPromise();
|
|
252
|
+
expect(requestMock).toHaveBeenCalledWith(payload);
|
|
253
|
+
expect(result?.hasSuccess).toBe(true);
|
|
254
|
+
expect(result?.response).toEqual(response);
|
|
255
|
+
});
|
|
256
|
+
it("updateCustomerProductNotes error", async () => {
|
|
257
|
+
const requestMock = jest
|
|
258
|
+
.fn()
|
|
259
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel.default())));
|
|
260
|
+
jest.spyOn(service, "provider").mockReturnValue({
|
|
261
|
+
request: requestMock,
|
|
262
|
+
});
|
|
263
|
+
const payload = {
|
|
264
|
+
product_id: "product-123",
|
|
265
|
+
notes: "Updated note for this favorite product",
|
|
266
|
+
};
|
|
267
|
+
const result = await service
|
|
268
|
+
.updateCustomerProductNotes(payload)
|
|
269
|
+
.toPromise();
|
|
270
|
+
expect(requestMock).toHaveBeenCalledWith(payload);
|
|
271
|
+
expect(result?.hasFailed).toBe(true);
|
|
272
|
+
expect(result?.alertModel).toBeInstanceOf(AlertModel);
|
|
273
|
+
});
|
|
100
274
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Accept, SMESSHeader, SmessService } from "./smess.service";
|
|
2
|
+
import { withAuthReset } from "./utils/withAuthReset";
|
|
2
3
|
export class EmployeeProvider {
|
|
3
4
|
constructor(config, target, $authToken) {
|
|
4
5
|
this.config = config;
|
|
@@ -62,12 +63,12 @@ export class EmployeeService {
|
|
|
62
63
|
return new SmessService(targetWrapper);
|
|
63
64
|
}
|
|
64
65
|
getProfile() {
|
|
65
|
-
return this.provider("get-profile").request();
|
|
66
|
+
return withAuthReset(this.provider("get-profile").request(), this.$authToken);
|
|
66
67
|
}
|
|
67
68
|
getCartCollection(query) {
|
|
68
|
-
return this.provider("cart-client-collection").request(query);
|
|
69
|
+
return withAuthReset(this.provider("cart-client-collection").request(query), this.$authToken);
|
|
69
70
|
}
|
|
70
71
|
bulkCartAction(payload) {
|
|
71
|
-
return this.provider("cart-bulk-action").request(payload);
|
|
72
|
+
return withAuthReset(this.provider("cart-bulk-action").request(payload), this.$authToken);
|
|
72
73
|
}
|
|
73
74
|
}
|
|
@@ -25,13 +25,16 @@ describe("EmployeeService", () => {
|
|
|
25
25
|
expect(result?.hasSuccess).toBe(true);
|
|
26
26
|
expect(result?.response).toEqual(response);
|
|
27
27
|
});
|
|
28
|
-
it("getProfile error", async () => {
|
|
28
|
+
it("getProfile error clears auth token", async () => {
|
|
29
|
+
const alert = new AlertModel("Unauthorized", 401, true);
|
|
30
|
+
$authToken.next("token-123");
|
|
29
31
|
jest.spyOn(service, "provider").mockReturnValue({
|
|
30
|
-
request: () => of(NetworkingUIEventWrapped.failed(
|
|
32
|
+
request: () => of(NetworkingUIEventWrapped.failed(alert)),
|
|
31
33
|
});
|
|
32
34
|
const result = await service.getProfile().toPromise();
|
|
33
35
|
expect(result?.hasFailed).toBe(true);
|
|
34
36
|
expect(result?.alertModel).toBeInstanceOf(AlertModel);
|
|
37
|
+
expect($authToken.value).toBeNull();
|
|
35
38
|
});
|
|
36
39
|
it("getCartCollection success", async () => {
|
|
37
40
|
const response = {
|
|
@@ -53,10 +56,11 @@ describe("EmployeeService", () => {
|
|
|
53
56
|
expect(result?.hasSuccess).toBe(true);
|
|
54
57
|
expect(result?.response).toEqual(response);
|
|
55
58
|
});
|
|
56
|
-
it("getCartCollection error", async () => {
|
|
59
|
+
it("getCartCollection error clears auth token", async () => {
|
|
57
60
|
const requestMock = jest
|
|
58
61
|
.fn()
|
|
59
|
-
.mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel
|
|
62
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.failed(new AlertModel("Unauthorized", 401, true))));
|
|
63
|
+
$authToken.next("token-456");
|
|
60
64
|
jest.spyOn(service, "provider").mockReturnValue({
|
|
61
65
|
request: requestMock,
|
|
62
66
|
});
|
|
@@ -68,6 +72,7 @@ describe("EmployeeService", () => {
|
|
|
68
72
|
expect(requestMock).toHaveBeenCalledWith(query);
|
|
69
73
|
expect(result?.hasFailed).toBe(true);
|
|
70
74
|
expect(result?.alertModel).toBeInstanceOf(AlertModel);
|
|
75
|
+
expect($authToken.value).toBeNull();
|
|
71
76
|
});
|
|
72
77
|
it("bulkCartAction success", async () => {
|
|
73
78
|
const response = {
|
|
@@ -98,10 +103,11 @@ describe("EmployeeService", () => {
|
|
|
98
103
|
expect(result?.hasSuccess).toBe(true);
|
|
99
104
|
expect(result?.response).toEqual(response);
|
|
100
105
|
});
|
|
101
|
-
it("bulkCartAction error", async () => {
|
|
106
|
+
it("bulkCartAction error clears auth token", async () => {
|
|
102
107
|
const requestMock = jest
|
|
103
108
|
.fn()
|
|
104
|
-
.mockReturnValue(of(NetworkingUIEventWrapped.failed(AlertModel
|
|
109
|
+
.mockReturnValue(of(NetworkingUIEventWrapped.failed(new AlertModel("Unauthorized", 401, true))));
|
|
110
|
+
$authToken.next("token-789");
|
|
105
111
|
jest.spyOn(service, "provider").mockReturnValue({
|
|
106
112
|
request: requestMock,
|
|
107
113
|
});
|
|
@@ -116,5 +122,6 @@ describe("EmployeeService", () => {
|
|
|
116
122
|
expect(requestMock).toHaveBeenCalledWith(payload);
|
|
117
123
|
expect(result?.hasFailed).toBe(true);
|
|
118
124
|
expect(result?.alertModel).toBeInstanceOf(AlertModel);
|
|
125
|
+
expect($authToken.value).toBeNull();
|
|
119
126
|
});
|
|
120
127
|
});
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { BehaviorSubject, Observable } from "rxjs";
|
|
2
|
+
import { NetworkingUIEventWrapped } from "../../types/types";
|
|
3
|
+
export declare const withAuthReset: <T>(source$: Observable<NetworkingUIEventWrapped<T>>, $authToken: BehaviorSubject<string | null>) => Observable<NetworkingUIEventWrapped<T>>;
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "fake-indexeddb/auto";
|