@smess/networking 1.0.9 → 1.0.12

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 (54) hide show
  1. package/README.md +26 -20
  2. package/dist/core/axios.d.ts +3 -3
  3. package/dist/core/axios.js +2 -2
  4. package/dist/core/axios.observable.d.ts +3 -3
  5. package/dist/core/axios.observable.js +7 -7
  6. package/dist/core/base.provider.advanced.test.js +15 -15
  7. package/dist/core/base.provider.d.ts +1 -1
  8. package/dist/core/base.provider.js +2 -2
  9. package/dist/core/base.provider.test.js +22 -18
  10. package/dist/core/base.service.wrapper.advanced.test.js +16 -13
  11. package/dist/core/base.service.wrapper.d.ts +2 -2
  12. package/dist/core/base.service.wrapper.js +1 -1
  13. package/dist/core/base.service.wrapper.test.js +14 -14
  14. package/dist/core/rx.http.service.d.ts +3 -3
  15. package/dist/core/rx.http.service.js +2 -2
  16. package/dist/index.d.ts +13 -13
  17. package/dist/index.js +15 -15
  18. package/dist/services/auth.service.d.ts +6 -5
  19. package/dist/services/auth.service.js +50 -28
  20. package/dist/services/auth.service.test.js +67 -51
  21. package/dist/services/cache.service.d.ts +1 -1
  22. package/dist/services/cache.service.js +7 -7
  23. package/dist/services/cache.service.test.d.ts +1 -1
  24. package/dist/services/cache.service.test.js +37 -37
  25. package/dist/services/customer.service.d.ts +4 -4
  26. package/dist/services/customer.service.js +19 -17
  27. package/dist/services/customer.service.test.js +38 -34
  28. package/dist/services/logger.service.js +11 -11
  29. package/dist/services/logger.service.test.js +12 -12
  30. package/dist/services/order.service.d.ts +5 -4
  31. package/dist/services/order.service.js +32 -30
  32. package/dist/services/order.service.test.js +47 -47
  33. package/dist/services/product.service.d.ts +4 -4
  34. package/dist/services/product.service.js +8 -8
  35. package/dist/services/product.service.test.js +27 -19
  36. package/dist/services/smess.service.d.ts +2 -2
  37. package/dist/services/smess.service.js +19 -19
  38. package/dist/services/smess.service.test.js +36 -32
  39. package/dist/services/store.service.d.ts +4 -4
  40. package/dist/services/store.service.js +70 -50
  41. package/dist/services/store.service.test.d.ts +1 -1
  42. package/dist/services/store.service.test.js +161 -85
  43. package/dist/services/user.service.d.ts +3 -3
  44. package/dist/services/user.service.js +11 -8
  45. package/dist/services/user.service.test.js +23 -17
  46. package/dist/types/types.js +3 -3
  47. package/dist/types/types.test.js +8 -8
  48. package/dist/utils/cache-import.d.ts +1 -1
  49. package/dist/utils/cache-import.js +1 -1
  50. package/dist/utils/networking-import.d.ts +3 -3
  51. package/dist/utils/networking-import.js +2 -2
  52. package/dist/utils/rxjs-import.d.ts +2 -2
  53. package/dist/utils/rxjs-import.js +2 -2
  54. package/package.json +1 -1
@@ -1,12 +1,12 @@
1
- import { CustomerService } from './customer.service';
2
- import { NetworkingUIEventWrapped, AlertModel } from '../types/types';
3
- import { of, BehaviorSubject } from 'rxjs';
4
- describe('CustomerService', () => {
1
+ import { CustomerService, } from "./customer.service";
2
+ import { NetworkingUIEventWrapped, AlertModel, } from "../types/types";
3
+ import { of, BehaviorSubject } from "rxjs";
4
+ describe("CustomerService", () => {
5
5
  const config = {
6
- baseUrl: 'https://api.example.com',
6
+ baseUrl: "https://api.example.com",
7
7
  isProd: false,
8
- clientId: 'test-client-id',
9
- apiKey: 'test-api-key',
8
+ clientId: "test-client-id",
9
+ apiKey: "test-api-key",
10
10
  };
11
11
  let service;
12
12
  let $authToken;
@@ -14,79 +14,83 @@ describe('CustomerService', () => {
14
14
  $authToken = new BehaviorSubject(null);
15
15
  service = new CustomerService(config, $authToken);
16
16
  });
17
- it('register success', async () => {
17
+ it("register success", async () => {
18
18
  const payload = {
19
- email: 'test@example.com',
20
- password: 'pass',
19
+ email: "test@example.com",
20
+ password: "pass",
21
21
  };
22
- const response = { data: { id: 1, email: 'test@example.com' } };
23
- jest.spyOn(service, 'provider').mockReturnValue({
22
+ const response = {
23
+ data: { id: 1, email: "test@example.com" },
24
+ };
25
+ jest.spyOn(service, "provider").mockReturnValue({
24
26
  request: () => of(NetworkingUIEventWrapped.succeeded(response)),
25
27
  });
26
28
  const result = await service.register(payload).toPromise();
27
29
  expect(result?.hasSuccess).toBe(true);
28
30
  expect(result?.response).toEqual(response);
29
31
  });
30
- it('register error', async () => {
32
+ it("register error", async () => {
31
33
  const payload = {
32
- email: 'test@example.com',
33
- password: 'pass',
34
+ email: "test@example.com",
35
+ password: "pass",
34
36
  };
35
- jest.spyOn(service, 'provider').mockReturnValue({
37
+ jest.spyOn(service, "provider").mockReturnValue({
36
38
  request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
37
39
  });
38
40
  const result = await service.register(payload).toPromise();
39
41
  expect(result?.hasFailed).toBe(true);
40
42
  expect(result?.alertModel).toBeInstanceOf(AlertModel);
41
43
  });
42
- it('getProfile success', async () => {
43
- const response = { data: { id: 1, email: 'test@example.com' } };
44
- jest.spyOn(service, 'provider').mockReturnValue({
44
+ it("getProfile success", async () => {
45
+ const response = {
46
+ data: { id: 1, email: "test@example.com" },
47
+ };
48
+ jest.spyOn(service, "provider").mockReturnValue({
45
49
  request: () => of(NetworkingUIEventWrapped.succeeded(response)),
46
50
  });
47
51
  const result = await service.getProfile().toPromise();
48
52
  expect(result?.hasSuccess).toBe(true);
49
53
  expect(result?.response).toEqual(response);
50
54
  });
51
- it('getProfile error', async () => {
52
- jest.spyOn(service, 'provider').mockReturnValue({
55
+ it("getProfile error", async () => {
56
+ jest.spyOn(service, "provider").mockReturnValue({
53
57
  request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
54
58
  });
55
59
  const result = await service.getProfile().toPromise();
56
60
  expect(result?.hasFailed).toBe(true);
57
61
  expect(result?.alertModel).toBeInstanceOf(AlertModel);
58
62
  });
59
- it('updateProfile success', async () => {
63
+ it("updateProfile success", async () => {
60
64
  const payload = {
61
- name: 'Test',
62
- address: '123 Main St',
63
- postal_code: '12345',
64
- city: 'City',
65
+ name: "Test",
66
+ address: "123 Main St",
67
+ postal_code: "12345",
68
+ city: "City",
65
69
  state: null,
66
70
  country: null,
67
71
  contact_email: null,
68
72
  phone_number: null,
69
73
  };
70
- const response = { data: { id: 1, name: 'Test' } };
71
- jest.spyOn(service, 'provider').mockReturnValue({
74
+ const response = { data: { id: 1, name: "Test" } };
75
+ jest.spyOn(service, "provider").mockReturnValue({
72
76
  request: () => of(NetworkingUIEventWrapped.succeeded(response)),
73
77
  });
74
78
  const result = await service.updateProfile(payload).toPromise();
75
79
  expect(result?.hasSuccess).toBe(true);
76
80
  expect(result?.response).toEqual(response);
77
81
  });
78
- it('updateProfile error', async () => {
82
+ it("updateProfile error", async () => {
79
83
  const payload = {
80
- name: 'Test',
81
- address: '123 Main St',
82
- postal_code: '12345',
83
- city: 'City',
84
+ name: "Test",
85
+ address: "123 Main St",
86
+ postal_code: "12345",
87
+ city: "City",
84
88
  state: null,
85
89
  country: null,
86
90
  contact_email: null,
87
91
  phone_number: null,
88
92
  };
89
- jest.spyOn(service, 'provider').mockReturnValue({
93
+ jest.spyOn(service, "provider").mockReturnValue({
90
94
  request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
91
95
  });
92
96
  const result = await service.updateProfile(payload).toPromise();
@@ -21,21 +21,21 @@ export class LoggerService {
21
21
  formatMessage(level, message, context) {
22
22
  const emoji = this.getEmojiForLevel(level);
23
23
  const levelName = LogLevel[level];
24
- const contextStr = context ? ` [${context}]` : '';
24
+ const contextStr = context ? ` [${context}]` : "";
25
25
  return `${emoji} ${levelName}${contextStr}: ${message}`;
26
26
  }
27
27
  getEmojiForLevel(level) {
28
28
  switch (level) {
29
29
  case LogLevel.DEBUG:
30
- return '🔍';
30
+ return "🔍";
31
31
  case LogLevel.INFO:
32
- return 'ℹ️';
32
+ return "ℹ️";
33
33
  case LogLevel.WARN:
34
- return '⚠️';
34
+ return "⚠️";
35
35
  case LogLevel.ERROR:
36
- return '❌';
36
+ return "❌";
37
37
  default:
38
- return '📝';
38
+ return "📝";
39
39
  }
40
40
  }
41
41
  log(level, message, data, context) {
@@ -46,7 +46,7 @@ export class LoggerService {
46
46
  message,
47
47
  data,
48
48
  timestamp: Date.now(),
49
- context
49
+ context,
50
50
  };
51
51
  // Store log entry
52
52
  this.logs.push(logEntry);
@@ -57,16 +57,16 @@ export class LoggerService {
57
57
  const formattedMessage = this.formatMessage(level, message, context);
58
58
  switch (level) {
59
59
  case LogLevel.DEBUG:
60
- console.debug(formattedMessage, data || '');
60
+ console.debug(formattedMessage, data || "");
61
61
  break;
62
62
  case LogLevel.INFO:
63
- console.info(formattedMessage, data || '');
63
+ console.info(formattedMessage, data || "");
64
64
  break;
65
65
  case LogLevel.WARN:
66
- console.warn(formattedMessage, data || '');
66
+ console.warn(formattedMessage, data || "");
67
67
  break;
68
68
  case LogLevel.ERROR:
69
- console.error(formattedMessage, data || '');
69
+ console.error(formattedMessage, data || "");
70
70
  break;
71
71
  }
72
72
  }
@@ -1,29 +1,29 @@
1
- import { $logger, LogLevel } from './logger.service';
2
- describe('LoggerService', () => {
1
+ import { $logger, LogLevel } from "./logger.service";
2
+ describe("LoggerService", () => {
3
3
  beforeEach(() => {
4
4
  $logger.clearLogs();
5
5
  $logger.setLogLevel(LogLevel.DEBUG);
6
6
  });
7
- it('should log info', () => {
8
- $logger.info('info message', { foo: 1 }, 'test');
7
+ it("should log info", () => {
8
+ $logger.info("info message", { foo: 1 }, "test");
9
9
  const logs = $logger.getLogs();
10
10
  expect(logs[0].level).toBe(LogLevel.INFO);
11
- expect(logs[0].message).toBe('info message');
11
+ expect(logs[0].message).toBe("info message");
12
12
  expect(logs[0].data).toEqual({ foo: 1 });
13
- expect(logs[0].context).toBe('test');
13
+ expect(logs[0].context).toBe("test");
14
14
  });
15
- it('should log warn and error', () => {
16
- $logger.warn('warn message');
17
- $logger.error('error message', { bar: 2 });
15
+ it("should log warn and error", () => {
16
+ $logger.warn("warn message");
17
+ $logger.error("error message", { bar: 2 });
18
18
  const logs = $logger.getLogs();
19
19
  expect(logs[0].level).toBe(LogLevel.WARN);
20
20
  expect(logs[1].level).toBe(LogLevel.ERROR);
21
21
  expect(logs[1].data).toEqual({ bar: 2 });
22
22
  });
23
- it('should respect log level', () => {
23
+ it("should respect log level", () => {
24
24
  $logger.setLogLevel(LogLevel.ERROR);
25
- $logger.info('should not log');
26
- $logger.error('should log');
25
+ $logger.info("should not log");
26
+ $logger.error("should log");
27
27
  const logs = $logger.getLogs();
28
28
  expect(logs.length).toBe(1);
29
29
  expect(logs[0].level).toBe(LogLevel.ERROR);
@@ -1,7 +1,7 @@
1
- import { ProviderType, NetworkingConfig, NetworkingUIEventWrapped, HttpResponse } from '../types/types';
2
- import { SmessService } from './smess.service';
3
- import { BehaviorSubject, Observable } from 'rxjs';
4
- export type OrderTarget = 'order-list' | 'order-create' | 'order-delete' | 'order-get-draft' | 'order-update' | 'order-get';
1
+ import { ProviderType, NetworkingConfig, NetworkingUIEventWrapped, HttpResponse } from "../types/types";
2
+ import { SmessService } from "./smess.service";
3
+ import { BehaviorSubject, Observable } from "rxjs";
4
+ export type OrderTarget = "order-list" | "order-create" | "order-delete" | "order-get-draft" | "order-update" | "order-get";
5
5
  export interface CreateOrderRequest extends UpdateOrderRequest {
6
6
  }
7
7
  export interface UpdateOrderRequest {
@@ -12,6 +12,7 @@ export interface UpdateOrderRequest {
12
12
  payment_status?: string;
13
13
  delivery_note?: string;
14
14
  delivery_fee?: number;
15
+ delivery_address?: string;
15
16
  payment_method?: string;
16
17
  payment_period?: string;
17
18
  discount_in_percent?: number;
@@ -1,4 +1,4 @@
1
- import { Accept, SMESSHeader, SmessService } from './smess.service';
1
+ import { Accept, SMESSHeader, SmessService } from "./smess.service";
2
2
  export class OrderProvider {
3
3
  constructor(config, target, $authToken) {
4
4
  this.config = config;
@@ -6,38 +6,40 @@ export class OrderProvider {
6
6
  this.$authToken = $authToken;
7
7
  }
8
8
  get baseURL() {
9
- return this.config.version ? `${this.config.baseUrl}/${this.config.version}` : this.config.baseUrl;
9
+ return this.config.version
10
+ ? `${this.config.baseUrl}/${this.config.version}`
11
+ : this.config.baseUrl;
10
12
  }
11
13
  get path() {
12
14
  switch (this.target) {
13
- case 'order-list':
14
- return '/order/list';
15
- case 'order-create':
16
- return '/order/create';
17
- case 'order-delete':
18
- return '/order/${id}';
19
- case 'order-get-draft':
20
- return '/order/get-draft';
21
- case 'order-update':
22
- case 'order-get':
15
+ case "order-list":
16
+ return "/order/list";
17
+ case "order-create":
18
+ return "/order/create";
19
+ case "order-delete":
20
+ return "/order/${id}";
21
+ case "order-get-draft":
22
+ return "/order/get-draft";
23
+ case "order-update":
24
+ case "order-get":
23
25
  default:
24
- return '/order/${id}';
26
+ return "/order/${id}";
25
27
  }
26
28
  }
27
29
  get method() {
28
30
  switch (this.target) {
29
- case 'order-list':
30
- case 'order-get':
31
- case 'order-get-draft':
32
- return 'GET';
33
- case 'order-create':
34
- return 'POST';
35
- case 'order-update':
36
- return 'PUT';
37
- case 'order-delete':
38
- return 'DELETE';
31
+ case "order-list":
32
+ case "order-get":
33
+ case "order-get-draft":
34
+ return "GET";
35
+ case "order-create":
36
+ return "POST";
37
+ case "order-update":
38
+ return "PUT";
39
+ case "order-delete":
40
+ return "DELETE";
39
41
  default:
40
- return 'GET';
42
+ return "GET";
41
43
  }
42
44
  }
43
45
  get headers() {
@@ -69,21 +71,21 @@ export class OrderService {
69
71
  return new SmessService(targetWrapper);
70
72
  }
71
73
  list() {
72
- return this.provider('order-list').request();
74
+ return this.provider("order-list").request();
73
75
  }
74
76
  create(payload) {
75
- return this.provider('order-create').request(payload);
77
+ return this.provider("order-create").request(payload);
76
78
  }
77
79
  delete(id) {
78
- return this.provider('order-delete').request(null, undefined, id);
80
+ return this.provider("order-delete").request(null, undefined, id);
79
81
  }
80
82
  getDraft() {
81
- return this.provider('order-get-draft').request();
83
+ return this.provider("order-get-draft").request();
82
84
  }
83
85
  update(id, payload) {
84
- return this.provider('order-update').request(payload, undefined, id);
86
+ return this.provider("order-update").request(payload, undefined, id);
85
87
  }
86
88
  get(id) {
87
- return this.provider('order-get').request(null, undefined, id);
89
+ return this.provider("order-get").request(null, undefined, id);
88
90
  }
89
91
  }
@@ -1,12 +1,12 @@
1
- import { OrderService } from './order.service';
2
- import { NetworkingUIEventWrapped, AlertModel } from '../types/types';
3
- import { of, BehaviorSubject } from 'rxjs';
4
- describe('OrderService', () => {
1
+ import { OrderService, } from "./order.service";
2
+ import { NetworkingUIEventWrapped, AlertModel, } from "../types/types";
3
+ import { of, BehaviorSubject } from "rxjs";
4
+ describe("OrderService", () => {
5
5
  const config = {
6
- baseUrl: 'https://api.example.com',
6
+ baseUrl: "https://api.example.com",
7
7
  isProd: false,
8
- clientId: 'test-client-id',
9
- apiKey: 'test-api-key',
8
+ clientId: "test-client-id",
9
+ apiKey: "test-api-key",
10
10
  };
11
11
  let service;
12
12
  let $authToken;
@@ -14,121 +14,121 @@ describe('OrderService', () => {
14
14
  $authToken = new BehaviorSubject(null);
15
15
  service = new OrderService(config, $authToken);
16
16
  });
17
- it('list success', async () => {
18
- const response = { data: [{ id: '1', status: 'draft' }] };
19
- jest.spyOn(service, 'provider').mockReturnValue({
17
+ it("list success", async () => {
18
+ const response = { data: [{ id: "1", status: "draft" }] };
19
+ jest.spyOn(service, "provider").mockReturnValue({
20
20
  request: () => of(NetworkingUIEventWrapped.succeeded(response)),
21
21
  });
22
22
  const result = await service.list().toPromise();
23
23
  expect(result?.hasSuccess).toBe(true);
24
24
  expect(result?.response).toEqual(response);
25
25
  });
26
- it('list error', async () => {
27
- jest.spyOn(service, 'provider').mockReturnValue({
26
+ it("list error", async () => {
27
+ jest.spyOn(service, "provider").mockReturnValue({
28
28
  request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
29
29
  });
30
30
  const result = await service.list().toPromise();
31
31
  expect(result?.hasFailed).toBe(true);
32
32
  expect(result?.alertModel).toBeInstanceOf(AlertModel);
33
33
  });
34
- it('create success', async () => {
34
+ it("create success", async () => {
35
35
  const payload = {
36
- order_date: '2024-01-01',
36
+ order_date: "2024-01-01",
37
37
  order_items: [],
38
38
  };
39
- const response = { data: { id: '1', status: 'created' } };
40
- jest.spyOn(service, 'provider').mockReturnValue({
39
+ const response = { data: { id: "1", status: "created" } };
40
+ jest.spyOn(service, "provider").mockReturnValue({
41
41
  request: () => of(NetworkingUIEventWrapped.succeeded(response)),
42
42
  });
43
43
  const result = await service.create(payload).toPromise();
44
44
  expect(result?.hasSuccess).toBe(true);
45
45
  expect(result?.response).toEqual(response);
46
46
  });
47
- it('create error', async () => {
47
+ it("create error", async () => {
48
48
  const payload = {
49
- order_date: '2024-01-01',
49
+ order_date: "2024-01-01",
50
50
  order_items: [],
51
51
  };
52
- jest.spyOn(service, 'provider').mockReturnValue({
52
+ jest.spyOn(service, "provider").mockReturnValue({
53
53
  request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
54
54
  });
55
55
  const result = await service.create(payload).toPromise();
56
56
  expect(result?.hasFailed).toBe(true);
57
57
  expect(result?.alertModel).toBeInstanceOf(AlertModel);
58
58
  });
59
- it('delete success', async () => {
60
- const response = { data: { id: '1', status: 'deleted' } };
61
- jest.spyOn(service, 'provider').mockReturnValue({
59
+ it("delete success", async () => {
60
+ const response = { data: { id: "1", status: "deleted" } };
61
+ jest.spyOn(service, "provider").mockReturnValue({
62
62
  request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.succeeded(response)),
63
63
  });
64
- const result = await service.delete('1').toPromise();
64
+ const result = await service.delete("1").toPromise();
65
65
  expect(result?.hasSuccess).toBe(true);
66
66
  expect(result?.response).toEqual(response);
67
67
  });
68
- it('delete error', async () => {
69
- jest.spyOn(service, 'provider').mockReturnValue({
68
+ it("delete error", async () => {
69
+ jest.spyOn(service, "provider").mockReturnValue({
70
70
  request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
71
71
  });
72
- const result = await service.delete('1').toPromise();
72
+ const result = await service.delete("1").toPromise();
73
73
  expect(result?.hasFailed).toBe(true);
74
74
  expect(result?.alertModel).toBeInstanceOf(AlertModel);
75
75
  });
76
- it('getDraft success', async () => {
77
- const response = { data: { id: 'draft', status: 'draft' } };
78
- jest.spyOn(service, 'provider').mockReturnValue({
76
+ it("getDraft success", async () => {
77
+ const response = { data: { id: "draft", status: "draft" } };
78
+ jest.spyOn(service, "provider").mockReturnValue({
79
79
  request: () => of(NetworkingUIEventWrapped.succeeded(response)),
80
80
  });
81
81
  const result = await service.getDraft().toPromise();
82
82
  expect(result?.hasSuccess).toBe(true);
83
83
  expect(result?.response).toEqual(response);
84
84
  });
85
- it('getDraft error', async () => {
86
- jest.spyOn(service, 'provider').mockReturnValue({
85
+ it("getDraft error", async () => {
86
+ jest.spyOn(service, "provider").mockReturnValue({
87
87
  request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
88
88
  });
89
89
  const result = await service.getDraft().toPromise();
90
90
  expect(result?.hasFailed).toBe(true);
91
91
  expect(result?.alertModel).toBeInstanceOf(AlertModel);
92
92
  });
93
- it('update success', async () => {
93
+ it("update success", async () => {
94
94
  const payload = {
95
- order_date: '2024-01-01',
95
+ order_date: "2024-01-01",
96
96
  order_items: [],
97
97
  };
98
- const response = { data: { id: '1', status: 'updated' } };
99
- jest.spyOn(service, 'provider').mockReturnValue({
98
+ const response = { data: { id: "1", status: "updated" } };
99
+ jest.spyOn(service, "provider").mockReturnValue({
100
100
  request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.succeeded(response)),
101
101
  });
102
- const result = await service.update('1', payload).toPromise();
102
+ const result = await service.update("1", payload).toPromise();
103
103
  expect(result?.hasSuccess).toBe(true);
104
104
  expect(result?.response).toEqual(response);
105
105
  });
106
- it('update error', async () => {
106
+ it("update error", async () => {
107
107
  const payload = {
108
- order_date: '2024-01-01',
108
+ order_date: "2024-01-01",
109
109
  order_items: [],
110
110
  };
111
- jest.spyOn(service, 'provider').mockReturnValue({
111
+ jest.spyOn(service, "provider").mockReturnValue({
112
112
  request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
113
113
  });
114
- const result = await service.update('1', payload).toPromise();
114
+ const result = await service.update("1", payload).toPromise();
115
115
  expect(result?.hasFailed).toBe(true);
116
116
  expect(result?.alertModel).toBeInstanceOf(AlertModel);
117
117
  });
118
- it('get success', async () => {
119
- const response = { data: { id: '1', status: 'fetched' } };
120
- jest.spyOn(service, 'provider').mockReturnValue({
118
+ it("get success", async () => {
119
+ const response = { data: { id: "1", status: "fetched" } };
120
+ jest.spyOn(service, "provider").mockReturnValue({
121
121
  request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.succeeded(response)),
122
122
  });
123
- const result = await service.get('1').toPromise();
123
+ const result = await service.get("1").toPromise();
124
124
  expect(result?.hasSuccess).toBe(true);
125
125
  expect(result?.response).toEqual(response);
126
126
  });
127
- it('get error', async () => {
128
- jest.spyOn(service, 'provider').mockReturnValue({
127
+ it("get error", async () => {
128
+ jest.spyOn(service, "provider").mockReturnValue({
129
129
  request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
130
130
  });
131
- const result = await service.get('1').toPromise();
131
+ const result = await service.get("1").toPromise();
132
132
  expect(result?.hasFailed).toBe(true);
133
133
  expect(result?.alertModel).toBeInstanceOf(AlertModel);
134
134
  });
@@ -1,6 +1,6 @@
1
- import { BaseProvider } from '../core/base.provider';
2
- import { BaseServiceWrapper } from '../core/base.service.wrapper';
3
- import { NetworkingConfig } from '../types/types';
1
+ import { BaseProvider } from "../core/base.provider";
2
+ import { BaseServiceWrapper } from "../core/base.service.wrapper";
3
+ import { NetworkingConfig } from "../types/types";
4
4
  export interface Product {
5
5
  id: number;
6
6
  name: string;
@@ -17,5 +17,5 @@ export declare class ProductService extends BaseServiceWrapper<ProductProvider>
17
17
  constructor(config: NetworkingConfig, productId?: number, method?: string);
18
18
  fetchProductById(id: number): import("rxjs").Observable<import("../types/types").NetworkingUIEventWrapped<Product>>;
19
19
  fetchAllProducts(): import("rxjs").Observable<import("../types/types").NetworkingUIEventWrapped<Product[]>>;
20
- createProduct(product: Omit<Product, 'id'>): import("rxjs").Observable<import("../types/types").NetworkingUIEventWrapped<Product>>;
20
+ createProduct(product: Omit<Product, "id">): import("rxjs").Observable<import("../types/types").NetworkingUIEventWrapped<Product>>;
21
21
  }
@@ -1,14 +1,14 @@
1
- import { BaseProvider } from '../core/base.provider';
2
- import { BaseServiceWrapper } from '../core/base.service.wrapper';
1
+ import { BaseProvider } from "../core/base.provider";
2
+ import { BaseServiceWrapper } from "../core/base.service.wrapper";
3
3
  // ProductProvider implements ProviderType for product endpoints
4
4
  export class ProductProvider extends BaseProvider {
5
5
  constructor(config, { productId, method } = {}) {
6
6
  super({
7
7
  config,
8
- path: productId ? `/products/${productId}` : '/products',
9
- method: method || 'GET',
10
- headers: { 'Content-Type': 'application/json' },
11
- getPath: () => (productId ? `/products/${productId}` : '/products'),
8
+ path: productId ? `/products/${productId}` : "/products",
9
+ method: method || "GET",
10
+ headers: { "Content-Type": "application/json" },
11
+ getPath: () => (productId ? `/products/${productId}` : "/products"),
12
12
  });
13
13
  }
14
14
  }
@@ -30,7 +30,7 @@ export class ProductService extends BaseServiceWrapper {
30
30
  }
31
31
  // Create a new product (POST)
32
32
  createProduct(product) {
33
- this.provider = new ProductProvider(this.config, { method: 'POST' });
33
+ this.provider = new ProductProvider(this.config, { method: "POST" });
34
34
  return this.request(product);
35
35
  }
36
36
  }
@@ -39,4 +39,4 @@ export class ProductService extends BaseServiceWrapper {
39
39
  // const productService = new ProductService();
40
40
  // productService.fetchProductById(1).subscribe(result => console.log(result));
41
41
  // productService.fetchAllProducts().subscribe(result => console.log(result));
42
- // productService.createProduct({ name: 'New Product', price: 99.99 }).subscribe(result => console.log(result));
42
+ // productService.createProduct({ name: 'New Product', price: 99.99 }).subscribe(result => console.log(result));