Browse Source

fix(auth): add transition role only if the items transition has completed

Karol Sójko 1 năm trước cách đây
mục cha
commit
f055e52e06

+ 17 - 0
packages/auth/src/Domain/UseCase/UpdateTransitionStatus/UpdateTransitionStatus.spec.ts

@@ -39,6 +39,23 @@ describe('UpdateTransitionStatus', () => {
     )
   })
 
+  it('should remove transition status', async () => {
+    const useCase = createUseCase()
+
+    const result = await useCase.execute({
+      userUuid: '00000000-0000-0000-0000-000000000000',
+      status: 'FINISHED',
+      transitionType: 'revisions',
+    })
+
+    expect(result.isFailed()).toBeFalsy()
+    expect(transitionStatusRepository.removeStatus).toHaveBeenCalledWith(
+      '00000000-0000-0000-0000-000000000000',
+      'revisions',
+    )
+    expect(roleService.addRoleToUser).not.toHaveBeenCalled()
+  })
+
   it('should update transition status', async () => {
     const useCase = createUseCase()
 

+ 3 - 1
packages/auth/src/Domain/UseCase/UpdateTransitionStatus/UpdateTransitionStatus.ts

@@ -19,7 +19,9 @@ export class UpdateTransitionStatus implements UseCaseInterface<void> {
     if (dto.status === 'FINISHED') {
       await this.transitionStatusRepository.removeStatus(dto.userUuid, dto.transitionType)
 
-      await this.roleService.addRoleToUser(userUuid, RoleName.create(RoleName.NAMES.TransitionUser).getValue())
+      if (dto.transitionType === 'items') {
+        await this.roleService.addRoleToUser(userUuid, RoleName.create(RoleName.NAMES.TransitionUser).getValue())
+      }
 
       return Result.ok()
     }