251209:1453 Frontend: progress nest = UAT & Bug Fixing
Some checks failed
Spec Validation / validate-markdown (push) Has been cancelled
Spec Validation / validate-diagrams (push) Has been cancelled
Spec Validation / check-todos (push) Has been cancelled

This commit is contained in:
admin
2025-12-09 14:53:42 +07:00
parent 8aceced902
commit aa96cd90e3
125 changed files with 11052 additions and 785 deletions

270
backend/test-output6.txt Normal file
View File

@@ -0,0 +1,270 @@
> backend@1.5.1 test
> jest --forceExit
PASS src/app.controller.spec.ts
PASS src/common/auth/casl/ability.factory.spec.ts
PASS src/modules/user/user.service.spec.ts
PASS src/modules/project/project.service.spec.ts
[Nest] 29008 - 12/09/2025, 9:27:51 AM ERROR [WorkflowEngineService] Transition Failed for inst-1: DB Error
PASS src/modules/workflow-engine/workflow-engine.service.spec.ts
[Nest] 38744 - 12/09/2025, 9:27:51 AM ERROR [WorkflowDslParser] Failed to parse stored DSL for definition 1
[Nest] 38744 - 12/09/2025, 9:27:51 AM ERROR [WorkflowDslParser] ZodError: [
{
"expected": "object",
"code": "invalid_type",
"path": [],
"message": "Invalid input: expected object, received undefined"
}
]
at WorkflowDslParser.getParsedDsl (D:\nap-dms.lcbp3\backend\src\modules\workflow-engine\dsl\parser.service.ts:163:32)
at processTicksAndRejections (node:internal/process/task_queues:105:5)
at Object.<anonymous> (D:\nap-dms.lcbp3\backend\src\modules\workflow-engine\dsl\parser.service.spec.ts:178:22)
FAIL src/modules/workflow-engine/dsl/parser.service.spec.ts
● WorkflowDslParser › parse › should parse valid RFA workflow DSL
expect(received).toBe(expected) // Object.is equality
Expected: "RFA_APPROVAL"
Received: undefined
41 |
42 | expect(result).toBeDefined();
> 43 | expect(result.name).toBe('RFA_APPROVAL');
| ^
44 | expect(result.version).toBe('1.0.0');
45 | expect(result.isActive).toBe(true);
46 | expect(mockRepository.save).toHaveBeenCalled();
at Object.<anonymous> (modules/workflow-engine/dsl/parser.service.spec.ts:43:27)
● WorkflowDslParser › getParsedDsl › should retrieve and parse stored DSL
BadRequestException: Invalid stored DSL: [
{
"expected": "object",
"code": "invalid_type",
"path": [],
"message": "Invalid input: expected object, received undefined"
}
]
167 | error
168 | );
> 169 | throw new BadRequestException(`Invalid stored DSL: ${error?.message}`);
| ^
170 | }
171 | }
172 |
at WorkflowDslParser.getParsedDsl (modules/workflow-engine/dsl/parser.service.ts:169:13)
at Object.<anonymous> (modules/workflow-engine/dsl/parser.service.spec.ts:178:22)
[Nest] 8912 - 12/09/2025, 9:27:52 AM ERROR [DocumentNumberingService] Error generating number for doc_num:1:1:1:2025
[Nest] 8912 - 12/09/2025, 9:27:52 AM ERROR [DocumentNumberingService] InternalServerErrorException: Failed to generate document number after retries.
at DocumentNumberingService.generateNextNumber (D:\nap-dms.lcbp3\backend\src\modules\document-numbering\document-numbering.service.ts:182:13)
at processTicksAndRejections (node:internal/process/task_queues:105:5)
at Object.<anonymous> (D:\nap-dms.lcbp3\backend\src\modules\document-numbering\document-numbering.service.spec.ts:175:7) {
response: {
message: 'Failed to generate document number after retries.',
error: 'Internal Server Error',
statusCode: 500
},
status: 500,
options: {}
}
PASS src/modules/document-numbering/document-numbering.service.spec.ts
[Nest] 2912 - 12/09/2025, 9:27:52 AM ERROR [FileStorageService] Failed to write file: D:\nap-dms.lcbp3\backend\uploads\temp\14ebbf1a-e734-4b42-aa7b-bc93f75a48f4.pdf
[Nest] 2912 - 12/09/2025, 9:27:52 AM ERROR [FileStorageService] Error: Write error
at Object.<anonymous> (D:\nap-dms.lcbp3\backend\src\common\file-storage\file-storage.service.spec.ts:90:9)
at Promise.finally.completed (D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\jestAdapterInit.js:1557:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\jestAdapterInit.js:1497:10)
at _callCircusTest (D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\jestAdapterInit.js:1007:40)
at processTicksAndRejections (node:internal/process/task_queues:105:5)
at _runTest (D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\jestAdapterInit.js:947:3)
at D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\jestAdapterInit.js:849:7
at _runTestsForDescribeBlock (D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\jestAdapterInit.js:862:11)
at _runTestsForDescribeBlock (D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\jestAdapterInit.js:857:11)
at _runTestsForDescribeBlock (D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\jestAdapterInit.js:857:11)
at run (D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\jestAdapterInit.js:761:3)
at runAndTransformResultsToJestFormat (D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\jestAdapterInit.js:1918:21)
at jestAdapter (D:\nap-dms.lcbp3\backend\node_modules\jest-circus\build\runner.js:101:19)
at runTestInternal (D:\nap-dms.lcbp3\backend\node_modules\jest-runner\build\testWorker.js:277:16)
at runTest (D:\nap-dms.lcbp3\backend\node_modules\jest-runner\build\testWorker.js:345:7)
at Object.worker (D:\nap-dms.lcbp3\backend\node_modules\jest-runner\build\testWorker.js:499:12)
PASS src/common/file-storage/file-storage.service.spec.ts
PASS src/common/auth/auth.service.spec.ts
ΓùÅ Console
console.log
🔍 Checking login for: testuser
at AuthService.validateUser (common/auth/auth.service.ts:43:13)
console.log
🔍 Checking login for: unknown
at AuthService.validateUser (common/auth/auth.service.ts:43:13)
console.log
❌ User not found in database
at AuthService.validateUser (common/auth/auth.service.ts:51:15)
console.log
🔍 Checking login for: testuser
at AuthService.validateUser (common/auth/auth.service.ts:43:13)
PASS src/common/file-storage/file-storage.controller.spec.ts
PASS src/modules/json-schema/json-schema.controller.spec.ts
PASS src/modules/project/project.controller.spec.ts
PASS src/common/auth/auth.controller.spec.ts
FAIL src/modules/correspondence/correspondence.service.spec.ts
● CorrespondenceService › findAll › should return paginated correspondences
expect(received).toBeDefined()
Received: undefined
119 | it('should return paginated correspondences', async () => {
120 | const result = await service.findAll({ projectId: 1 });
> 121 | expect(result.data).toBeDefined();
| ^
122 | expect(result.meta).toBeDefined();
123 | });
124 | });
at Object.<anonymous> (modules/correspondence/correspondence.service.spec.ts:121:27)
FAIL src/modules/correspondence/correspondence.controller.spec.ts
● CorrespondenceController › should be defined
Nest can't resolve dependencies of the CorrespondenceController (CorrespondenceService, ?). Please make sure that the argument CorrespondenceWorkflowService at index [1] is available in the RootTestModule context.
Potential solutions:
- Is RootTestModule a valid NestJS module?
- If CorrespondenceWorkflowService is a provider, is it part of the current RootTestModule?
- If CorrespondenceWorkflowService is exported from a separate @Module, is that module imported within RootTestModule?
@Module({
imports: [ /* the Module containing CorrespondenceWorkflowService */ ]
})
For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors
23 | };
24 |
> 25 | const module: TestingModule = await Test.createTestingModule({
| ^
26 | controllers: [CorrespondenceController],
27 | providers: [
28 | {
at TestingInjector.lookupComponentInParentModules (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:286:19)
at TestingInjector.resolveComponentWrapper (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-injector.js:19:45)
at resolveParam (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:140:38)
at async Promise.all (index 1)
at TestingInjector.resolveConstructorParams (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:169:27)
at TestingInjector.loadInstance (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:75:13)
at TestingInjector.loadController (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:94:9)
at ../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:68:13
at async Promise.all (index 0)
at TestingInstanceLoader.createInstancesOfControllers (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:67:9)
at ../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:42:13
at async Promise.all (index 1)
at TestingInstanceLoader.createInstances (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:39:9)
at TestingInstanceLoader.createInstancesOfDependencies (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:22:13)
at TestingInstanceLoader.createInstancesOfDependencies (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-instance-loader.js:9:9)
at TestingModuleBuilder.createInstancesOfDependencies (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-module.builder.js:118:9)
at TestingModuleBuilder.compile (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-module.builder.js:74:9)
at Object.<anonymous> (modules/correspondence/correspondence.controller.spec.ts:25:35)
● CorrespondenceController › findAll › should return paginated correspondences
Nest can't resolve dependencies of the CorrespondenceController (CorrespondenceService, ?). Please make sure that the argument CorrespondenceWorkflowService at index [1] is available in the RootTestModule context.
Potential solutions:
- Is RootTestModule a valid NestJS module?
- If CorrespondenceWorkflowService is a provider, is it part of the current RootTestModule?
- If CorrespondenceWorkflowService is exported from a separate @Module, is that module imported within RootTestModule?
@Module({
imports: [ /* the Module containing CorrespondenceWorkflowService */ ]
})
For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors
23 | };
24 |
> 25 | const module: TestingModule = await Test.createTestingModule({
| ^
26 | controllers: [CorrespondenceController],
27 | providers: [
28 | {
at TestingInjector.lookupComponentInParentModules (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:286:19)
at TestingInjector.resolveComponentWrapper (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-injector.js:19:45)
at resolveParam (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:140:38)
at async Promise.all (index 1)
at TestingInjector.resolveConstructorParams (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:169:27)
at TestingInjector.loadInstance (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:75:13)
at TestingInjector.loadController (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:94:9)
at ../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:68:13
at async Promise.all (index 0)
at TestingInstanceLoader.createInstancesOfControllers (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:67:9)
at ../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:42:13
at async Promise.all (index 1)
at TestingInstanceLoader.createInstances (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:39:9)
at TestingInstanceLoader.createInstancesOfDependencies (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:22:13)
at TestingInstanceLoader.createInstancesOfDependencies (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-instance-loader.js:9:9)
at TestingModuleBuilder.createInstancesOfDependencies (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-module.builder.js:118:9)
at TestingModuleBuilder.compile (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-module.builder.js:74:9)
at Object.<anonymous> (modules/correspondence/correspondence.controller.spec.ts:25:35)
● CorrespondenceController › create › should create a correspondence
Nest can't resolve dependencies of the CorrespondenceController (CorrespondenceService, ?). Please make sure that the argument CorrespondenceWorkflowService at index [1] is available in the RootTestModule context.
Potential solutions:
- Is RootTestModule a valid NestJS module?
- If CorrespondenceWorkflowService is a provider, is it part of the current RootTestModule?
- If CorrespondenceWorkflowService is exported from a separate @Module, is that module imported within RootTestModule?
@Module({
imports: [ /* the Module containing CorrespondenceWorkflowService */ ]
})
For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors
23 | };
24 |
> 25 | const module: TestingModule = await Test.createTestingModule({
| ^
26 | controllers: [CorrespondenceController],
27 | providers: [
28 | {
at TestingInjector.lookupComponentInParentModules (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:286:19)
at TestingInjector.resolveComponentWrapper (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-injector.js:19:45)
at resolveParam (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:140:38)
at async Promise.all (index 1)
at TestingInjector.resolveConstructorParams (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:169:27)
at TestingInjector.loadInstance (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:75:13)
at TestingInjector.loadController (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/injector.js:94:9)
at ../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:68:13
at async Promise.all (index 0)
at TestingInstanceLoader.createInstancesOfControllers (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:67:9)
at ../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:42:13
at async Promise.all (index 1)
at TestingInstanceLoader.createInstances (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:39:9)
at TestingInstanceLoader.createInstancesOfDependencies (../../node_modules/.pnpm/@nestjs+core@11.1.9_@nestjs_89e063bd3a6d5071b082cab065bf34d7/node_modules/@nestjs/core/injector/instance-loader.js:22:13)
at TestingInstanceLoader.createInstancesOfDependencies (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-instance-loader.js:9:9)
at TestingModuleBuilder.createInstancesOfDependencies (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-module.builder.js:118:9)
at TestingModuleBuilder.compile (../../node_modules/.pnpm/@nestjs+testing@11.1.9_@nes_5fa0f54bf7d8c8acec998f5e81836857/node_modules/@nestjs/testing/testing-module.builder.js:74:9)
at Object.<anonymous> (modules/correspondence/correspondence.controller.spec.ts:25:35)
Test Suites: 3 failed, 12 passed, 15 total
Tests: 6 failed, 60 passed, 66 total
Snapshots: 0 total
Time: 5.303 s
Ran all test suites.
Force exiting Jest: Have you considered using `--detectOpenHandles` to detect async operations that kept running after all tests finished?