From 5e31ba8d0a9a67a737b47603d622d903b23edc43 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 5 Sep 2026 18:35:48 +0200 Subject: [PATCH 1/2] Refactoring --- .../calculator/portfolio-calculator.factory.ts | 7 +++++++ .../portfolio/calculator/portfolio-calculator.ts | 8 +++++++- .../api/src/app/portfolio/current-rate.service.ts | 15 ++++++--------- .../interfaces/get-values-params.interface.ts | 2 ++ apps/api/src/app/portfolio/portfolio.service.ts | 12 ++++++++---- .../data-provider/data-provider.service.ts | 8 ++++---- 6 files changed, 34 insertions(+), 18 deletions(-) diff --git a/apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts b/apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts index 7b5ab1a0d..35c879b3e 100644 --- a/apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts +++ b/apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts @@ -3,6 +3,7 @@ import { RedisCacheService } from '@ghostfolio/api/app/redis-cache/redis-cache.s import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; import { PortfolioSnapshotService } from '@ghostfolio/api/services/queues/portfolio-snapshot/portfolio-snapshot.service'; +import { SubscriptionType } from '@ghostfolio/common/enums'; import { Activity, Filter, @@ -34,6 +35,7 @@ export class PortfolioCalculatorFactory { calculationType, currency, filters = [], + subscriptionType, userId }: { accountBalanceItems?: HistoricalDataItem[]; @@ -41,6 +43,7 @@ export class PortfolioCalculatorFactory { calculationType: PerformanceCalculationType; currency: string; filters?: Filter[]; + subscriptionType?: SubscriptionType; userId: string; }): PortfolioCalculator { switch (calculationType) { @@ -50,6 +53,7 @@ export class PortfolioCalculatorFactory { activities, currency, filters, + subscriptionType, userId, configurationService: this.configurationService, currentRateService: this.currentRateService, @@ -64,6 +68,7 @@ export class PortfolioCalculatorFactory { activities, currency, filters, + subscriptionType, userId, configurationService: this.configurationService, currentRateService: this.currentRateService, @@ -78,6 +83,7 @@ export class PortfolioCalculatorFactory { activities, currency, filters, + subscriptionType, userId, configurationService: this.configurationService, currentRateService: this.currentRateService, @@ -92,6 +98,7 @@ export class PortfolioCalculatorFactory { activities, currency, filters, + subscriptionType, userId, configurationService: this.configurationService, currentRateService: this.currentRateService, diff --git a/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts index 971d8b564..f3e66b3ea 100644 --- a/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts @@ -20,6 +20,7 @@ import { PORTFOLIO_SNAPSHOT_COMPUTATION_QUEUE_PRIORITY_HIGH, PORTFOLIO_SNAPSHOT_COMPUTATION_QUEUE_PRIORITY_LOW } from '@ghostfolio/common/config'; +import { SubscriptionType } from '@ghostfolio/common/enums'; import { DATE_FORMAT, getAssetProfileIdentifier, @@ -89,6 +90,7 @@ export abstract class PortfolioCalculator { private snapshot: PortfolioSnapshot; private snapshotPromise: Promise; private startDate: Date; + private subscriptionType?: SubscriptionType; private transactionPoints: TransactionPoint[]; private userId: string; @@ -102,6 +104,7 @@ export abstract class PortfolioCalculator { filters, portfolioSnapshotService, redisCacheService, + subscriptionType, userId }: { accountBalanceItems: HistoricalDataItem[]; @@ -113,6 +116,7 @@ export abstract class PortfolioCalculator { filters: Filter[]; portfolioSnapshotService: PortfolioSnapshotService; redisCacheService: RedisCacheService; + subscriptionType?: SubscriptionType; userId: string; }) { this.accountBalanceItems = accountBalanceItems; @@ -175,6 +179,7 @@ export abstract class PortfolioCalculator { this.portfolioSnapshotService = portfolioSnapshotService; this.redisCacheService = redisCacheService; + this.subscriptionType = subscriptionType; this.userId = userId; const { endDate, startDate } = getIntervalFromDateRange({ @@ -278,7 +283,8 @@ export abstract class PortfolioCalculator { dateQuery: { gte: this.startDate, lt: this.endDate - } + }, + subscriptionType: this.subscriptionType }); this.dataProviderInfos = dataProviderInfos; diff --git a/apps/api/src/app/portfolio/current-rate.service.ts b/apps/api/src/app/portfolio/current-rate.service.ts index 9cfeda3bd..66119a3c6 100644 --- a/apps/api/src/app/portfolio/current-rate.service.ts +++ b/apps/api/src/app/portfolio/current-rate.service.ts @@ -11,10 +11,8 @@ import { DataProviderInfo, ResponseError } from '@ghostfolio/common/interfaces'; -import type { RequestWithUser } from '@ghostfolio/common/types'; -import { Inject, Injectable } from '@nestjs/common'; -import { REQUEST } from '@nestjs/core'; +import { Injectable } from '@nestjs/common'; import { isBefore, isToday } from 'date-fns'; import { isEmpty, uniqBy } from 'lodash'; @@ -29,15 +27,14 @@ export class CurrentRateService { public constructor( private readonly activitiesService: ActivitiesService, private readonly dataProviderService: DataProviderService, - private readonly marketDataService: MarketDataService, - @Inject(REQUEST) private readonly request: RequestWithUser + private readonly marketDataService: MarketDataService ) {} @LogPerformance - // TODO: Pass user instead of using this.request.user public async getValues({ dataGatheringItems, - dateQuery + dateQuery, + subscriptionType }: GetValuesParams): Promise { const dataProviderInfos: DataProviderInfo[] = []; @@ -52,8 +49,8 @@ export class CurrentRateService { if (includesToday) { const quotes = await this.dataProviderService.getQuotes({ - items: dataGatheringItems, - user: this.request?.user + subscriptionType, + items: dataGatheringItems }); for (const { dataSource, symbol } of dataGatheringItems) { diff --git a/apps/api/src/app/portfolio/interfaces/get-values-params.interface.ts b/apps/api/src/app/portfolio/interfaces/get-values-params.interface.ts index ffb74ee9b..e74c501be 100644 --- a/apps/api/src/app/portfolio/interfaces/get-values-params.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/get-values-params.interface.ts @@ -1,8 +1,10 @@ import { DataGatheringItem } from '@ghostfolio/api/services/interfaces/interfaces'; +import { SubscriptionType } from '@ghostfolio/common/enums'; import { DateQuery } from './date-query.interface'; export interface GetValuesParams { dataGatheringItems: DataGatheringItem[]; dateQuery: DateQuery; + subscriptionType?: SubscriptionType; } diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index 9f81754f4..ce62476df 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -545,7 +545,8 @@ export class PortfolioService { filters, userId, calculationType: this.getUserPerformanceCalculationType(user), - currency: userCurrency + currency: userCurrency, + subscriptionType: user.subscription?.type }); const { historicalData } = await portfolioCalculator.getSnapshot(); @@ -626,7 +627,8 @@ export class PortfolioService { filters, userId, calculationType: this.getUserPerformanceCalculationType(user), - currency: userCurrency + currency: userCurrency, + subscriptionType: user.subscription?.type }); const { createdAt, currentValueInBaseCurrency, hasErrors, positions } = @@ -927,7 +929,8 @@ export class PortfolioService { activities, userId, calculationType: this.getUserPerformanceCalculationType(user), - currency: userCurrency + currency: userCurrency, + subscriptionType: user.subscription?.type }); const transactionPoints = portfolioCalculator.getTransactionPoints(); @@ -1182,7 +1185,8 @@ export class PortfolioService { filters, userId, calculationType: this.getUserPerformanceCalculationType(user), - currency: userCurrency + currency: userCurrency, + subscriptionType: user.subscription?.type }); const { errors, hasErrors, historicalData } = diff --git a/apps/api/src/services/data-provider/data-provider.service.ts b/apps/api/src/services/data-provider/data-provider.service.ts index 0417315d4..87c1e85c6 100644 --- a/apps/api/src/services/data-provider/data-provider.service.ts +++ b/apps/api/src/services/data-provider/data-provider.service.ts @@ -594,13 +594,13 @@ export class DataProviderService implements OnModuleInit { public async getQuotes({ items, requestTimeout, - useCache = true, - user + subscriptionType, + useCache = true }: { items: AssetProfileIdentifier[]; requestTimeout?: number; + subscriptionType?: SubscriptionType; useCache?: boolean; - user?: UserWithSettings; }): Promise<{ [assetProfileIdentifier: string]: DataProviderResponse; }> { @@ -687,7 +687,7 @@ export class DataProviderService implements OnModuleInit { } else if ( dataProvider.getDataProviderInfo().isPremium && this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION') && - user?.subscription?.type === SubscriptionType.Basic + subscriptionType === SubscriptionType.Basic ) { // Skip symbols of Premium data providers for users without subscription return false; From 2e46c7c2d60e61631332fdca5f2006780a240205 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 5 Sep 2026 18:37:01 +0200 Subject: [PATCH 2/2] Refactoring --- .../roai/portfolio-calculator-baln-buy-and-buy.spec.ts | 2 +- ...olio-calculator-baln-buy-and-sell-in-two-activities.spec.ts | 2 +- .../roai/portfolio-calculator-baln-buy-and-sell.spec.ts | 2 +- .../calculator/roai/portfolio-calculator-baln-buy.spec.ts | 2 +- .../portfolio-calculator-btceur-in-base-currency-eur.spec.ts | 2 +- .../calculator/roai/portfolio-calculator-btceur.spec.ts | 2 +- .../portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts | 2 +- ...lio-calculator-btcusd-buy-before-first-market-price.spec.ts | 2 +- .../calculator/roai/portfolio-calculator-btcusd-short.spec.ts | 2 +- .../calculator/roai/portfolio-calculator-btcusd.spec.ts | 2 +- .../calculator/roai/portfolio-calculator-cash.spec.ts | 1 - .../portfolio/calculator/roai/portfolio-calculator-fee.spec.ts | 2 +- .../calculator/roai/portfolio-calculator-googl-buy.spec.ts | 2 +- ...folio-calculator-jnug-buy-and-sell-and-buy-and-sell.spec.ts | 2 +- .../calculator/roai/portfolio-calculator-liability.spec.ts | 2 +- ...lio-calculator-manual-buy-before-first-market-price.spec.ts | 2 +- .../roai/portfolio-calculator-msft-buy-and-sell.spec.ts | 3 ++- ...portfolio-calculator-msft-buy-from-two-data-sources.spec.ts | 2 +- .../roai/portfolio-calculator-msft-buy-with-dividend.spec.ts | 2 +- .../calculator/roai/portfolio-calculator-no-activities.spec.ts | 2 +- .../portfolio-calculator-novn-buy-and-sell-partially.spec.ts | 2 +- .../roai/portfolio-calculator-novn-buy-and-sell.spec.ts | 2 +- .../calculator/roai/portfolio-calculator-stock-split.spec.ts | 3 ++- .../calculator/roai/portfolio-calculator-valuable.spec.ts | 2 +- apps/api/src/app/portfolio/current-rate.service.spec.ts | 3 +-- 25 files changed, 26 insertions(+), 26 deletions(-) diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-buy.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-buy.spec.ts index a6bedc55d..932a50c7e 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-buy.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-buy.spec.ts @@ -59,7 +59,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts index dc22cdbab..4687fe4df 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts @@ -59,7 +59,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell.spec.ts index 9d55a79dd..f054410ae 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy-and-sell.spec.ts @@ -59,7 +59,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy.spec.ts index 947935296..eeed8e957 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-baln-buy.spec.ts @@ -59,7 +59,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur-in-base-currency-eur.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur-in-base-currency-eur.spec.ts index 1143e3bd2..5c78f8a42 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur-in-base-currency-eur.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur-in-base-currency-eur.spec.ts @@ -81,7 +81,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts index e5b0d69d6..0e62bd0a3 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btceur.spec.ts @@ -69,7 +69,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts index 50168468a..c775e81be 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts @@ -71,7 +71,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-before-first-market-price.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-before-first-market-price.spec.ts index cebb3de94..6b3d9ce6d 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-before-first-market-price.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-buy-before-first-market-price.spec.ts @@ -57,7 +57,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-short.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-short.spec.ts index 93d91c500..58dc545e4 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-short.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-btcusd-short.spec.ts @@ -69,7 +69,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, 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 1fa2d1264..4e7f693fc 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 @@ -69,7 +69,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-cash.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-cash.spec.ts index e50b132d2..3a49c91fc 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-cash.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-cash.spec.ts @@ -118,7 +118,6 @@ describe('PortfolioCalculator', () => { currentRateService = new CurrentRateService( null, dataProviderService, - null, null ); diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts index 000cc5935..6e9a42e3e 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-fee.spec.ts @@ -59,7 +59,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, 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 451973a9f..8a2b1aec1 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 @@ -71,7 +71,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-jnug-buy-and-sell-and-buy-and-sell.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-jnug-buy-and-sell-and-buy-and-sell.spec.ts index 2cc87934a..ba2b7d05c 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-jnug-buy-and-sell-and-buy-and-sell.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-jnug-buy-and-sell-and-buy-and-sell.spec.ts @@ -72,7 +72,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-liability.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-liability.spec.ts index 68572c63e..370205fc9 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-liability.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-liability.spec.ts @@ -59,7 +59,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-before-first-market-price.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-before-first-market-price.spec.ts index 70b401627..135e6f640 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-before-first-market-price.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-manual-buy-before-first-market-price.spec.ts @@ -57,7 +57,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-and-sell.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-and-sell.spec.ts index 53236f007..228fdd542 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-and-sell.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-and-sell.spec.ts @@ -56,7 +56,8 @@ describe('PortfolioCalculator', () => { RedisCacheServiceMock.reset(); configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); + exchangeRateDataService = new ExchangeRateDataService( null, null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-from-two-data-sources.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-from-two-data-sources.spec.ts index 0aa3a4be3..00b3ce4af 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-from-two-data-sources.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-from-two-data-sources.spec.ts @@ -71,7 +71,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-with-dividend.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-with-dividend.spec.ts index f6598f22b..39994a8e5 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-with-dividend.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-msft-buy-with-dividend.spec.ts @@ -59,7 +59,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-no-activities.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-no-activities.spec.ts index fb7a43477..f248114fe 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-no-activities.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-no-activities.spec.ts @@ -54,7 +54,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell-partially.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell-partially.spec.ts index 8c3858dcd..3f498ae4f 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell-partially.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-novn-buy-and-sell-partially.spec.ts @@ -72,7 +72,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, 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 f491b5025..896cb6c99 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 @@ -72,7 +72,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-stock-split.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-stock-split.spec.ts index c71a3bda1..e7e2371a4 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-stock-split.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-stock-split.spec.ts @@ -60,7 +60,8 @@ describe('RoaiPortfolioCalculator stock splits', () => { RedisCacheServiceMock.reset(); configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); + exchangeRateDataService = new ExchangeRateDataService( null, null, diff --git a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts index ce5f90f5c..4ddde9c46 100644 --- a/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts +++ b/apps/api/src/app/portfolio/calculator/roai/portfolio-calculator-valuable.spec.ts @@ -59,7 +59,7 @@ describe('PortfolioCalculator', () => { configurationService = new ConfigurationService(); - currentRateService = new CurrentRateService(null, null, null, null); + currentRateService = new CurrentRateService(null, null, null); exchangeRateDataService = new ExchangeRateDataService( null, diff --git a/apps/api/src/app/portfolio/current-rate.service.spec.ts b/apps/api/src/app/portfolio/current-rate.service.spec.ts index ea93e8b4f..4bb3a1b8c 100644 --- a/apps/api/src/app/portfolio/current-rate.service.spec.ts +++ b/apps/api/src/app/portfolio/current-rate.service.spec.ts @@ -119,8 +119,7 @@ describe('CurrentRateService', () => { currentRateService = new CurrentRateService( null, dataProviderService, - marketDataService, - null + marketDataService ); });