import { describe, it, expect, vi, beforeEach } from 'vitest'; import { apiClient } from '../../src/services/api-client'; import * as NutritionTargetsService from '../../src/services/nutrition-targets'; vi.mock('../../src/services/api-client', () => ({ apiClient: { get: vi.fn(), post: vi.fn(), }, })); describe('nutrition-targets service', () => { beforeEach(() => { vi.clearAllMocks(); }); it('getActiveNutritionTarget', async () => { await NutritionTargetsService.getActiveNutritionTarget('hh1'); expect(apiClient.get).toHaveBeenCalledWith('/households/hh1/nutrition-targets'); }); it('getNutritionTargetHistory', async () => { await NutritionTargetsService.getNutritionTargetHistory('hh1'); expect(apiClient.get).toHaveBeenCalledWith('/households/hh1/nutrition-targets/history'); }); it('setNutritionTarget', async () => { const data = { calories: 2000 } as any; await NutritionTargetsService.setNutritionTarget('hh1', data); expect(apiClient.post).toHaveBeenCalledWith('/households/hh1/nutrition-targets', data); }); it('calculateTargetPreset', async () => { await NutritionTargetsService.calculateTargetPreset('hh1', 2500, 'gain'); expect(apiClient.post).toHaveBeenCalledWith('/households/hh1/nutrition-targets/presets', { calories: 2500, strategy: 'gain' }); }); });