import { describe, it, expect } from 'vitest'; import { AvatarGenerationViewModel } from './AvatarGenerationViewModel'; import { AvatarGenerationViewData } from '../view-data/AvatarGenerationViewData'; describe('AvatarGenerationViewModel', () => { const mockViewData: AvatarGenerationViewData = { success: true, avatarUrls: ['https://example.com/avatar1.png', 'https://example.com/avatar2.png'], errorMessage: undefined, }; it('should be initialized from ViewData', () => { const viewModel = new AvatarGenerationViewModel(mockViewData); expect(viewModel.success).toBe(true); expect(viewModel.avatarUrls).toEqual(['https://example.com/avatar1.png', 'https://example.com/avatar2.png']); expect(viewModel.errorMessage).toBeUndefined(); }); it('should handle missing avatarUrls in ViewData', () => { const viewDataWithoutUrls: AvatarGenerationViewData = { success: false, avatarUrls: [], errorMessage: 'Error occurred', }; const viewModel = new AvatarGenerationViewModel(viewDataWithoutUrls); expect(viewModel.success).toBe(false); expect(viewModel.avatarUrls).toEqual([]); expect(viewModel.errorMessage).toBe('Error occurred'); }); });