@mbc-cqrs-serverless/master 0.1.70-beta.0 → 0.1.71-beta.0

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,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testing_1 = require("@nestjs/testing");
4
+ const common_1 = require("@nestjs/common");
5
+ const task_1 = require("@mbc-cqrs-serverless/task");
6
+ const my_task_controller_1 = require("./my-task.controller");
7
+ const my_task_service_1 = require("./my-task.service");
8
+ describe('MyTaskController', () => {
9
+ let controller;
10
+ let service;
11
+ const mockInvokeContext = {
12
+ event: {
13
+ requestContext: {
14
+ authorizer: {
15
+ jwt: {
16
+ claims: {
17
+ sub: 'test-sub',
18
+ iss: 'test-issuer',
19
+ 'cognito:username': 'test-user',
20
+ aud: 'test-audience',
21
+ event_id: 'test-event-id',
22
+ token_use: 'id',
23
+ auth_time: 1699930911,
24
+ name: 'Test User',
25
+ 'custom:tenant': 'test-tenant',
26
+ exp: 1700017311,
27
+ email: 'test@example.com',
28
+ iat: 1699930911,
29
+ jti: 'test-jti',
30
+ },
31
+ },
32
+ },
33
+ },
34
+ },
35
+ };
36
+ beforeEach(async () => {
37
+ const mockMyTaskService = {
38
+ getSfnTaskParentBySettingCode: jest.fn(),
39
+ getSfnChildTask: jest.fn(),
40
+ };
41
+ const module = await testing_1.Test.createTestingModule({
42
+ controllers: [my_task_controller_1.MyTaskController],
43
+ providers: [
44
+ {
45
+ provide: my_task_service_1.MyTaskService,
46
+ useValue: mockMyTaskService,
47
+ },
48
+ ],
49
+ }).compile();
50
+ controller = module.get(my_task_controller_1.MyTaskController);
51
+ service = module.get(my_task_service_1.MyTaskService);
52
+ });
53
+ it('should be defined', () => {
54
+ expect(controller).toBeDefined();
55
+ });
56
+ describe('getSfnTaskParentBySettingCode', () => {
57
+ it('should get SFN task parent by setting code successfully', async () => {
58
+ const masterSettingCode = 'TEST_SETTING';
59
+ const expectedResult = [
60
+ new task_1.TaskEntity({
61
+ pk: 'TASK#test-tenant',
62
+ sk: 'SFN_TASK#MASTER_COPY_TEST_SETTING',
63
+ id: 'SFN_TASK#MASTER_COPY_TEST_SETTING',
64
+ code: 'SFN_TASK#MASTER_COPY_TEST_SETTING',
65
+ name: 'Test Task',
66
+ tenantCode: 'test-tenant',
67
+ type: 'SFN_TASK',
68
+ status: task_1.TaskStatusEnum.QUEUED,
69
+ input: { masterSettingCode: 'TEST_SETTING' },
70
+ version: 1,
71
+ }),
72
+ ];
73
+ jest
74
+ .spyOn(service, 'getSfnTaskParentBySettingCode')
75
+ .mockResolvedValue(expectedResult);
76
+ const result = await controller.getSfnTaskParentBySettingCode(mockInvokeContext, masterSettingCode);
77
+ expect(service.getSfnTaskParentBySettingCode).toHaveBeenCalledWith(masterSettingCode, mockInvokeContext);
78
+ expect(result).toEqual(expectedResult);
79
+ });
80
+ it('should handle missing master setting code', async () => {
81
+ const masterSettingCode = '';
82
+ const error = new common_1.BadRequestException('Must provide master setting code');
83
+ jest
84
+ .spyOn(service, 'getSfnTaskParentBySettingCode')
85
+ .mockRejectedValue(error);
86
+ await expect(controller.getSfnTaskParentBySettingCode(mockInvokeContext, masterSettingCode)).rejects.toThrow('Must provide master setting code');
87
+ });
88
+ it('should handle service errors', async () => {
89
+ const masterSettingCode = 'TEST_SETTING';
90
+ const error = new Error('Service error');
91
+ jest
92
+ .spyOn(service, 'getSfnTaskParentBySettingCode')
93
+ .mockRejectedValue(error);
94
+ await expect(controller.getSfnTaskParentBySettingCode(mockInvokeContext, masterSettingCode)).rejects.toThrow('Service error');
95
+ });
96
+ });
97
+ describe('getSfnChildTask', () => {
98
+ it('should get SFN child task successfully', async () => {
99
+ const key = { pk: 'TASK#test-tenant', sk: 'SFN_TASK#PARENT' };
100
+ const expectedResult = [
101
+ new task_1.TaskEntity({
102
+ pk: 'TASK#test-tenant',
103
+ sk: 'SFN_TASK#PARENT#CHILD1',
104
+ id: 'SFN_TASK#PARENT#CHILD1',
105
+ code: 'SFN_TASK#PARENT#CHILD1',
106
+ name: 'Child Task 1',
107
+ tenantCode: 'test-tenant',
108
+ type: 'SFN_TASK',
109
+ status: task_1.TaskStatusEnum.COMPLETED,
110
+ input: { parentTaskId: 'parent-task-123' },
111
+ version: 1,
112
+ }),
113
+ new task_1.TaskEntity({
114
+ pk: 'TASK#test-tenant',
115
+ sk: 'SFN_TASK#PARENT#CHILD2',
116
+ id: 'SFN_TASK#PARENT#CHILD2',
117
+ code: 'SFN_TASK#PARENT#CHILD2',
118
+ name: 'Child Task 2',
119
+ tenantCode: 'test-tenant',
120
+ type: 'SFN_TASK',
121
+ status: task_1.TaskStatusEnum.QUEUED,
122
+ input: { parentTaskId: 'parent-task-123' },
123
+ version: 1,
124
+ }),
125
+ ];
126
+ jest.spyOn(service, 'getSfnChildTask').mockResolvedValue(expectedResult);
127
+ const result = await controller.getSfnChildTask(key);
128
+ expect(service.getSfnChildTask).toHaveBeenCalledWith(key);
129
+ expect(result).toEqual(expectedResult);
130
+ });
131
+ it('should handle empty child task results', async () => {
132
+ const key = { pk: 'TASK#test-tenant', sk: 'SFN_TASK#PARENT' };
133
+ const expectedResult = [];
134
+ jest.spyOn(service, 'getSfnChildTask').mockResolvedValue(expectedResult);
135
+ const result = await controller.getSfnChildTask(key);
136
+ expect(service.getSfnChildTask).toHaveBeenCalledWith(key);
137
+ expect(result).toEqual(expectedResult);
138
+ });
139
+ it('should handle service errors', async () => {
140
+ const key = { pk: 'TASK#test-tenant', sk: 'SFN_TASK#PARENT' };
141
+ const error = new Error('Child task retrieval failed');
142
+ jest.spyOn(service, 'getSfnChildTask').mockRejectedValue(error);
143
+ await expect(controller.getSfnChildTask(key)).rejects.toThrow('Child task retrieval failed');
144
+ });
145
+ });
146
+ });
147
+ //# sourceMappingURL=my-task.controller.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"my-task.controller.spec.js","sourceRoot":"","sources":["../../src/custom-task/my-task.controller.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testing_1 = require("@nestjs/testing");
4
+ const ts_jest_1 = require("@golevelup/ts-jest");
5
+ const common_1 = require("@nestjs/common");
6
+ const my_task_service_1 = require("./my-task.service");
7
+ const task_1 = require("@mbc-cqrs-serverless/task");
8
+ describe('MyTaskService', () => {
9
+ let service;
10
+ let taskService;
11
+ beforeEach(async () => {
12
+ const module = await testing_1.Test.createTestingModule({
13
+ providers: [
14
+ my_task_service_1.MyTaskService,
15
+ {
16
+ provide: task_1.TaskService,
17
+ useValue: (0, ts_jest_1.createMock)(),
18
+ },
19
+ ],
20
+ }).compile();
21
+ service = module.get(my_task_service_1.MyTaskService);
22
+ taskService = module.get(task_1.TaskService);
23
+ jest.clearAllMocks();
24
+ });
25
+ it('should be defined', () => {
26
+ expect(service).toBeDefined();
27
+ });
28
+ describe('getSfnTaskParentBySettingCode', () => {
29
+ const mockInvokeContext = (0, ts_jest_1.createMock)();
30
+ it('should return parent tasks for valid setting code', async () => {
31
+ const masterSettingCode = 'TEST_SETTING';
32
+ const mockTasks = [
33
+ {
34
+ pk: 'test-tenant',
35
+ sk: 'MASTER_COPY_TEST_SETTING#PARENT',
36
+ type: 'SFN_TASK',
37
+ version: 1,
38
+ createdAt: new Date('2023-01-01T00:00:00Z'),
39
+ updatedAt: new Date('2023-01-01T00:00:00Z'),
40
+ },
41
+ {
42
+ pk: 'test-tenant',
43
+ sk: 'MASTER_COPY_TEST_SETTING#PARENT#CHILD',
44
+ type: 'SFN_TASK',
45
+ version: 1,
46
+ createdAt: new Date('2023-01-01T00:00:00Z'),
47
+ updatedAt: new Date('2023-01-01T00:00:00Z'),
48
+ },
49
+ ];
50
+ jest.spyOn(service, 'getUserContext').mockReturnValue({
51
+ userId: 'test-user-id',
52
+ tenantCode: 'test-tenant',
53
+ tenantRole: 'admin',
54
+ });
55
+ taskService.listItemsByPk.mockResolvedValue({
56
+ items: mockTasks,
57
+ lastSk: undefined,
58
+ });
59
+ const result = await service.getSfnTaskParentBySettingCode(masterSettingCode, mockInvokeContext);
60
+ expect(result).toHaveLength(1);
61
+ expect(result[0].sk).toBe('MASTER_COPY_TEST_SETTING#PARENT');
62
+ });
63
+ it('should throw BadRequestException when masterSettingCode is empty', async () => {
64
+ await expect(service.getSfnTaskParentBySettingCode('', mockInvokeContext)).rejects.toThrow(common_1.BadRequestException);
65
+ await expect(service.getSfnTaskParentBySettingCode('', mockInvokeContext)).rejects.toThrow('Must provide master setting code');
66
+ });
67
+ it('should throw BadRequestException when masterSettingCode is null', async () => {
68
+ await expect(service.getSfnTaskParentBySettingCode(null, mockInvokeContext)).rejects.toThrow(common_1.BadRequestException);
69
+ });
70
+ });
71
+ describe('getSfnChildTask', () => {
72
+ it('should return child tasks for given key', async () => {
73
+ const key = {
74
+ pk: 'test-tenant',
75
+ sk: 'MASTER_COPY_TEST_SETTING#PARENT',
76
+ };
77
+ const mockChildTasks = [
78
+ {
79
+ pk: 'test-tenant',
80
+ sk: 'MASTER_COPY_TEST_SETTING#PARENT#CHILD1',
81
+ type: 'SFN_TASK',
82
+ version: 1,
83
+ createdAt: new Date('2023-01-01T00:00:00Z'),
84
+ updatedAt: new Date('2023-01-01T00:00:00Z'),
85
+ },
86
+ ];
87
+ taskService.getAllSubTask.mockResolvedValue(mockChildTasks);
88
+ const result = await service.getSfnChildTask(key);
89
+ expect(taskService.getAllSubTask).toHaveBeenCalledWith(key);
90
+ expect(result).toBe(mockChildTasks);
91
+ });
92
+ it('should handle empty child tasks', async () => {
93
+ const key = {
94
+ pk: 'test-tenant',
95
+ sk: 'MASTER_COPY_TEST_SETTING#PARENT',
96
+ };
97
+ taskService.getAllSubTask.mockResolvedValue([]);
98
+ const result = await service.getSfnChildTask(key);
99
+ expect(result).toEqual([]);
100
+ });
101
+ });
102
+ describe('getUserContext', () => {
103
+ it('should extract user context from IInvoke', () => {
104
+ const mockInvokeContext = (0, ts_jest_1.createMock)();
105
+ const result = service.getUserContext(mockInvokeContext);
106
+ expect(result).toBeDefined();
107
+ expect(typeof result).toBe('object');
108
+ });
109
+ });
110
+ });
111
+ //# sourceMappingURL=my-task.service.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"my-task.service.spec.js","sourceRoot":"","sources":["../../src/custom-task/my-task.service.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};