From 2c5aa05a4b3d396fc33a1151c3e2517cd4317bc6 Mon Sep 17 00:00:00 2001 From: NJ-2020 Date: Sun, 1 Dec 2024 12:21:43 +0700 Subject: [PATCH 01/13] fix search invoice page doesn't display merchant text --- src/libs/SearchUIUtils.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/SearchUIUtils.ts b/src/libs/SearchUIUtils.ts index e100fb885ffff..44b708d62fe31 100644 --- a/src/libs/SearchUIUtils.ts +++ b/src/libs/SearchUIUtils.ts @@ -66,7 +66,7 @@ function getTransactionItemCommonFormattedProperties( const formattedTotal = TransactionUtils.getAmount(transactionItem, isExpenseReport); const date = transactionItem?.modifiedCreated ? transactionItem.modifiedCreated : transactionItem?.created; const merchant = TransactionUtils.getMerchant(transactionItem); - const formattedMerchant = merchant === CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT || merchant === CONST.TRANSACTION.DEFAULT_MERCHANT ? '' : merchant; + const formattedMerchant = merchant === CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT ? '' : merchant; return { formattedFrom, @@ -106,7 +106,7 @@ function getShouldShowMerchant(data: OnyxTypes.SearchResults['data']): boolean { if (isTransactionEntry(key)) { const item = data[key]; const merchant = item.modifiedMerchant ? item.modifiedMerchant : item.merchant ?? ''; - return merchant !== '' && merchant !== CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT && merchant !== CONST.TRANSACTION.DEFAULT_MERCHANT; + return merchant !== '' && merchant !== CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT; } return false; }); From bcc73ad354f76579f6946895696e32d3042b7b66 Mon Sep 17 00:00:00 2001 From: NJ-2020 Date: Sat, 21 Dec 2024 20:50:55 +0700 Subject: [PATCH 02/13] create new unit test file --- tests/unit/Search/SearchUIUtilsTest.ts | 106 +++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 tests/unit/Search/SearchUIUtilsTest.ts diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts new file mode 100644 index 0000000000000..f6de00c3b0855 --- /dev/null +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -0,0 +1,106 @@ +import type {OnyxCollection} from 'react-native-onyx'; +import {TransactionListItemType} from '@components/SelectionList/types'; +import CONST from '@src/CONST'; +import * as SearchUIUtils from '@src/libs/SearchUIUtils'; +import type * as OnyxTypes from '@src/types/onyx'; + +const fakeSearchResults: OnyxTypes.SearchResults = { + data: { + personalDetailsList: { + '1': { + accountID: 1, + avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png', + displayName: 'test', + login: 'test1234@gmail.com', + }, + }, + policy_123: { + approvalMode: 'OPTIONAL', + approver: 'test1234@gmail.com', + autoReimbursement: { + limit: 0, + }, + autoReimbursementLimit: 0, + autoReporting: true, + autoReportingFrequency: 'instant', + owner: 'test1234@gmail.com', + preventSelfApproval: false, + reimbursementChoice: 'reimburseManual', + role: 'admin', + type: 'team', + }, + report_123: { + accountID: 1, + action: 'view', + chatReportID: '1706144653204915', + created: '2024-12-21 13:05:20', + currency: 'USD', + isOneTransactionReport: true, + isPolicyExpenseChat: false, + isWaitingOnBankAccount: false, + managerID: 1, + nonReimbursableTotal: 0, + ownerAccountID: 1, + policyID: '123', + private_isArchived: '', + reportID: '123', + reportName: 'Expense Report #123', + stateNum: 1, + statusNum: 1, + total: -5000, + type: 'expense', + unheldTotal: -5000, + }, + transactions_123: { + accountID: 1, + action: 'view', + amount: -5000, + canDelete: true, + canHold: true, + canUnhold: false, + category: '', + comment: { + comment: '', + }, + created: '2024-12-21', + currency: 'USD', + hasEReceipt: false, + isFromOneTransactionReport: true, + managerID: 1, + merchant: 'Expense', + modifiedAmount: 0, + modifiedCreated: '', + modifiedCurrency: '', + modifiedMerchant: 'Expense', + parentTransactionID: '', + policyID: '123', + reportID: '123', + reportType: 'expense', + tag: '', + transactionID: '123', + transactionThreadReportID: '456', + transactionType: 'cash', + }, + }, + search: { + columnsToShow: { + shouldShowCategoryColumn: true, + shouldShowTagColumn: false, + shouldShowTaxColumn: false, + }, + hasMoreResults: false, + hasResults: true, + offset: 0, + status: 'all', + isLoading: false, + type: 'expense', + }, +}; +const transactionSections = SearchUIUtils.getSections('expense', 'all', fakeSearchResults.data, fakeSearchResults.search) as TransactionListItemType[]; +const tests = transactionSections.map((transactionList) => [{transactionListItem: transactionList, expectedMerchant: CONST.TRANSACTION.DEFAULT_MERCHANT}]); + +describe('SearchUIUtils', () => { + test.each(tests)('Transaction list item with "Expense" merchant', ({transactionListItem, expectedMerchant}) => { + expect(transactionListItem.merchant).toEqual(expectedMerchant); + }); +}); From 1059bef644d367d95f5ba62411c20f18e3e120a2 Mon Sep 17 00:00:00 2001 From: NJ-2020 Date: Sun, 22 Dec 2024 09:28:35 +0700 Subject: [PATCH 03/13] fix eslint errors --- tests/unit/Search/SearchUIUtilsTest.ts | 28 ++++++++++++-------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts index f6de00c3b0855..0fe7b4e54a4db 100644 --- a/tests/unit/Search/SearchUIUtilsTest.ts +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -1,5 +1,4 @@ -import type {OnyxCollection} from 'react-native-onyx'; -import {TransactionListItemType} from '@components/SelectionList/types'; +import type {TransactionListItemType} from '@components/SelectionList/types'; import CONST from '@src/CONST'; import * as SearchUIUtils from '@src/libs/SearchUIUtils'; import type * as OnyxTypes from '@src/types/onyx'; @@ -7,30 +6,28 @@ import type * as OnyxTypes from '@src/types/onyx'; const fakeSearchResults: OnyxTypes.SearchResults = { data: { personalDetailsList: { - '1': { - accountID: 1, + '18439984': { + accountID: 18439984, avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png', displayName: 'test', login: 'test1234@gmail.com', }, }, - policy_123: { + policy_ABC123: { approvalMode: 'OPTIONAL', - approver: 'test1234@gmail.com', autoReimbursement: { limit: 0, }, autoReimbursementLimit: 0, autoReporting: true, autoReportingFrequency: 'instant', - owner: 'test1234@gmail.com', preventSelfApproval: false, reimbursementChoice: 'reimburseManual', role: 'admin', type: 'team', }, - report_123: { - accountID: 1, + report_ABC123: { + accountID: 18439984, action: 'view', chatReportID: '1706144653204915', created: '2024-12-21 13:05:20', @@ -38,9 +35,9 @@ const fakeSearchResults: OnyxTypes.SearchResults = { isOneTransactionReport: true, isPolicyExpenseChat: false, isWaitingOnBankAccount: false, - managerID: 1, + managerID: 18439984, nonReimbursableTotal: 0, - ownerAccountID: 1, + ownerAccountID: 18439984, policyID: '123', private_isArchived: '', reportID: '123', @@ -51,8 +48,8 @@ const fakeSearchResults: OnyxTypes.SearchResults = { type: 'expense', unheldTotal: -5000, }, - transactions_123: { - accountID: 1, + transactions_AB: { + accountID: 18439984, action: 'view', amount: -5000, canDelete: true, @@ -66,7 +63,9 @@ const fakeSearchResults: OnyxTypes.SearchResults = { currency: 'USD', hasEReceipt: false, isFromOneTransactionReport: true, - managerID: 1, + managerID: 18439984, + description: '', + hasViolation: false, merchant: 'Expense', modifiedAmount: 0, modifiedCreated: '', @@ -89,7 +88,6 @@ const fakeSearchResults: OnyxTypes.SearchResults = { shouldShowTaxColumn: false, }, hasMoreResults: false, - hasResults: true, offset: 0, status: 'all', isLoading: false, From 19aa4176b44bde7dd0893f61779d99128c772a7a Mon Sep 17 00:00:00 2001 From: NJ-2020 Date: Sun, 22 Dec 2024 12:00:12 +0700 Subject: [PATCH 04/13] fix eslint errors --- tests/unit/Search/SearchUIUtilsTest.ts | 36 ++++++++++++++------------ 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts index 0fe7b4e54a4db..c8e403b669725 100644 --- a/tests/unit/Search/SearchUIUtilsTest.ts +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -3,17 +3,22 @@ import CONST from '@src/CONST'; import * as SearchUIUtils from '@src/libs/SearchUIUtils'; import type * as OnyxTypes from '@src/types/onyx'; +const fakeAccountID = 18439984; +const fakePolicyID = 'A1B2C3'; +const fakeReportID = '123456789'; +const fakeTransactionID = '1'; + const fakeSearchResults: OnyxTypes.SearchResults = { data: { personalDetailsList: { - '18439984': { - accountID: 18439984, + [fakeAccountID]: { + accountID: fakeAccountID, avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png', displayName: 'test', login: 'test1234@gmail.com', }, }, - policy_ABC123: { + [`policy_${fakePolicyID}`]: { approvalMode: 'OPTIONAL', autoReimbursement: { limit: 0, @@ -26,8 +31,8 @@ const fakeSearchResults: OnyxTypes.SearchResults = { role: 'admin', type: 'team', }, - report_ABC123: { - accountID: 18439984, + [`report_${fakeReportID}`]: { + accountID: fakeAccountID, action: 'view', chatReportID: '1706144653204915', created: '2024-12-21 13:05:20', @@ -35,12 +40,11 @@ const fakeSearchResults: OnyxTypes.SearchResults = { isOneTransactionReport: true, isPolicyExpenseChat: false, isWaitingOnBankAccount: false, - managerID: 18439984, + managerID: fakeAccountID, nonReimbursableTotal: 0, - ownerAccountID: 18439984, - policyID: '123', - private_isArchived: '', - reportID: '123', + ownerAccountID: fakeAccountID, + policyID: fakePolicyID, + reportID: fakeReportID, reportName: 'Expense Report #123', stateNum: 1, statusNum: 1, @@ -48,8 +52,8 @@ const fakeSearchResults: OnyxTypes.SearchResults = { type: 'expense', unheldTotal: -5000, }, - transactions_AB: { - accountID: 18439984, + [`transactions_${fakeTransactionID}`]: { + accountID: fakeAccountID, action: 'view', amount: -5000, canDelete: true, @@ -63,7 +67,7 @@ const fakeSearchResults: OnyxTypes.SearchResults = { currency: 'USD', hasEReceipt: false, isFromOneTransactionReport: true, - managerID: 18439984, + managerID: fakeAccountID, description: '', hasViolation: false, merchant: 'Expense', @@ -72,11 +76,11 @@ const fakeSearchResults: OnyxTypes.SearchResults = { modifiedCurrency: '', modifiedMerchant: 'Expense', parentTransactionID: '', - policyID: '123', - reportID: '123', + policyID: fakePolicyID, + reportID: fakeReportID, reportType: 'expense', tag: '', - transactionID: '123', + transactionID: fakeTransactionID, transactionThreadReportID: '456', transactionType: 'cash', }, From 6942bc50eb0b82737f435f27ec61c98e543ca583 Mon Sep 17 00:00:00 2001 From: NJ-2020 Date: Sun, 22 Dec 2024 12:20:04 +0700 Subject: [PATCH 05/13] fix eslint and typescript errors --- tests/unit/Search/SearchUIUtilsTest.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts index c8e403b669725..04c37b2761463 100644 --- a/tests/unit/Search/SearchUIUtilsTest.ts +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -27,6 +27,7 @@ const fakeSearchResults: OnyxTypes.SearchResults = { autoReporting: true, autoReportingFrequency: 'instant', preventSelfApproval: false, + owner: 'test1234@gmail.com', reimbursementChoice: 'reimburseManual', role: 'admin', type: 'team', @@ -92,6 +93,7 @@ const fakeSearchResults: OnyxTypes.SearchResults = { shouldShowTaxColumn: false, }, hasMoreResults: false, + hasResults: true, offset: 0, status: 'all', isLoading: false, From eaebfdf474dbcb006c098628d85b2a9ae028c678 Mon Sep 17 00:00:00 2001 From: NJ-2020 Date: Wed, 25 Dec 2024 11:18:29 +0700 Subject: [PATCH 06/13] fix eslint error --- src/libs/SearchUIUtils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/SearchUIUtils.ts b/src/libs/SearchUIUtils.ts index 46ade93566b7f..849008e10b76d 100644 --- a/src/libs/SearchUIUtils.ts +++ b/src/libs/SearchUIUtils.ts @@ -374,7 +374,7 @@ function getReportSections(data: OnyxTypes.SearchResults['data'], metadata: Onyx ...reportItem, action: getAction(data, key), keyForList: reportItem.reportID, - from: data.personalDetailsList?.[reportItem.accountID ?? -1], + from: data.personalDetailsList?.[reportItem.accountID ?? CONST.DEFAULT_NUMBER_ID], to: reportItem.managerID ? data.personalDetailsList?.[reportItem.managerID] : emptyPersonalDetails, transactions, reportName: isIOUReport ? getIOUReportName(data, reportItem) : reportItem.reportName, From a3247f32a22c0605348a680508afc52efab9826b Mon Sep 17 00:00:00 2001 From: Novell <76243292+NJ-2020@users.noreply.github.com> Date: Fri, 27 Dec 2024 02:19:41 -0800 Subject: [PATCH 07/13] update SearchUIUtilsTest.ts --- tests/unit/Search/SearchUIUtilsTest.ts | 45 ++++++++++++++------------ 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts index 04c37b2761463..cbc51f635633a 100644 --- a/tests/unit/Search/SearchUIUtilsTest.ts +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -3,22 +3,25 @@ import CONST from '@src/CONST'; import * as SearchUIUtils from '@src/libs/SearchUIUtils'; import type * as OnyxTypes from '@src/types/onyx'; -const fakeAccountID = 18439984; -const fakePolicyID = 'A1B2C3'; -const fakeReportID = '123456789'; -const fakeTransactionID = '1'; +const accountID = 18439984; +const policyID = 'A1B2C3'; +// Given the report id of the report transaction +const reportID = '123456789'; +// Transaction ID of the transaction +const transactionID = '1'; -const fakeSearchResults: OnyxTypes.SearchResults = { +// Search data results of the given report and transactions +const searchResults: OnyxTypes.SearchResults = { data: { personalDetailsList: { - [fakeAccountID]: { - accountID: fakeAccountID, + [accountID]: { + accountID: accountID, avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png', displayName: 'test', login: 'test1234@gmail.com', }, }, - [`policy_${fakePolicyID}`]: { + [`policy_${policyID}`]: { approvalMode: 'OPTIONAL', autoReimbursement: { limit: 0, @@ -32,8 +35,8 @@ const fakeSearchResults: OnyxTypes.SearchResults = { role: 'admin', type: 'team', }, - [`report_${fakeReportID}`]: { - accountID: fakeAccountID, + [`report_${reportID}`]: { + accountID: accountID, action: 'view', chatReportID: '1706144653204915', created: '2024-12-21 13:05:20', @@ -41,11 +44,11 @@ const fakeSearchResults: OnyxTypes.SearchResults = { isOneTransactionReport: true, isPolicyExpenseChat: false, isWaitingOnBankAccount: false, - managerID: fakeAccountID, + managerID: accountID, nonReimbursableTotal: 0, - ownerAccountID: fakeAccountID, - policyID: fakePolicyID, - reportID: fakeReportID, + ownerAccountID: accountID, + policyID: policyID, + reportID: reportID, reportName: 'Expense Report #123', stateNum: 1, statusNum: 1, @@ -53,8 +56,8 @@ const fakeSearchResults: OnyxTypes.SearchResults = { type: 'expense', unheldTotal: -5000, }, - [`transactions_${fakeTransactionID}`]: { - accountID: fakeAccountID, + [`transactions_${transactionID}`]: { + accountID: accountID, action: 'view', amount: -5000, canDelete: true, @@ -68,7 +71,7 @@ const fakeSearchResults: OnyxTypes.SearchResults = { currency: 'USD', hasEReceipt: false, isFromOneTransactionReport: true, - managerID: fakeAccountID, + managerID: accountID, description: '', hasViolation: false, merchant: 'Expense', @@ -77,11 +80,11 @@ const fakeSearchResults: OnyxTypes.SearchResults = { modifiedCurrency: '', modifiedMerchant: 'Expense', parentTransactionID: '', - policyID: fakePolicyID, - reportID: fakeReportID, + policyID: policyID, + reportID: reportID, reportType: 'expense', tag: '', - transactionID: fakeTransactionID, + transactionID: transactionID, transactionThreadReportID: '456', transactionType: 'cash', }, @@ -100,7 +103,7 @@ const fakeSearchResults: OnyxTypes.SearchResults = { type: 'expense', }, }; -const transactionSections = SearchUIUtils.getSections('expense', 'all', fakeSearchResults.data, fakeSearchResults.search) as TransactionListItemType[]; +const transactionSections = SearchUIUtils.getSections('expense', 'all', searchResults.data, searchResults.search) as TransactionListItemType[]; const tests = transactionSections.map((transactionList) => [{transactionListItem: transactionList, expectedMerchant: CONST.TRANSACTION.DEFAULT_MERCHANT}]); describe('SearchUIUtils', () => { From ca6951f0b34a0fc7835a6fddaf7ba6821b658336 Mon Sep 17 00:00:00 2001 From: Novell <76243292+NJ-2020@users.noreply.github.com> Date: Fri, 27 Dec 2024 02:46:17 -0800 Subject: [PATCH 08/13] fix esl --- tests/unit/Search/SearchUIUtilsTest.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts index cbc51f635633a..2ea9228163213 100644 --- a/tests/unit/Search/SearchUIUtilsTest.ts +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -15,7 +15,7 @@ const searchResults: OnyxTypes.SearchResults = { data: { personalDetailsList: { [accountID]: { - accountID: accountID, + accountID, avatar: 'https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/avatar_3.png', displayName: 'test', login: 'test1234@gmail.com', @@ -36,7 +36,7 @@ const searchResults: OnyxTypes.SearchResults = { type: 'team', }, [`report_${reportID}`]: { - accountID: accountID, + accountID, action: 'view', chatReportID: '1706144653204915', created: '2024-12-21 13:05:20', @@ -47,8 +47,8 @@ const searchResults: OnyxTypes.SearchResults = { managerID: accountID, nonReimbursableTotal: 0, ownerAccountID: accountID, - policyID: policyID, - reportID: reportID, + policyID, + reportID, reportName: 'Expense Report #123', stateNum: 1, statusNum: 1, @@ -57,7 +57,7 @@ const searchResults: OnyxTypes.SearchResults = { unheldTotal: -5000, }, [`transactions_${transactionID}`]: { - accountID: accountID, + accountID, action: 'view', amount: -5000, canDelete: true, @@ -80,11 +80,11 @@ const searchResults: OnyxTypes.SearchResults = { modifiedCurrency: '', modifiedMerchant: 'Expense', parentTransactionID: '', - policyID: policyID, - reportID: reportID, + policyID, + reportID, reportType: 'expense', tag: '', - transactionID: transactionID, + transactionID, transactionThreadReportID: '456', transactionType: 'cash', }, From b27b051ba9a0d5854747f0caa1626c6308962c9e Mon Sep 17 00:00:00 2001 From: Novell <76243292+NJ-2020@users.noreply.github.com> Date: Fri, 27 Dec 2024 20:25:16 -0800 Subject: [PATCH 09/13] update report id comment Co-authored-by: Monil Bhavsar --- tests/unit/Search/SearchUIUtilsTest.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts index 2ea9228163213..27443bbdd40ed 100644 --- a/tests/unit/Search/SearchUIUtilsTest.ts +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -5,7 +5,6 @@ import type * as OnyxTypes from '@src/types/onyx'; const accountID = 18439984; const policyID = 'A1B2C3'; -// Given the report id of the report transaction const reportID = '123456789'; // Transaction ID of the transaction const transactionID = '1'; From d882e9f367f3c72cc1b3b5cb034840396eb092cc Mon Sep 17 00:00:00 2001 From: Novell <76243292+NJ-2020@users.noreply.github.com> Date: Fri, 27 Dec 2024 20:25:39 -0800 Subject: [PATCH 10/13] update transaction id comment Co-authored-by: Monil Bhavsar --- tests/unit/Search/SearchUIUtilsTest.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts index 27443bbdd40ed..d38273bbb4416 100644 --- a/tests/unit/Search/SearchUIUtilsTest.ts +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -6,7 +6,6 @@ import type * as OnyxTypes from '@src/types/onyx'; const accountID = 18439984; const policyID = 'A1B2C3'; const reportID = '123456789'; -// Transaction ID of the transaction const transactionID = '1'; // Search data results of the given report and transactions From 8d40a2023ac44cdef13b7df7c37f5aa8e318cdc6 Mon Sep 17 00:00:00 2001 From: Novell <76243292+NJ-2020@users.noreply.github.com> Date: Fri, 27 Dec 2024 20:26:39 -0800 Subject: [PATCH 11/13] update search results comment Co-authored-by: Monil Bhavsar --- tests/unit/Search/SearchUIUtilsTest.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts index d38273bbb4416..23a2a10583b12 100644 --- a/tests/unit/Search/SearchUIUtilsTest.ts +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -8,7 +8,7 @@ const policyID = 'A1B2C3'; const reportID = '123456789'; const transactionID = '1'; -// Search data results of the given report and transactions +// Given search data results consisting of involved users' personal details, policyID, reportID and transactionID const searchResults: OnyxTypes.SearchResults = { data: { personalDetailsList: { From 9d31e213fced8911ea5765b397098d27f5be43af Mon Sep 17 00:00:00 2001 From: Novell <76243292+NJ-2020@users.noreply.github.com> Date: Fri, 27 Dec 2024 20:27:14 -0800 Subject: [PATCH 12/13] add comment for transactionSections Co-authored-by: Monil Bhavsar --- tests/unit/Search/SearchUIUtilsTest.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts index 23a2a10583b12..66825c20bdfce 100644 --- a/tests/unit/Search/SearchUIUtilsTest.ts +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -101,6 +101,8 @@ const searchResults: OnyxTypes.SearchResults = { type: 'expense', }, }; + +// When the results are filtered by type "expense" to be displayed on the search page const transactionSections = SearchUIUtils.getSections('expense', 'all', searchResults.data, searchResults.search) as TransactionListItemType[]; const tests = transactionSections.map((transactionList) => [{transactionListItem: transactionList, expectedMerchant: CONST.TRANSACTION.DEFAULT_MERCHANT}]); From 566a525146e2d2417f5c46c37bae35d8a0b775ae Mon Sep 17 00:00:00 2001 From: Novell <76243292+NJ-2020@users.noreply.github.com> Date: Fri, 27 Dec 2024 20:27:56 -0800 Subject: [PATCH 13/13] add comment for describe test function Co-authored-by: Monil Bhavsar --- tests/unit/Search/SearchUIUtilsTest.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/unit/Search/SearchUIUtilsTest.ts b/tests/unit/Search/SearchUIUtilsTest.ts index 66825c20bdfce..f161531268587 100644 --- a/tests/unit/Search/SearchUIUtilsTest.ts +++ b/tests/unit/Search/SearchUIUtilsTest.ts @@ -106,6 +106,7 @@ const searchResults: OnyxTypes.SearchResults = { const transactionSections = SearchUIUtils.getSections('expense', 'all', searchResults.data, searchResults.search) as TransactionListItemType[]; const tests = transactionSections.map((transactionList) => [{transactionListItem: transactionList, expectedMerchant: CONST.TRANSACTION.DEFAULT_MERCHANT}]); +// Then verify the merchant column is displayed as "Expense", and does not contain an empty string describe('SearchUIUtils', () => { test.each(tests)('Transaction list item with "Expense" merchant', ({transactionListItem, expectedMerchant}) => { expect(transactionListItem.merchant).toEqual(expectedMerchant);