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