@hedhog/admin 0.46.39 → 0.46.41

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 (111) hide show
  1. package/README.md +960 -960
  2. package/dist/auth/auth.service.d.ts.map +1 -1
  3. package/dist/auth/auth.service.js +6 -4
  4. package/dist/auth/auth.service.js.map +1 -1
  5. package/dist/auth/consts/body.js +24 -24
  6. package/dist/emails/templates.d.ts.map +1 -1
  7. package/dist/emails/templates.js +48 -48
  8. package/dist/emails/templates.js.map +1 -1
  9. package/frontend/menu/components/create-panel.tsx.ejs +55 -55
  10. package/frontend/menu/components/update-panel.tsx.ejs +67 -67
  11. package/frontend/menu/locales/en/admin.menu.json +11 -11
  12. package/frontend/menu/locales/pt/admin.menu.json +11 -11
  13. package/frontend/menu/react-query/handlers.ts.ejs +28 -28
  14. package/frontend/menu/react-query/requests.ts.ejs +56 -56
  15. package/frontend/menu-locale/locales/en/admin.menu-locale.json +11 -11
  16. package/frontend/menu-locale/locales/pt/admin.menu-locale.json +11 -11
  17. package/frontend/menu-screen/locales/en/admin.menu-screen.json +11 -11
  18. package/frontend/menu-screen/locales/pt/admin.menu-screen.json +11 -11
  19. package/frontend/multifactor/components/create-panel.tsx.ejs +55 -55
  20. package/frontend/multifactor/components/update-panel.tsx.ejs +70 -70
  21. package/frontend/multifactor/locales/en/admin.multifactor.json +11 -11
  22. package/frontend/multifactor/locales/pt/admin.multifactor.json +11 -11
  23. package/frontend/multifactor/react-query/handlers.ts.ejs +28 -28
  24. package/frontend/multifactor/react-query/requests.ts.ejs +59 -59
  25. package/frontend/multifactor-locale/locales/en/admin.multifactor-locale.json +11 -11
  26. package/frontend/multifactor-locale/locales/pt/admin.multifactor-locale.json +11 -11
  27. package/frontend/screen/components/create-panel.tsx.ejs +55 -55
  28. package/frontend/screen/components/update-panel.tsx.ejs +67 -67
  29. package/frontend/screen/locales/en/admin.screen.json +11 -11
  30. package/frontend/screen/locales/pt/admin.screen.json +11 -11
  31. package/frontend/screen/react-query/handlers.ts.ejs +28 -28
  32. package/frontend/screen/react-query/requests.ts.ejs +56 -56
  33. package/frontend/screen-locale/locales/en/admin.screen-locale.json +11 -11
  34. package/frontend/screen-locale/locales/pt/admin.screen-locale.json +11 -11
  35. package/frontend/translation/components/create-panel.tsx.ejs +52 -52
  36. package/frontend/translation/components/update-panel.tsx.ejs +67 -67
  37. package/frontend/translation/locales/en/admin.translation.json +11 -11
  38. package/frontend/translation/locales/pt/admin.translation.json +11 -11
  39. package/frontend/translation/react-query/handlers.ts.ejs +28 -28
  40. package/frontend/translation/react-query/requests.ts.ejs +58 -58
  41. package/frontend/translation-namespace/components/create-panel.tsx.ejs +53 -53
  42. package/frontend/translation-namespace/components/update-panel.tsx.ejs +70 -70
  43. package/frontend/translation-namespace/locales/en/admin.translation-namespace.json +11 -11
  44. package/frontend/translation-namespace/locales/pt/admin.translation-namespace.json +11 -11
  45. package/frontend/translation-namespace/react-query/handlers.ts.ejs +28 -28
  46. package/frontend/translation-namespace/react-query/requests.ts.ejs +60 -60
  47. package/frontend/user/components/create-panel.tsx.ejs +52 -52
  48. package/frontend/user/components/update-panel.tsx.ejs +64 -64
  49. package/frontend/user/locales/en/admin.user.json +11 -11
  50. package/frontend/user/locales/pt/admin.user.json +11 -11
  51. package/frontend/user/react-query/handlers.ts.ejs +28 -28
  52. package/frontend/user/react-query/requests.ts.ejs +55 -55
  53. package/hedhog.yaml +783 -783
  54. package/package.json +45 -45
  55. package/src/admin.module.ts +39 -39
  56. package/src/auth/auth.controller.ts +88 -88
  57. package/src/auth/auth.module.ts +41 -41
  58. package/src/auth/auth.service.spec.ts +196 -196
  59. package/src/auth/auth.service.ts +355 -349
  60. package/src/auth/consts/body.ts +27 -27
  61. package/src/auth/dto/change.dto.ts +19 -19
  62. package/src/auth/dto/email.dto.ts +15 -15
  63. package/src/auth/dto/forget.dto.ts +6 -6
  64. package/src/auth/dto/login.dto.ts +21 -21
  65. package/src/auth/dto/otp.dto.ts +11 -11
  66. package/src/auth/dto/reset.dto.ts +14 -14
  67. package/src/auth/enums/multifactor-type.enum.ts +4 -4
  68. package/src/auth/guards/auth.guard.ts +54 -54
  69. package/src/auth/types/user.type.ts +8 -8
  70. package/src/dto/delete.dto.ts +8 -8
  71. package/src/dto/update-ids.dto.ts +9 -9
  72. package/src/emails/index.ts +2 -2
  73. package/src/emails/lib.ts +40 -40
  74. package/src/emails/templates.ts +62 -60
  75. package/src/index.ts +20 -20
  76. package/src/menu/dto/create.dto.ts +25 -25
  77. package/src/menu/dto/order.dto.ts +8 -8
  78. package/src/menu/dto/update.dto.ts +19 -19
  79. package/src/menu/menu.controller.ts +105 -105
  80. package/src/menu/menu.module.ts +18 -18
  81. package/src/menu/menu.service.spec.ts +247 -247
  82. package/src/menu/menu.service.ts +263 -263
  83. package/src/role/dto/create.dto.ts +7 -7
  84. package/src/role/dto/update.dto.ts +4 -4
  85. package/src/role/guards/role.guard.ts +121 -121
  86. package/src/role/role.controller.ts +126 -126
  87. package/src/role/role.module.ts +28 -28
  88. package/src/role/role.service.spec.ts +417 -417
  89. package/src/role/role.service.ts +289 -289
  90. package/src/route/dto/create.dto.ts +13 -13
  91. package/src/route/dto/update.dto.ts +15 -15
  92. package/src/route/route.controller.ts +91 -91
  93. package/src/route/route.module.ts +18 -18
  94. package/src/route/route.service.spec.ts +300 -300
  95. package/src/route/route.service.ts +164 -164
  96. package/src/screen/dto/create.dto.ts +11 -11
  97. package/src/screen/dto/update.dto.ts +19 -19
  98. package/src/screen/screen.controller.ts +93 -93
  99. package/src/screen/screen.module.ts +18 -18
  100. package/src/screen/screen.service.spec.ts +298 -298
  101. package/src/screen/screen.service.ts +179 -179
  102. package/src/types/http-method.ts +8 -8
  103. package/src/user/constants/user.constants.ts +1 -1
  104. package/src/user/dto/create.dto.ts +24 -24
  105. package/src/user/dto/update.dto.ts +41 -41
  106. package/src/user/user.controller.ts +75 -75
  107. package/src/user/user.module.ts +18 -18
  108. package/src/user/user.service.spec.ts +294 -294
  109. package/src/user/user.service.ts +129 -129
  110. package/tsconfig.lib.json +9 -9
  111. package/tsconfig.production.json +20 -20
@@ -1,298 +1,298 @@
1
- // import {
2
- // PageOrderDirection,
3
- // PaginationDTO,
4
- // PaginationService,
5
- // } from '@hedhog/pagination';
6
- // import { PrismaService } from '@hedhog/prisma';
7
- // import { BadRequestException } from '@nestjs/common';
8
- // import { Test, TestingModule } from '@nestjs/testing';
9
- // import { DeleteDTO } from '../dto/delete.dto';
10
- // import { UpdateIdsDTO } from '../dto/update-ids.dto';
11
- // import { ScreenService } from './screen.service';
12
-
13
- // describe('ScreenService', () => {
14
- // let service: ScreenService;
15
- // let prismaService: PrismaService;
16
- // let paginationService: PaginationService;
17
-
18
- // beforeEach(async () => {
19
- // const module: TestingModule = await Test.createTestingModule({
20
- // providers: [
21
- // ScreenService,
22
- // {
23
- // provide: PrismaService,
24
- // useValue: {
25
- // screens: {
26
- // create: jest.fn(),
27
- // update: jest.fn(),
28
- // deleteMany: jest.fn(),
29
- // findUnique: jest.fn(),
30
- // },
31
- // route: {
32
- // findMany: jest.fn(),
33
- // },
34
- // role_screen: {
35
- // deleteMany: jest.fn(),
36
- // createMany: jest.fn(),
37
- // },
38
- // route_screens: {
39
- // deleteMany: jest.fn(),
40
- // createMany: jest.fn(),
41
- // },
42
- // createInsensitiveSearch: jest.fn(),
43
- // },
44
- // },
45
- // {
46
- // provide: PaginationService,
47
- // useValue: {
48
- // paginate: jest.fn(),
49
- // },
50
- // },
51
- // ],
52
- // }).compile();
53
-
54
- // service = module.get<ScreenService>(ScreenService);
55
- // prismaService = module.get<PrismaService>(PrismaService);
56
- // paginationService = module.get<PaginationService>(PaginationService);
57
- // });
58
-
59
- // it('should be defined', () => {
60
- // expect(service).toBeDefined();
61
- // });
62
-
63
- // describe('create', () => {
64
- // it('should create a screen', async () => {
65
- // const createDTO = {
66
- // name: 'Test Screen',
67
- // slug: 'test-screen',
68
- // description: 'This is a test screen',
69
- // icon: 'test-icon',
70
- // };
71
-
72
- // jest
73
- // .spyOn(prismaService.screens, 'create')
74
- // .mockResolvedValue(createDTO as any);
75
-
76
- // const result = await service.create(createDTO);
77
-
78
- // expect(prismaService.screens.create).toHaveBeenCalledWith({
79
- // data: createDTO,
80
- // });
81
- // expect(result).toEqual(createDTO);
82
- // });
83
- // });
84
-
85
- // describe('delete', () => {
86
- // it('should throw an error if no ids are provided', async () => {
87
- // const deleteDTO: DeleteDTO = { ids: null };
88
-
89
- // await expect(service.delete(deleteDTO)).rejects.toThrow(
90
- // new BadRequestException(
91
- // `You must select at least one screen to delete.`,
92
- // ),
93
- // );
94
- // });
95
-
96
- // it('should delete screens by ids', async () => {
97
- // const deleteDTO: DeleteDTO = { ids: [1, 2] };
98
-
99
- // jest.spyOn(prismaService.screens, 'deleteMany').mockResolvedValue({
100
- // count: 2,
101
- // });
102
-
103
- // await service.delete(deleteDTO);
104
-
105
- // expect(prismaService.screens.deleteMany).toHaveBeenCalledWith({
106
- // where: { id: { in: deleteDTO.ids } },
107
- // });
108
- // });
109
- // });
110
-
111
- // describe('update', () => {
112
- // it('should update a screen', async () => {
113
- // const updateDTO = {
114
- // id: 1,
115
- // name: 'Updated Screen',
116
- // slug: 'updated-screen',
117
- // icon: 'update-icon',
118
- // created_at: new Date(),
119
- // updated_at: new Date(),
120
- // };
121
- // const updateInput = { id: 1, data: updateDTO };
122
-
123
- // jest.spyOn(prismaService.screens, 'update').mockResolvedValue(updateDTO);
124
-
125
- // const result = await service.update(updateInput);
126
-
127
- // expect(prismaService.screens.update).toHaveBeenCalledWith({
128
- // where: { id: updateInput.id },
129
- // data: updateInput.data,
130
- // });
131
- // expect(result).toEqual(updateDTO);
132
- // });
133
- // });
134
-
135
- // describe('get', () => {
136
- // it('should get a screen by id', async () => {
137
- // const screen = {
138
- // id: 1,
139
- // name: 'Updated Screen',
140
- // slug: 'updated-screen',
141
- // icon: 'update-icon',
142
- // created_at: new Date(),
143
- // updated_at: new Date(),
144
- // };
145
-
146
- // jest.spyOn(prismaService.screens, 'findUnique').mockResolvedValue(screen);
147
-
148
- // const result = await service.get(1);
149
-
150
- // expect(prismaService.screens.findUnique).toHaveBeenCalledWith({
151
- // where: { id: 1 },
152
- // });
153
- // expect(result).toEqual(screen);
154
- // });
155
- // });
156
-
157
- // describe('updateRoles', () => {
158
- // it('should update role for a screen', async () => {
159
- // const screenId = 1;
160
- // const updateIdsDTO: UpdateIdsDTO = { ids: [1, 2, 3] };
161
- // jest.spyOn(prismaService.role_screen, 'deleteMany').mockResolvedValue({
162
- // count: 1,
163
- // });
164
-
165
- // jest.spyOn(prismaService.role_screen, 'createMany').mockResolvedValue({
166
- // count: updateIdsDTO.ids.length,
167
- // });
168
-
169
- // await service.updateRoles(screenId, updateIdsDTO);
170
-
171
- // expect(prismaService.role_screen.deleteMany).toHaveBeenCalledWith({
172
- // where: { screen_id: screenId },
173
- // });
174
- // expect(prismaService.role_screen.createMany).toHaveBeenCalledWith({
175
- // data: updateIdsDTO.ids.map((roleId) => ({
176
- // screen_id: screenId,
177
- // role_id: roleId,
178
- // })),
179
- // skipDuplicates: true,
180
- // });
181
- // });
182
- // });
183
-
184
- // describe('updateRoutes', () => {
185
- // it('should delete existing route_screens and create new ones', async () => {
186
- // const screenId = 1;
187
- // const updateIdsDTO: UpdateIdsDTO = { ids: [1, 2, 3] };
188
-
189
- // prismaService.route.findMany = jest
190
- // .fn()
191
- // .mockResolvedValue([{ id: 1 }, { id: 2 }, { id: 3 }]);
192
-
193
- // prismaService.route_screens.deleteMany = jest.fn();
194
- // prismaService.route_screens.createMany = jest.fn();
195
-
196
- // await service.updateRoutes(screenId, updateIdsDTO);
197
-
198
- // expect(prismaService.route.findMany).toHaveBeenCalledWith({
199
- // where: { id: { in: updateIdsDTO.ids } },
200
- // select: { id: true },
201
- // });
202
-
203
- // expect(prismaService.route_screens.deleteMany).toHaveBeenCalledWith({
204
- // where: { screen_id: screenId },
205
- // });
206
-
207
- // expect(prismaService.route_screens.createMany).toHaveBeenCalledWith({
208
- // data: updateIdsDTO.ids.map((routeId) => ({
209
- // screen_id: screenId,
210
- // route_id: routeId,
211
- // })),
212
- // skipDuplicates: true,
213
- // });
214
- // });
215
- // });
216
-
217
- // describe('listRoles', () => {
218
- // it('should call paginate method with correct parameters', async () => {
219
- // const locale = 'en';
220
- // const screenId = 1;
221
- // const paginationParams: PaginationDTO = {
222
- // page: 1,
223
- // pageSize: 10,
224
- // search: '',
225
- // sortField: '',
226
- // sortOrder: PageOrderDirection.Asc,
227
- // fields: '',
228
- // };
229
-
230
- // paginationService.paginate = jest.fn().mockResolvedValue({
231
- // data: [],
232
- // total: 0,
233
- // });
234
-
235
- // await service.listRoles(locale, screenId, paginationParams);
236
-
237
- // expect(paginationService.paginate).toHaveBeenCalledWith(
238
- // prismaService.role,
239
- // paginationParams,
240
- // {
241
- // include: {
242
- // role_screen: {
243
- // where: {
244
- // screen_id: screenId,
245
- // },
246
- // select: {
247
- // role_id: true,
248
- // screen_id: true,
249
- // },
250
- // },
251
- // },
252
- // },
253
- // );
254
- // });
255
- // });
256
-
257
- // describe('listRoutes', () => {
258
- // it('should paginate the route linked to a screen', async () => {
259
- // const paginationParams: PaginationDTO = {
260
- // page: 1,
261
- // pageSize: 10,
262
- // search: '',
263
- // sortField: '',
264
- // sortOrder: PageOrderDirection.Asc,
265
- // fields: '',
266
- // };
267
- // const screenId = 1;
268
- // const mockPaginationResult = {
269
- // data: [],
270
- // total: 10,
271
- // lastPage: 1,
272
- // page: 1,
273
- // prev: 0,
274
- // next: 2,
275
- // pageSize: 10,
276
- // };
277
-
278
- // jest
279
- // .spyOn(paginationService, 'paginate')
280
- // .mockResolvedValue(mockPaginationResult);
281
-
282
- // await service.listRoutes(screenId, paginationParams);
283
-
284
- // expect(paginationService.paginate).toHaveBeenCalledWith(
285
- // prismaService.route,
286
- // paginationParams,
287
- // {
288
- // include: {
289
- // route_screens: {
290
- // where: { screen_id: screenId },
291
- // select: { route_id: true, screen_id: true },
292
- // },
293
- // },
294
- // },
295
- // );
296
- // });
297
- // });
298
- // });
1
+ // import {
2
+ // PageOrderDirection,
3
+ // PaginationDTO,
4
+ // PaginationService,
5
+ // } from '@hedhog/pagination';
6
+ // import { PrismaService } from '@hedhog/prisma';
7
+ // import { BadRequestException } from '@nestjs/common';
8
+ // import { Test, TestingModule } from '@nestjs/testing';
9
+ // import { DeleteDTO } from '../dto/delete.dto';
10
+ // import { UpdateIdsDTO } from '../dto/update-ids.dto';
11
+ // import { ScreenService } from './screen.service';
12
+
13
+ // describe('ScreenService', () => {
14
+ // let service: ScreenService;
15
+ // let prismaService: PrismaService;
16
+ // let paginationService: PaginationService;
17
+
18
+ // beforeEach(async () => {
19
+ // const module: TestingModule = await Test.createTestingModule({
20
+ // providers: [
21
+ // ScreenService,
22
+ // {
23
+ // provide: PrismaService,
24
+ // useValue: {
25
+ // screens: {
26
+ // create: jest.fn(),
27
+ // update: jest.fn(),
28
+ // deleteMany: jest.fn(),
29
+ // findUnique: jest.fn(),
30
+ // },
31
+ // route: {
32
+ // findMany: jest.fn(),
33
+ // },
34
+ // role_screen: {
35
+ // deleteMany: jest.fn(),
36
+ // createMany: jest.fn(),
37
+ // },
38
+ // route_screens: {
39
+ // deleteMany: jest.fn(),
40
+ // createMany: jest.fn(),
41
+ // },
42
+ // createInsensitiveSearch: jest.fn(),
43
+ // },
44
+ // },
45
+ // {
46
+ // provide: PaginationService,
47
+ // useValue: {
48
+ // paginate: jest.fn(),
49
+ // },
50
+ // },
51
+ // ],
52
+ // }).compile();
53
+
54
+ // service = module.get<ScreenService>(ScreenService);
55
+ // prismaService = module.get<PrismaService>(PrismaService);
56
+ // paginationService = module.get<PaginationService>(PaginationService);
57
+ // });
58
+
59
+ // it('should be defined', () => {
60
+ // expect(service).toBeDefined();
61
+ // });
62
+
63
+ // describe('create', () => {
64
+ // it('should create a screen', async () => {
65
+ // const createDTO = {
66
+ // name: 'Test Screen',
67
+ // slug: 'test-screen',
68
+ // description: 'This is a test screen',
69
+ // icon: 'test-icon',
70
+ // };
71
+
72
+ // jest
73
+ // .spyOn(prismaService.screens, 'create')
74
+ // .mockResolvedValue(createDTO as any);
75
+
76
+ // const result = await service.create(createDTO);
77
+
78
+ // expect(prismaService.screens.create).toHaveBeenCalledWith({
79
+ // data: createDTO,
80
+ // });
81
+ // expect(result).toEqual(createDTO);
82
+ // });
83
+ // });
84
+
85
+ // describe('delete', () => {
86
+ // it('should throw an error if no ids are provided', async () => {
87
+ // const deleteDTO: DeleteDTO = { ids: null };
88
+
89
+ // await expect(service.delete(deleteDTO)).rejects.toThrow(
90
+ // new BadRequestException(
91
+ // `You must select at least one screen to delete.`,
92
+ // ),
93
+ // );
94
+ // });
95
+
96
+ // it('should delete screens by ids', async () => {
97
+ // const deleteDTO: DeleteDTO = { ids: [1, 2] };
98
+
99
+ // jest.spyOn(prismaService.screens, 'deleteMany').mockResolvedValue({
100
+ // count: 2,
101
+ // });
102
+
103
+ // await service.delete(deleteDTO);
104
+
105
+ // expect(prismaService.screens.deleteMany).toHaveBeenCalledWith({
106
+ // where: { id: { in: deleteDTO.ids } },
107
+ // });
108
+ // });
109
+ // });
110
+
111
+ // describe('update', () => {
112
+ // it('should update a screen', async () => {
113
+ // const updateDTO = {
114
+ // id: 1,
115
+ // name: 'Updated Screen',
116
+ // slug: 'updated-screen',
117
+ // icon: 'update-icon',
118
+ // created_at: new Date(),
119
+ // updated_at: new Date(),
120
+ // };
121
+ // const updateInput = { id: 1, data: updateDTO };
122
+
123
+ // jest.spyOn(prismaService.screens, 'update').mockResolvedValue(updateDTO);
124
+
125
+ // const result = await service.update(updateInput);
126
+
127
+ // expect(prismaService.screens.update).toHaveBeenCalledWith({
128
+ // where: { id: updateInput.id },
129
+ // data: updateInput.data,
130
+ // });
131
+ // expect(result).toEqual(updateDTO);
132
+ // });
133
+ // });
134
+
135
+ // describe('get', () => {
136
+ // it('should get a screen by id', async () => {
137
+ // const screen = {
138
+ // id: 1,
139
+ // name: 'Updated Screen',
140
+ // slug: 'updated-screen',
141
+ // icon: 'update-icon',
142
+ // created_at: new Date(),
143
+ // updated_at: new Date(),
144
+ // };
145
+
146
+ // jest.spyOn(prismaService.screens, 'findUnique').mockResolvedValue(screen);
147
+
148
+ // const result = await service.get(1);
149
+
150
+ // expect(prismaService.screens.findUnique).toHaveBeenCalledWith({
151
+ // where: { id: 1 },
152
+ // });
153
+ // expect(result).toEqual(screen);
154
+ // });
155
+ // });
156
+
157
+ // describe('updateRoles', () => {
158
+ // it('should update role for a screen', async () => {
159
+ // const screenId = 1;
160
+ // const updateIdsDTO: UpdateIdsDTO = { ids: [1, 2, 3] };
161
+ // jest.spyOn(prismaService.role_screen, 'deleteMany').mockResolvedValue({
162
+ // count: 1,
163
+ // });
164
+
165
+ // jest.spyOn(prismaService.role_screen, 'createMany').mockResolvedValue({
166
+ // count: updateIdsDTO.ids.length,
167
+ // });
168
+
169
+ // await service.updateRoles(screenId, updateIdsDTO);
170
+
171
+ // expect(prismaService.role_screen.deleteMany).toHaveBeenCalledWith({
172
+ // where: { screen_id: screenId },
173
+ // });
174
+ // expect(prismaService.role_screen.createMany).toHaveBeenCalledWith({
175
+ // data: updateIdsDTO.ids.map((roleId) => ({
176
+ // screen_id: screenId,
177
+ // role_id: roleId,
178
+ // })),
179
+ // skipDuplicates: true,
180
+ // });
181
+ // });
182
+ // });
183
+
184
+ // describe('updateRoutes', () => {
185
+ // it('should delete existing route_screens and create new ones', async () => {
186
+ // const screenId = 1;
187
+ // const updateIdsDTO: UpdateIdsDTO = { ids: [1, 2, 3] };
188
+
189
+ // prismaService.route.findMany = jest
190
+ // .fn()
191
+ // .mockResolvedValue([{ id: 1 }, { id: 2 }, { id: 3 }]);
192
+
193
+ // prismaService.route_screens.deleteMany = jest.fn();
194
+ // prismaService.route_screens.createMany = jest.fn();
195
+
196
+ // await service.updateRoutes(screenId, updateIdsDTO);
197
+
198
+ // expect(prismaService.route.findMany).toHaveBeenCalledWith({
199
+ // where: { id: { in: updateIdsDTO.ids } },
200
+ // select: { id: true },
201
+ // });
202
+
203
+ // expect(prismaService.route_screens.deleteMany).toHaveBeenCalledWith({
204
+ // where: { screen_id: screenId },
205
+ // });
206
+
207
+ // expect(prismaService.route_screens.createMany).toHaveBeenCalledWith({
208
+ // data: updateIdsDTO.ids.map((routeId) => ({
209
+ // screen_id: screenId,
210
+ // route_id: routeId,
211
+ // })),
212
+ // skipDuplicates: true,
213
+ // });
214
+ // });
215
+ // });
216
+
217
+ // describe('listRoles', () => {
218
+ // it('should call paginate method with correct parameters', async () => {
219
+ // const locale = 'en';
220
+ // const screenId = 1;
221
+ // const paginationParams: PaginationDTO = {
222
+ // page: 1,
223
+ // pageSize: 10,
224
+ // search: '',
225
+ // sortField: '',
226
+ // sortOrder: PageOrderDirection.Asc,
227
+ // fields: '',
228
+ // };
229
+
230
+ // paginationService.paginate = jest.fn().mockResolvedValue({
231
+ // data: [],
232
+ // total: 0,
233
+ // });
234
+
235
+ // await service.listRoles(locale, screenId, paginationParams);
236
+
237
+ // expect(paginationService.paginate).toHaveBeenCalledWith(
238
+ // prismaService.role,
239
+ // paginationParams,
240
+ // {
241
+ // include: {
242
+ // role_screen: {
243
+ // where: {
244
+ // screen_id: screenId,
245
+ // },
246
+ // select: {
247
+ // role_id: true,
248
+ // screen_id: true,
249
+ // },
250
+ // },
251
+ // },
252
+ // },
253
+ // );
254
+ // });
255
+ // });
256
+
257
+ // describe('listRoutes', () => {
258
+ // it('should paginate the route linked to a screen', async () => {
259
+ // const paginationParams: PaginationDTO = {
260
+ // page: 1,
261
+ // pageSize: 10,
262
+ // search: '',
263
+ // sortField: '',
264
+ // sortOrder: PageOrderDirection.Asc,
265
+ // fields: '',
266
+ // };
267
+ // const screenId = 1;
268
+ // const mockPaginationResult = {
269
+ // data: [],
270
+ // total: 10,
271
+ // lastPage: 1,
272
+ // page: 1,
273
+ // prev: 0,
274
+ // next: 2,
275
+ // pageSize: 10,
276
+ // };
277
+
278
+ // jest
279
+ // .spyOn(paginationService, 'paginate')
280
+ // .mockResolvedValue(mockPaginationResult);
281
+
282
+ // await service.listRoutes(screenId, paginationParams);
283
+
284
+ // expect(paginationService.paginate).toHaveBeenCalledWith(
285
+ // prismaService.route,
286
+ // paginationParams,
287
+ // {
288
+ // include: {
289
+ // route_screens: {
290
+ // where: { screen_id: screenId },
291
+ // select: { route_id: true, screen_id: true },
292
+ // },
293
+ // },
294
+ // },
295
+ // );
296
+ // });
297
+ // });
298
+ // });