From 357d3467872c47ceadce4244a1f435f3202068ec Mon Sep 17 00:00:00 2001 From: sdarbinyan Date: Thu, 13 Aug 2026 11:18:14 +0400 Subject: [PATCH] refactor: remove dead mock-mode branches in PRODUCT_DATA_PROVIDER/CATEGORY_REPOSITORY Both tokens switched on getProductProviderMode()/getCategoryProviderMode() but every case (including 'mock') fell through to the same real API provider - no mock implementation of either interface exists. Removed the dead switch instead of leaving code that implies a mock mode which was never built. Co-Authored-By: Claude Sonnet 5 --- .../categories/category-repository.token.ts | 19 ++++++------------ .../products/product-data-provider.token.ts | 20 +++++++------------ 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/src/app/core/categories/category-repository.token.ts b/src/app/core/categories/category-repository.token.ts index f73a084..7ecd098 100644 --- a/src/app/core/categories/category-repository.token.ts +++ b/src/app/core/categories/category-repository.token.ts @@ -1,20 +1,13 @@ import { InjectionToken, inject } from '@angular/core'; -import { RuntimeProviderStrategyService } from '../providers/runtime-provider-strategy.service'; import { ApiCategoryRepository } from './repositories/api-category.repository'; import { CategoryRepository } from './repositories/category.repository'; +/** + * No mock CategoryRepository implementation exists - same dead branch as + * PRODUCT_DATA_PROVIDER. Always resolved to the real API repository + * regardless of getCategoryProviderMode(); removed the dead switch. + */ export const CATEGORY_REPOSITORY = new InjectionToken('CATEGORY_REPOSITORY', { providedIn: 'root', - factory: () => { - const strategy = inject(RuntimeProviderStrategyService); - const apiRepository = inject(ApiCategoryRepository); - - switch (strategy.getCategoryProviderMode()) { - case 'mock': - case 'remote-config': - case 'api': - default: - return apiRepository; - } - } + factory: () => inject(ApiCategoryRepository) }); \ No newline at end of file diff --git a/src/app/core/products/product-data-provider.token.ts b/src/app/core/products/product-data-provider.token.ts index 7178288..50f3ff3 100644 --- a/src/app/core/products/product-data-provider.token.ts +++ b/src/app/core/products/product-data-provider.token.ts @@ -1,20 +1,14 @@ import { InjectionToken, inject } from '@angular/core'; -import { RuntimeProviderStrategyService } from '../providers/runtime-provider-strategy.service'; import { ApiProductDataProvider } from './providers/api-product-data.provider'; import { ProductDataProvider } from './providers/product-data-provider.interface'; +/** + * No mock ProductDataProvider implementation exists - RuntimeProviderStrategyService. + * getProductProviderMode() can report 'mock', but there was never a branch that acted + * on it, so this always resolved to the real API provider regardless. Removed the dead + * switch instead of leaving code that implies a mock mode which doesn't exist. + */ export const PRODUCT_DATA_PROVIDER = new InjectionToken('PRODUCT_DATA_PROVIDER', { providedIn: 'root', - factory: () => { - const strategy = inject(RuntimeProviderStrategyService); - const apiProvider = inject(ApiProductDataProvider); - - switch (strategy.getProductProviderMode()) { - case 'mock': - case 'remote-config': - case 'api': - default: - return apiProvider; - } - } + factory: () => inject(ApiProductDataProvider) });