UNPKG

ruch

Version:

Revolutionary React TypeScript CLI with hexagonal architecture & AI-powered development assistance. Create maintainable, scalable applications with domain-driven design and integrated AI tooling.

41 lines (34 loc) 1.13 kB
import { describe, it, expect, vi, beforeEach } from 'vitest'; import { UserAdapter } from './UserAdapter'; import { UserError } from '../services/UserService'; describe('UserAdapter', () => { let adapter: UserAdapter; const mockBaseUrl = 'http://api.example.com'; beforeEach(() => { adapter = new UserAdapter(); vi.stubGlobal('fetch', vi.fn()); }); describe('getAll', () => { it('should fetch all entities', async () => { const mockEntities = [{ id: '1' }]; (global.fetch as any).mockResolvedValueOnce({ ok: true, json: () => Promise.resolve(mockEntities), }); const result = await adapter.getAll(); expect(result).toEqual(mockEntities); expect(global.fetch).toHaveBeenCalledWith( `${mockBaseUrl}/user`, expect.any(Object) ); }); it('should throw error when request fails', async () => { (global.fetch as any).mockResolvedValueOnce({ ok: false, status: 500, }); await expect(adapter.getAll()).rejects.toThrow(UserError); }); }); // Add more test cases for other methods... });