diff --git a/dictation_server/src/common/validators/authorId.validator.ts b/dictation_server/src/common/validators/authorId.validator.ts index 23afafb..a790edc 100644 --- a/dictation_server/src/common/validators/authorId.validator.ts +++ b/dictation_server/src/common/validators/authorId.validator.ts @@ -15,7 +15,7 @@ import { USER_ROLES } from '../../constants'; @ValidatorConstraint({ name: 'IsAuthorId', async: false }) export class IsAuthorId implements ValidatorConstraintInterface { validate(value: any, args: ValidationArguments) { - const request = args.object as SignupRequest | PostUpdateUserRequest; + const request = args.object as SignupRequest | PostUpdateUserRequest; // requestの存在チェック if (!request) { return false; diff --git a/dictation_server/src/features/users/users.service.spec.ts b/dictation_server/src/features/users/users.service.spec.ts index 8e3cbf5..bb4931c 100644 --- a/dictation_server/src/features/users/users.service.spec.ts +++ b/dictation_server/src/features/users/users.service.spec.ts @@ -170,7 +170,7 @@ describe('UsersService.confirmUser', () => { }); expect(_subject).toBe('Account Registered Notification [U-101]'); expect(_url).toBe('http://localhost:8081/'); - }, 600000); + }); it('トークンの形式が不正な場合、形式不正エラーとなる。', async () => { if (!source) fail(); @@ -2735,17 +2735,21 @@ describe('UsersService.getRelations', () => { const worktype1 = await createWorktype( source, account.id, - 'worktype1', + 'worktypeB', undefined, true, ); await createOptionItems(source, worktype1.id); - const worktype2 = await createWorktype(source, account.id, 'worktype2'); + const worktype2 = await createWorktype(source, account.id, 'worktypeC'); await createOptionItems(source, worktype2.id); + const worktype3 = await createWorktype(source, account.id, 'worktypeA'); + await createOptionItems(source, worktype3.id); + await createWorkflow(source, account.id, user1, worktype1.id); await createWorkflow(source, account.id, user1, worktype2.id); + await createWorkflow(source, account.id, user1, worktype3.id); await createWorkflow(source, account.id, user1); await createWorkflow(source, account.id, user2, worktype1.id); @@ -2754,15 +2758,17 @@ describe('UsersService.getRelations', () => { const workflows = await getWorkflows(source, account.id); workflows.sort((a, b) => a.id - b.id); - expect(workflows.length).toBe(4); + expect(workflows.length).toBe(5); expect(workflows[0].worktype_id).toBe(worktype1.id); expect(workflows[0].author_id).toBe(user1); expect(workflows[1].worktype_id).toBe(worktype2.id); expect(workflows[1].author_id).toBe(user1); - expect(workflows[2].worktype_id).toBe(null); + expect(workflows[2].worktype_id).toBe(worktype3.id); expect(workflows[2].author_id).toBe(user1); - expect(workflows[3].worktype_id).toBe(worktype1.id); - expect(workflows[3].author_id).toBe(user2); + expect(workflows[3].worktype_id).toBe(null); + expect(workflows[3].author_id).toBe(user1); + expect(workflows[4].worktype_id).toBe(worktype1.id); + expect(workflows[4].author_id).toBe(user2); } const context = makeContext(external_id, 'requestId'); @@ -2778,14 +2784,17 @@ describe('UsersService.getRelations', () => { expect(relations.authorIdList[1]).toBe('AUTHOR_2'); const workTypeList = relations.workTypeList; - expect(relations.workTypeList.length).toBe(2); - expect(workTypeList[0].workTypeId).toBe(worktype1.custom_worktype_id); + expect(relations.workTypeList.length).toBe(3); + // Workflowの作成順ではなくcustom_worktype_idの昇順で取得するためWorkTypeListの先頭はworktype3 + expect(workTypeList[0].workTypeId).toBe(worktype3.custom_worktype_id); expect(workTypeList[0].optionItemList.length).toBe(10); expect(workTypeList[0].optionItemList[0].label).toBe(''); expect(workTypeList[0].optionItemList[0].initialValueType).toBe(2); expect(workTypeList[0].optionItemList[0].defaultValue).toBe(''); - expect(workTypeList[1].workTypeId).toBe(worktype2.custom_worktype_id); + expect(workTypeList[1].workTypeId).toBe(worktype1.custom_worktype_id); expect(workTypeList[1].optionItemList.length).toBe(10); + expect(workTypeList[2].workTypeId).toBe(worktype2.custom_worktype_id); + expect(workTypeList[2].optionItemList.length).toBe(10); expect(relations.isEncrypted).toBe(true); expect(relations.encryptionPassword).toBe('password'); diff --git a/dictation_server/src/repositories/users/users.repository.service.ts b/dictation_server/src/repositories/users/users.repository.service.ts index 8c39441..9a70a96 100644 --- a/dictation_server/src/repositories/users/users.repository.service.ts +++ b/dictation_server/src/repositories/users/users.repository.service.ts @@ -918,6 +918,14 @@ export class UsersRepositoryService { option_items: true, }, }, + order: { + worktype: { + custom_worktype_id: 'ASC', + option_items: { + id: 'ASC', + }, + }, + }, comment: `${context.getTrackingId()}_${new Date().toUTCString()}`, });