From 75062158cf5649c3d60ced47ac76d2a90fa47855 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 17 Aug 2024 09:45:50 +0200 Subject: [PATCH] Improve tests --- ...io-calculator-baln-buy-and-sell-in-two-activities.spec.ts | 3 +++ .../twr/portfolio-calculator-baln-buy-and-sell.spec.ts | 3 +++ .../calculator/twr/portfolio-calculator-baln-buy.spec.ts | 3 +++ ...ortfolio-calculator-btcusd-buy-and-sell-partially.spec.ts | 3 +++ .../calculator/twr/portfolio-calculator-fee.spec.ts | 1 + .../calculator/twr/portfolio-calculator-googl-buy.spec.ts | 3 +++ .../calculator/twr/portfolio-calculator-item.spec.ts | 1 + .../portfolio-calculator-novn-buy-and-sell-partially.spec.ts | 3 +++ .../twr/portfolio-calculator-novn-buy-and-sell.spec.ts | 3 +++ .../src/app/portfolio/calculator/twr/portfolio-calculator.ts | 5 +++-- 10 files changed, 26 insertions(+), 2 deletions(-) diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts index b63de0f28..65c83b64d 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts @@ -178,6 +178,9 @@ describe('PortfolioCalculator', () => { '-0.05528341497550734703' ), netPerformanceWithCurrencyEffect: new Big('-15.8'), + netPerformanceWithCurrencyEffectMap: { + max: new Big('-15.8') + }, marketPrice: 148.9, marketPriceInBaseCurrency: 148.9, quantity: new Big('0'), diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell.spec.ts index a677d9fc1..5787151c0 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell.spec.ts @@ -163,6 +163,9 @@ describe('PortfolioCalculator', () => { '-0.0552834149755073478' ), netPerformanceWithCurrencyEffect: new Big('-15.8'), + netPerformanceWithCurrencyEffectMap: { + max: new Big('-15.8') + }, marketPrice: 148.9, marketPriceInBaseCurrency: 148.9, quantity: new Big('0'), diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy.spec.ts index 5106c701c..6f4ed3fc3 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy.spec.ts @@ -148,6 +148,9 @@ describe('PortfolioCalculator', () => { '0.08437042459736456808' ), netPerformanceWithCurrencyEffect: new Big('23.05'), + netPerformanceWithCurrencyEffectMap: { + max: new Big('23.05') + }, marketPrice: 148.9, marketPriceInBaseCurrency: 148.9, quantity: new Big('2'), diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts index 1a9eb5a35..5bd4be395 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts @@ -182,6 +182,9 @@ describe('PortfolioCalculator', () => { netPerformanceWithCurrencyEffect: new Big( '26516.208701400000064086' ), + netPerformanceWithCurrencyEffectMap: { + max: new Big('26516.208701400000064086') + }, quantity: new Big('1'), symbol: 'BTCUSD', tags: [], diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-fee.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-fee.spec.ts index 4a19683c8..2426aded1 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-fee.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-fee.spec.ts @@ -131,6 +131,7 @@ describe('PortfolioCalculator', () => { netPerformancePercentage: null, netPerformancePercentageWithCurrencyEffect: null, netPerformanceWithCurrencyEffect: null, + netPerformanceWithCurrencyEffectMap: null, quantity: new Big('0'), symbol: '2c463fb3-af07-486e-adb0-8301b3d72141', tags: [], diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-googl-buy.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-googl-buy.spec.ts index 9b78f8100..24457f844 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-googl-buy.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-googl-buy.spec.ts @@ -161,6 +161,9 @@ describe('PortfolioCalculator', () => { '0.24112962014285697628' ), netPerformanceWithCurrencyEffect: new Big('19.851974'), + netPerformanceWithCurrencyEffectMap: { + max: new Big('19.851974') + }, marketPrice: 116.45, marketPriceInBaseCurrency: 103.10483, quantity: new Big('1'), diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-item.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-item.spec.ts index 50b5e8028..de7bcecc7 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-item.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-item.spec.ts @@ -131,6 +131,7 @@ describe('PortfolioCalculator', () => { netPerformancePercentage: null, netPerformancePercentageWithCurrencyEffect: null, netPerformanceWithCurrencyEffect: null, + netPerformanceWithCurrencyEffectMap: null, quantity: new Big('0'), symbol: 'dac95060-d4f2-4653-a253-2c45e6fb5cde', tags: [], diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell-partially.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell-partially.spec.ts index ec06196aa..b2827891b 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell-partially.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell-partially.spec.ts @@ -163,6 +163,9 @@ describe('PortfolioCalculator', () => { '0.12184460284330327256' ), netPerformanceWithCurrencyEffect: new Big('17.68'), + netPerformanceWithCurrencyEffectMap: { + max: new Big('17.68') + }, marketPrice: 87.8, marketPriceInBaseCurrency: 87.8, quantity: new Big('1'), diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell.spec.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell.spec.ts index a08477ba9..4097ccda3 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell.spec.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell.spec.ts @@ -193,6 +193,9 @@ describe('PortfolioCalculator', () => { '0.13100263852242744063' ), netPerformanceWithCurrencyEffect: new Big('19.86'), + netPerformanceWithCurrencyEffectMap: { + max: new Big('19.86') + }, marketPrice: 87.8, marketPriceInBaseCurrency: 87.8, quantity: new Big('0'), diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts index 98ecae5a4..7fc631af0 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts @@ -920,14 +920,15 @@ export class TWRPortfolioCalculator extends PortfolioCalculator { average = average.div(dayCount); + // TODO: Why without minus? netPerformanceWithCurrencyEffectMap[dateRange] = average.gt(0) ? netPerformanceValuesWithCurrencyEffect[ format(endDate, DATE_FORMAT) - ].minus( + ] /*.minus( netPerformanceValuesWithCurrencyEffect[ format(startDate, DATE_FORMAT) ] - ) + )*/ : new Big(0); netPerformancePercentageWithCurrencyEffectMap[dateRange] = average.gt(0)