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.2 kB
import { describe, it, expect, vi, beforeEach } from 'vitest'; import { NotificationAdapter } from './NotificationAdapter'; import { NotificationError } from '../services/NotificationService'; describe('NotificationAdapter', () => { let adapter: NotificationAdapter; const mockBaseUrl = 'http://api.example.com'; beforeEach(() => { adapter = new NotificationAdapter(); 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}/notification`, 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(NotificationError); }); }); // Add more test cases for other methods... });