From 80dd3815fb811d3984593865de3b321e29cf2215 Mon Sep 17 00:00:00 2001 From: zachery with an e <45150570+zweatshirt@users.noreply.github.com> Date: Tue, 10 Feb 2026 12:25:17 -0600 Subject: [PATCH 1/2] Refactor balance handling in reports to use endBalance instead of balance --- .../BalanceCard/BalanceCard.test.tsx | 14 ++++++++------ .../BalanceCard/BalanceCard.tsx | 4 ++-- .../SavingsFundTransfer/ReportsSavingsFund.graphql | 2 +- .../TransfersPage/TransfersPage.test.tsx | 8 ++++---- .../BalanceCardList/BalanceCardList.tsx | 8 ++------ .../StaffExpenseReport/GetStaffExpense.graphql | 4 ++-- .../Helpers/filterTransactions.test.tsx | 3 ++- .../StaffExpenseReport/StaffExpenseReport.test.tsx | 6 ++++-- .../StaffExpenseReport/StaffExpenseReport.tsx | 6 ++---- .../StaffExpenseReport/Tables/PrintTables.test.tsx | 4 ++-- 10 files changed, 29 insertions(+), 30 deletions(-) diff --git a/src/components/Reports/PartnerGivingAnalysisReport/BalanceCard/BalanceCard.test.tsx b/src/components/Reports/PartnerGivingAnalysisReport/BalanceCard/BalanceCard.test.tsx index 685aa0f046..9abd6c9433 100644 --- a/src/components/Reports/PartnerGivingAnalysisReport/BalanceCard/BalanceCard.test.tsx +++ b/src/components/Reports/PartnerGivingAnalysisReport/BalanceCard/BalanceCard.test.tsx @@ -7,10 +7,10 @@ import { BalanceCard } from './BalanceCard'; const mutationSpy = jest.fn(); interface ComponentProps { - balance?: number; + endBalance?: number; } -const Components = ({ balance = 15000 }: ComponentProps) => ( +const Components = ({ endBalance = 15000 }: ComponentProps) => ( @@ -20,7 +20,7 @@ const Components = ({ balance = 15000 }: ComponentProps) => ( funds: [ { fundType: 'Primary', - balance, + endBalance, }, ], }, @@ -62,7 +62,7 @@ describe('BalanceCard', () => { describe('Handle formatting', () => { it('should format positive balance amount correctly', async () => { const { getByText, queryByTestId } = render( - , + , ); await waitFor(() => { @@ -73,7 +73,9 @@ describe('BalanceCard', () => { }); it('should handle zero balance amount', async () => { - const { getByText, queryByTestId } = render(); + const { getByText, queryByTestId } = render( + , + ); await waitFor(() => { expect(queryByTestId('CardSkeleton')).not.toBeInTheDocument(); @@ -84,7 +86,7 @@ describe('BalanceCard', () => { it('should format negative balance amount', async () => { const { getByText, queryByTestId } = render( - , + , ); await waitFor(() => { diff --git a/src/components/Reports/PartnerGivingAnalysisReport/BalanceCard/BalanceCard.tsx b/src/components/Reports/PartnerGivingAnalysisReport/BalanceCard/BalanceCard.tsx index 1428af7e4b..f44e387cd5 100644 --- a/src/components/Reports/PartnerGivingAnalysisReport/BalanceCard/BalanceCard.tsx +++ b/src/components/Reports/PartnerGivingAnalysisReport/BalanceCard/BalanceCard.tsx @@ -91,10 +91,10 @@ export const BalanceCard: React.FC = ({ - {formatBalance(fund.balance)} + {formatBalance(fund.endBalance)} diff --git a/src/components/Reports/SavingsFundTransfer/ReportsSavingsFund.graphql b/src/components/Reports/SavingsFundTransfer/ReportsSavingsFund.graphql index 09a896c3c0..c33d115902 100644 --- a/src/components/Reports/SavingsFundTransfer/ReportsSavingsFund.graphql +++ b/src/components/Reports/SavingsFundTransfer/ReportsSavingsFund.graphql @@ -45,6 +45,6 @@ query FundBalances($fundTypes: [String!]) { fragment FundFields on Fund { id fundType - balance + endBalance deficitLimit } diff --git a/src/components/Reports/SavingsFundTransfer/TransfersPage/TransfersPage.test.tsx b/src/components/Reports/SavingsFundTransfer/TransfersPage/TransfersPage.test.tsx index 0fae1a7642..04405d2641 100644 --- a/src/components/Reports/SavingsFundTransfer/TransfersPage/TransfersPage.test.tsx +++ b/src/components/Reports/SavingsFundTransfer/TransfersPage/TransfersPage.test.tsx @@ -95,13 +95,13 @@ const mock = { { id: '2', fundType: 'Savings', - balance: 25000, + endBalance: 25000, deficitLimit: 0, }, { id: '1', fundType: 'Primary', - balance: 15000, + endBalance: 15000, deficitLimit: 0, }, ], @@ -125,13 +125,13 @@ const emptyMock = { { id: '1', fundType: 'Primary', - balance: 15000, + endBalance: 15000, deficitLimit: 0, }, { id: '2', fundType: 'Savings', - balance: 2500, + endBalance: 2500, deficitLimit: 0, }, ], diff --git a/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.tsx b/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.tsx index 5ffe544c7b..556950b665 100644 --- a/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.tsx +++ b/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.tsx @@ -19,8 +19,6 @@ const StyledCardsBox = styled(Box)(({ theme }) => ({ export interface BalanceCardListProps { funds: Fund[]; selectedFundType: string | null; - startingBalance: number; - endingBalance: number; transferTotals: Record; onCardClick: (fundType: string) => void; loading: boolean; @@ -29,8 +27,6 @@ export interface BalanceCardListProps { export const BalanceCardList: React.FC = ({ funds, selectedFundType, - startingBalance, - endingBalance, transferTotals, onCardClick, loading, @@ -57,8 +53,8 @@ export const BalanceCardList: React.FC = ({ iconBgColor={getIconColorForFundType(fund.fundType, theme)} title={fund.fundType} isSelected={selectedFundType === fund.fundType} - startingBalance={startingBalance} - endingBalance={endingBalance} + startingBalance={fund.startingBalance ?? 0} + endingBalance={fund.endingBalance ?? 0} transfersIn={transferTotals[fund.fundType]?.in} transfersOut={transferTotals[fund.fundType]?.out} onClick={onCardClick} diff --git a/src/components/Reports/StaffExpenseReport/GetStaffExpense.graphql b/src/components/Reports/StaffExpenseReport/GetStaffExpense.graphql index 9e93d7bb5a..fbd4e2d262 100644 --- a/src/components/Reports/StaffExpenseReport/GetStaffExpense.graphql +++ b/src/components/Reports/StaffExpenseReport/GetStaffExpense.graphql @@ -8,14 +8,14 @@ query ReportsStaffExpenses( endMonth: $endMonth fundTypes: $fundTypes ) { - startBalance endBalance funds { id fundType total deficitLimit - balance + startBalance + endBalance categories { total averagePerMonth diff --git a/src/components/Reports/StaffExpenseReport/Helpers/filterTransactions.test.tsx b/src/components/Reports/StaffExpenseReport/Helpers/filterTransactions.test.tsx index ea14f14532..ce57a3b95d 100644 --- a/src/components/Reports/StaffExpenseReport/Helpers/filterTransactions.test.tsx +++ b/src/components/Reports/StaffExpenseReport/Helpers/filterTransactions.test.tsx @@ -15,7 +15,8 @@ import { const mockFund: Fund = { id: 'fund-1', fundType: 'Primary', - balance: 1000, + startBalance: 1200, + endBalance: -300, deficitLimit: 0, total: -500, categories: [ diff --git a/src/components/Reports/StaffExpenseReport/StaffExpenseReport.test.tsx b/src/components/Reports/StaffExpenseReport/StaffExpenseReport.test.tsx index 9b016ca6e7..e4d04faa98 100644 --- a/src/components/Reports/StaffExpenseReport/StaffExpenseReport.test.tsx +++ b/src/components/Reports/StaffExpenseReport/StaffExpenseReport.test.tsx @@ -58,14 +58,14 @@ const TestComponent: React.FC = ({ mocks={{ ReportsStaffExpenses: { reportsStaffExpenses: { - startBalance: 1000, - endBalance: 2000, funds: isEmpty ? [] : [ { fundType: 'Primary', total: -500, + startBalance: 1000, + endBalance: 2000, categories: [ { category: StaffExpenseCategoryEnum.Assessment, @@ -149,6 +149,8 @@ const TestComponent: React.FC = ({ { fundType: 'Savings', total: -100, + startBalance: 1000, + endBalance: 2000, categories: [ { category: StaffExpenseCategoryEnum.Assessment, diff --git a/src/components/Reports/StaffExpenseReport/StaffExpenseReport.tsx b/src/components/Reports/StaffExpenseReport/StaffExpenseReport.tsx index 7795592607..8b38553b2c 100644 --- a/src/components/Reports/StaffExpenseReport/StaffExpenseReport.tsx +++ b/src/components/Reports/StaffExpenseReport/StaffExpenseReport.tsx @@ -310,8 +310,6 @@ export const StaffExpenseReport: React.FC = ({ = ({ icon={getIconForFundType(selectedFundType)} iconColor={getIconColorForFundType(selectedFundType, theme)} title={selectedFundType} - startBalance={data?.reportsStaffExpenses.startBalance ?? 0} - endBalance={data?.reportsStaffExpenses.endBalance ?? 0} + startBalance={selectedFund.startBalance ?? 0} + endBalance={selectedFund.endBalance ?? 0} transfersIn={transferTotals[selectedFundType]?.in} transfersOut={transferTotals[selectedFundType]?.out} /> diff --git a/src/components/Reports/StaffExpenseReport/Tables/PrintTables.test.tsx b/src/components/Reports/StaffExpenseReport/Tables/PrintTables.test.tsx index 7ab3d69a74..b06874799f 100644 --- a/src/components/Reports/StaffExpenseReport/Tables/PrintTables.test.tsx +++ b/src/components/Reports/StaffExpenseReport/Tables/PrintTables.test.tsx @@ -24,11 +24,11 @@ const TestComponent: React.FC = ({ tableProps }) => ( accountId: 'account-1', name: 'Test Account', status: 'active', - startBalance: 1000, - endBalance: 2000, funds: [ { fundType: 'Primary', + startBalance: 1000, + endBalance: 2000, total: -500, categories: [ { From e995b14a7d6a51167b309b12990a5a84d37dbc4a Mon Sep 17 00:00:00 2001 From: zachery with an e <45150570+zweatshirt@users.noreply.github.com> Date: Tue, 10 Feb 2026 13:42:31 -0600 Subject: [PATCH 2/2] Fix naming --- .../BalanceCard/BalanceCard.test.tsx | 10 +++++----- .../StaffExpenseReport/BalanceCard/BalanceCard.tsx | 12 ++++++------ .../BalanceCardList/BalanceCardList.test.tsx | 4 ++-- .../BalanceCardList/BalanceCardList.tsx | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/components/Reports/StaffExpenseReport/BalanceCard/BalanceCard.test.tsx b/src/components/Reports/StaffExpenseReport/BalanceCard/BalanceCard.test.tsx index 8b95dba273..75e7813b61 100644 --- a/src/components/Reports/StaffExpenseReport/BalanceCard/BalanceCard.test.tsx +++ b/src/components/Reports/StaffExpenseReport/BalanceCard/BalanceCard.test.tsx @@ -9,8 +9,8 @@ const defaultProps = { title: 'Primary Fund', icon: Wallet, iconBgColor: 'primary.main', - startingBalance: 1000, - endingBalance: 1500, + startBalance: 1000, + endBalance: 1500, transfersIn: 500, transfersOut: 100, isSelected: false, @@ -51,14 +51,14 @@ describe('BalanceCard', () => { it('should format positive balances correctly', () => { const { getByText } = render( - , + , ); expect(getByText('Starting Balance: $1,234.56')).toBeInTheDocument(); }); it('should format negative balances correctly', () => { const { getByText } = render( - , + , ); expect(getByText('Starting Balance: -$500.25')).toBeInTheDocument(); }); @@ -72,7 +72,7 @@ describe('BalanceCard', () => { it('should handle large numbers correctly', () => { const { getByText } = render( - , + , ); expect(getByText('= Ending Balance: $1,000,000.99')).toBeInTheDocument(); }); diff --git a/src/components/Reports/StaffExpenseReport/BalanceCard/BalanceCard.tsx b/src/components/Reports/StaffExpenseReport/BalanceCard/BalanceCard.tsx index 0c05688c33..a8799d60b9 100644 --- a/src/components/Reports/StaffExpenseReport/BalanceCard/BalanceCard.tsx +++ b/src/components/Reports/StaffExpenseReport/BalanceCard/BalanceCard.tsx @@ -40,8 +40,8 @@ interface BalanceCardProps { title: string; icon: React.ComponentType; iconBgColor?: string; - startingBalance: number; - endingBalance: number; + startBalance: number; + endBalance: number; transfersIn: number; transfersOut: number; onClick: (fundType: string) => void; @@ -67,8 +67,8 @@ export const BalanceCard: React.FC = ({ title, icon: Icon, iconBgColor, - startingBalance, - endingBalance, + startBalance, + endBalance, transfersIn, transfersOut, onClick, @@ -88,7 +88,7 @@ export const BalanceCard: React.FC = ({ {t('Starting Balance: ')} - {currencyFormat(startingBalance, 'USD', locale)} + {currencyFormat(startBalance, 'USD', locale)} {t('+ Transfers in: ')} @@ -100,7 +100,7 @@ export const BalanceCard: React.FC = ({ {t('= Ending Balance: ')} - {currencyFormat(endingBalance, 'USD', locale)} + {currencyFormat(endBalance, 'USD', locale)} diff --git a/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.test.tsx b/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.test.tsx index 39467acb90..769108a701 100644 --- a/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.test.tsx +++ b/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.test.tsx @@ -34,8 +34,8 @@ const mockFunds: Fund[] = [ const defaultProps = { funds: mockFunds, selectedFundType: null, - startingBalance: 1000, - endingBalance: 1500, + startBalance: 1000, + endBalance: 1500, transferTotals: { Primary: { in: 500, out: 100 }, Savings: { in: 300, out: 50 }, diff --git a/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.tsx b/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.tsx index 556950b665..31dbe9396f 100644 --- a/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.tsx +++ b/src/components/Reports/StaffExpenseReport/BalanceCardList/BalanceCardList.tsx @@ -53,8 +53,8 @@ export const BalanceCardList: React.FC = ({ iconBgColor={getIconColorForFundType(fund.fundType, theme)} title={fund.fundType} isSelected={selectedFundType === fund.fundType} - startingBalance={fund.startingBalance ?? 0} - endingBalance={fund.endingBalance ?? 0} + startBalance={fund.startBalance ?? 0} + endBalance={fund.endBalance ?? 0} transfersIn={transferTotals[fund.fundType]?.in} transfersOut={transferTotals[fund.fundType]?.out} onClick={onCardClick}