From 529ce18be2cd6620f6e278756c32acf8c6b3acf2 Mon Sep 17 00:00:00 2001 From: krishna2323 Date: Tue, 29 Apr 2025 19:07:20 +0530 Subject: [PATCH 1/5] fix: Expense - Approved expense that has violation is not marked as approved in the expense preview. Signed-off-by: krishna2323 --- src/libs/TransactionPreviewUtils.ts | 4 ---- tests/unit/TransactionPreviewUtils.test.ts | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/libs/TransactionPreviewUtils.ts b/src/libs/TransactionPreviewUtils.ts index efa97350c919..d9a9aca6ffd3 100644 --- a/src/libs/TransactionPreviewUtils.ts +++ b/src/libs/TransactionPreviewUtils.ts @@ -225,10 +225,6 @@ function getTransactionPreviewTextAndTranslationPaths({ isPreviewHeaderTextComplete = true; } - if (shouldShowRBR && transaction) { - isPreviewHeaderTextComplete = true; - } - if (!isPreviewHeaderTextComplete) { if (hasViolationsOfTypeNotice && transaction && !isReportApproved({report: iouReport}) && !isSettled(iouReport?.reportID)) { previewHeaderText.push(dotSeparator, {translationPath: 'violations.reviewRequired'}); diff --git a/tests/unit/TransactionPreviewUtils.test.ts b/tests/unit/TransactionPreviewUtils.test.ts index 987d6edb3fc4..c3a782adfca3 100644 --- a/tests/unit/TransactionPreviewUtils.test.ts +++ b/tests/unit/TransactionPreviewUtils.test.ts @@ -1,4 +1,5 @@ import {buildOptimisticIOUReport, buildOptimisticIOUReportAction} from '@libs/ReportUtils'; +import * as ReportUtils from '@libs/ReportUtils'; import {createTransactionPreviewConditionals, getTransactionPreviewTextAndTranslationPaths} from '@libs/TransactionPreviewUtils'; import {buildOptimisticTransaction} from '@libs/TransactionUtils'; import CONST from '@src/CONST'; @@ -118,6 +119,19 @@ describe('TransactionPreviewUtils', () => { const result = getTransactionPreviewTextAndTranslationPaths(functionArgs); expect(result.previewHeaderText).toContainEqual({translationPath: 'iou.canceled'}); }); + + it('should include "approved" in the preview when the report is approved, regardless of whether RBR is shown', () => { + const functionArgs = { + ...basicProps, + iouReport: {...basicProps.iouReport, stateNum: CONST.REPORT.STATE_NUM.APPROVED, statusNum: CONST.REPORT.STATUS_NUM.APPROVED}, + transactionDetails: {comment: 'A valid comment', merchant: ''}, + }; + jest.spyOn(ReportUtils, 'isPaidGroupPolicyExpenseReport').mockReturnValue(true); + const result = getTransactionPreviewTextAndTranslationPaths(functionArgs); + console.log(result); + + expect(result.previewHeaderText).toContainEqual({translationPath: 'iou.approved'}); + }); }); describe('createTransactionPreviewConditionals', () => { From 9264187400d53478c7d66078b9e389b11a54dd00 Mon Sep 17 00:00:00 2001 From: krishna2323 Date: Tue, 29 Apr 2025 19:09:10 +0530 Subject: [PATCH 2/5] minor update. Signed-off-by: krishna2323 --- tests/unit/TransactionPreviewUtils.test.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/unit/TransactionPreviewUtils.test.ts b/tests/unit/TransactionPreviewUtils.test.ts index c3a782adfca3..96496b57508a 100644 --- a/tests/unit/TransactionPreviewUtils.test.ts +++ b/tests/unit/TransactionPreviewUtils.test.ts @@ -124,11 +124,9 @@ describe('TransactionPreviewUtils', () => { const functionArgs = { ...basicProps, iouReport: {...basicProps.iouReport, stateNum: CONST.REPORT.STATE_NUM.APPROVED, statusNum: CONST.REPORT.STATUS_NUM.APPROVED}, - transactionDetails: {comment: 'A valid comment', merchant: ''}, }; jest.spyOn(ReportUtils, 'isPaidGroupPolicyExpenseReport').mockReturnValue(true); const result = getTransactionPreviewTextAndTranslationPaths(functionArgs); - console.log(result); expect(result.previewHeaderText).toContainEqual({translationPath: 'iou.approved'}); }); @@ -139,6 +137,7 @@ describe('TransactionPreviewUtils', () => { const functionArgs = { ...basicProps, violations: [{name: CONST.VIOLATIONS.MISSING_CATEGORY, type: CONST.VIOLATION_TYPES.VIOLATION, transactionID: 123, showInReview: true}], + shouldShowRBR: true, }; const result = createTransactionPreviewConditionals(functionArgs); expect(result.shouldShowRBR).toBeTruthy(); From cd52db5abb5960cc6cd1524b098a8d58e7072f9a Mon Sep 17 00:00:00 2001 From: krishna2323 Date: Tue, 29 Apr 2025 19:20:53 +0530 Subject: [PATCH 3/5] minor update. Signed-off-by: krishna2323 --- tests/unit/TransactionPreviewUtils.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/TransactionPreviewUtils.test.ts b/tests/unit/TransactionPreviewUtils.test.ts index 96496b57508a..45ecf793206e 100644 --- a/tests/unit/TransactionPreviewUtils.test.ts +++ b/tests/unit/TransactionPreviewUtils.test.ts @@ -124,6 +124,7 @@ describe('TransactionPreviewUtils', () => { const functionArgs = { ...basicProps, iouReport: {...basicProps.iouReport, stateNum: CONST.REPORT.STATE_NUM.APPROVED, statusNum: CONST.REPORT.STATUS_NUM.APPROVED}, + shouldShowRBR: true, }; jest.spyOn(ReportUtils, 'isPaidGroupPolicyExpenseReport').mockReturnValue(true); const result = getTransactionPreviewTextAndTranslationPaths(functionArgs); @@ -137,7 +138,6 @@ describe('TransactionPreviewUtils', () => { const functionArgs = { ...basicProps, violations: [{name: CONST.VIOLATIONS.MISSING_CATEGORY, type: CONST.VIOLATION_TYPES.VIOLATION, transactionID: 123, showInReview: true}], - shouldShowRBR: true, }; const result = createTransactionPreviewConditionals(functionArgs); expect(result.shouldShowRBR).toBeTruthy(); From 5bfc151c9a5fb3e53860470460052d649db52069 Mon Sep 17 00:00:00 2001 From: krishna2323 Date: Tue, 29 Apr 2025 19:30:45 +0530 Subject: [PATCH 4/5] fix ESLint. Signed-off-by: krishna2323 --- tests/unit/TransactionPreviewUtils.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/TransactionPreviewUtils.test.ts b/tests/unit/TransactionPreviewUtils.test.ts index 45ecf793206e..379e99ed84e3 100644 --- a/tests/unit/TransactionPreviewUtils.test.ts +++ b/tests/unit/TransactionPreviewUtils.test.ts @@ -1,8 +1,8 @@ import {buildOptimisticIOUReport, buildOptimisticIOUReportAction} from '@libs/ReportUtils'; -import * as ReportUtils from '@libs/ReportUtils'; import {createTransactionPreviewConditionals, getTransactionPreviewTextAndTranslationPaths} from '@libs/TransactionPreviewUtils'; import {buildOptimisticTransaction} from '@libs/TransactionUtils'; import CONST from '@src/CONST'; +import * as ReportUtils from '@src/libs/ReportUtils'; const basicProps = { iouReport: buildOptimisticIOUReport(123, 234, 1000, '1', 'USD'), From 10e02f7bda2fb9edd604c354c68a749294aeac70 Mon Sep 17 00:00:00 2001 From: krishna2323 Date: Wed, 30 Apr 2025 12:55:28 +0530 Subject: [PATCH 5/5] minor update. Signed-off-by: krishna2323 --- tests/unit/TransactionPreviewUtils.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/TransactionPreviewUtils.test.ts b/tests/unit/TransactionPreviewUtils.test.ts index 379e99ed84e3..7441112dd22c 100644 --- a/tests/unit/TransactionPreviewUtils.test.ts +++ b/tests/unit/TransactionPreviewUtils.test.ts @@ -120,7 +120,7 @@ describe('TransactionPreviewUtils', () => { expect(result.previewHeaderText).toContainEqual({translationPath: 'iou.canceled'}); }); - it('should include "approved" in the preview when the report is approved, regardless of whether RBR is shown', () => { + it('should include "Approved" in the preview when the report is approved, regardless of whether RBR is shown', () => { const functionArgs = { ...basicProps, iouReport: {...basicProps.iouReport, stateNum: CONST.REPORT.STATE_NUM.APPROVED, statusNum: CONST.REPORT.STATUS_NUM.APPROVED},