From dc6476a66fbbf7bfdeea7101c562f4d4076e3946 Mon Sep 17 00:00:00 2001 From: Aswin Ashar Abdullah Date: Tue, 30 Jul 2024 14:44:12 +0700 Subject: [PATCH] fix(SPG-687) Booking status pending seharusnya bisa di cancel, tapi ketika di cancel muncul error message, hanya status active yang bisa di cancel --- .../usecases/managers/batch-cancel-refund.manager.ts | 11 +++++++++-- .../domain/usecases/managers/cancel-refund.manager.ts | 11 +++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/modules/transaction/refund/domain/usecases/managers/batch-cancel-refund.manager.ts b/src/modules/transaction/refund/domain/usecases/managers/batch-cancel-refund.manager.ts index 6197a2d..280c940 100644 --- a/src/modules/transaction/refund/domain/usecases/managers/batch-cancel-refund.manager.ts +++ b/src/modules/transaction/refund/domain/usecases/managers/batch-cancel-refund.manager.ts @@ -17,10 +17,17 @@ import { STATUS } from 'src/core/strings/constants/base.constants'; @Injectable() export class BatchCancelRefundManager extends BaseBatchUpdateStatusManager { validateData(data: RefundEntity): Promise { - if (![STATUS.REFUNDED, STATUS.PENDING].includes(data.status)) { + if ( + ![ + STATUS.REFUNDED, + STATUS.PENDING, + STATUS.PROCESS_REFUND, + STATUS.PARTIAL_REFUND, + ].includes(data.status) + ) { throw new UnprocessableEntityException({ statusCode: HttpStatus.UNPROCESSABLE_ENTITY, - message: `Failed! only data with status ${STATUS.REFUNDED} and ${STATUS.PENDING} can be cancelled`, + message: `Failed! only data with status ${STATUS.REFUNDED}, ${STATUS.PROCESS_REFUND} , ${STATUS.PARTIAL_REFUND} and ${STATUS.PENDING} can be cancelled`, error: 'Unprocessable Entity', }); } diff --git a/src/modules/transaction/refund/domain/usecases/managers/cancel-refund.manager.ts b/src/modules/transaction/refund/domain/usecases/managers/cancel-refund.manager.ts index ec40de3..25a9faf 100644 --- a/src/modules/transaction/refund/domain/usecases/managers/cancel-refund.manager.ts +++ b/src/modules/transaction/refund/domain/usecases/managers/cancel-refund.manager.ts @@ -20,10 +20,17 @@ export class CancelRefundManager extends BaseUpdateStatusManager { } async validateProcess(): Promise { - if (![STATUS.REFUNDED, STATUS.PENDING].includes(this.data.status)) { + if ( + ![ + STATUS.REFUNDED, + STATUS.PENDING, + STATUS.PROCESS_REFUND, + STATUS.PARTIAL_REFUND, + ].includes(this.data.status) + ) { throw new UnprocessableEntityException({ statusCode: HttpStatus.UNPROCESSABLE_ENTITY, - message: `Failed! only data with status ${STATUS.REFUNDED} and ${STATUS.PENDING} can be cancelled`, + message: `Failed! only data with status ${STATUS.REFUNDED}, ${STATUS.PROCESS_REFUND} , ${STATUS.PARTIAL_REFUND} and ${STATUS.PENDING} can be cancelled`, error: 'Unprocessable Entity', }); }