From 4e566e26fbb77971d4b18390eee02f634086a59a Mon Sep 17 00:00:00 2001 From: John Costa Date: Fri, 6 Feb 2026 17:19:08 -0800 Subject: [PATCH] refactor(api): integrate year-grouped performance tests into existing test cases Move getChartByYear assertions from separate it.only blocks into the existing test cases to avoid duplicating activity setup and calculator initialization, addressing review feedback. Co-Authored-By: Claude Opus 4.6 --- .../roai/portfolio-calculator-btcusd.spec.ts | 31 ------------------ .../portfolio-calculator-googl-buy.spec.ts | 32 ------------------- ...folio-calculator-novn-buy-and-sell.spec.ts | 31 ------------------ 3 files changed, 94 deletions(-) diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd.spec.ts index 22c93badc..ad67be2ed 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd.spec.ts @@ -261,37 +261,6 @@ describe('PortfolioCalculator', () => { { date: '2021-01-01', investment: 44558.42 }, { date: '2022-01-01', investment: 0 } ]); - }); - - it.only('with BTCUSD buy - performance grouped by year', async () => { - jest.useFakeTimers().setSystemTime(parseDate('2022-01-14').getTime()); - - const activities: Activity[] = exportResponse.activities.map( - (activity) => ({ - ...activityDummyData, - ...activity, - date: parseDate(activity.date), - feeInAssetProfileCurrency: 4.46, - feeInBaseCurrency: 4.46, - SymbolProfile: { - ...symbolProfileDummyData, - currency: 'USD', - dataSource: activity.dataSource, - name: 'Bitcoin', - symbol: activity.symbol - }, - unitPriceInAssetProfileCurrency: 44558.42 - }) - ); - - const portfolioCalculator = portfolioCalculatorFactory.createCalculator({ - activities, - calculationType: PerformanceCalculationType.ROAI, - currency: exportResponse.user.settings.currency, - userId: userDummyData.id - }); - - await portfolioCalculator.computeSnapshot(); const { chart } = await portfolioCalculator.getPerformance({ end: parseDate('2022-01-14'), diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts index fe94f0267..be8e4fe0a 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-googl-buy.spec.ts @@ -233,38 +233,6 @@ describe('PortfolioCalculator', () => { expect(investmentsByYear).toEqual([ { date: '2023-01-01', investment: 82.329056 } ]); - }); - - it.only('with GOOGL buy - performance grouped by year', async () => { - jest.useFakeTimers().setSystemTime(parseDate('2023-07-10').getTime()); - - const activities: Activity[] = [ - { - ...activityDummyData, - date: new Date('2023-01-03'), - feeInAssetProfileCurrency: 1, - feeInBaseCurrency: 0.9238, - quantity: 1, - SymbolProfile: { - ...symbolProfileDummyData, - currency: 'USD', - dataSource: 'YAHOO', - name: 'Alphabet Inc.', - symbol: 'GOOGL' - }, - type: 'BUY', - unitPriceInAssetProfileCurrency: 89.12 - } - ]; - - const portfolioCalculator = portfolioCalculatorFactory.createCalculator({ - activities, - calculationType: PerformanceCalculationType.ROAI, - currency: 'CHF', - userId: userDummyData.id - }); - - await portfolioCalculator.computeSnapshot(); const { chart } = await portfolioCalculator.getPerformance({ end: parseDate('2023-07-10'), diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell.spec.ts index 4def1a8d8..3a483ebcb 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell.spec.ts @@ -264,37 +264,6 @@ describe('PortfolioCalculator', () => { expect(investmentsByYear).toEqual([ { date: '2022-01-01', investment: 0 } ]); - }); - - it.only('with NOVN.SW buy and sell - performance grouped by year', async () => { - jest.useFakeTimers().setSystemTime(parseDate('2022-04-11').getTime()); - - const activities: Activity[] = exportResponse.activities.map( - (activity) => ({ - ...activityDummyData, - ...activity, - date: parseDate(activity.date), - feeInAssetProfileCurrency: activity.fee, - feeInBaseCurrency: activity.fee, - SymbolProfile: { - ...symbolProfileDummyData, - currency: activity.currency, - dataSource: activity.dataSource, - name: 'Novartis AG', - symbol: activity.symbol - }, - unitPriceInAssetProfileCurrency: activity.unitPrice - }) - ); - - const portfolioCalculator = portfolioCalculatorFactory.createCalculator({ - activities, - calculationType: PerformanceCalculationType.ROAI, - currency: exportResponse.user.settings.currency, - userId: userDummyData.id - }); - - await portfolioCalculator.computeSnapshot(); const { chart } = await portfolioCalculator.getPerformance({ end: parseDate('2022-04-11'),