import { provideHttpClient } from '@angular/common/http'; import { HttpTestingController, provideHttpClientTesting, } from '@angular/common/http/testing'; import { TestBed } from '@angular/core/testing'; import { BffApiV1Service, type OpenbaarEntry, type SubmitAccepted, } from '../index'; describe('BffApiV1Service (generated from services/bff/openapi.json)', () => { let service: BffApiV1Service; let http: HttpTestingController; beforeEach(() => { TestBed.configureTestingModule({ providers: [provideHttpClient(), provideHttpClientTesting()], }); service = TestBed.inject(BffApiV1Service); http = TestBed.inject(HttpTestingController); }); afterEach(() => http.verify()); it('submits a registration via POST /self-service/registrations', () => { let result: SubmitAccepted | undefined; service.postSelfServiceRegistrations().subscribe((r) => (result = r)); const req = http.expectOne('/self-service/registrations'); expect(req.request.method).toBe('POST'); req.flush({ registrationId: 'reg-1', status: 'Ingediend' }); expect(result?.registrationId).toBe('reg-1'); expect(result?.status).toBe('Ingediend'); }); it('reads the openbaar register via GET /openbaar/register with the query', () => { let rows: OpenbaarEntry[] | undefined; service.getOpenbaarRegister({ q: 'abc' }).subscribe((r) => (rows = r)); const req = http.expectOne((r) => r.url === '/openbaar/register'); expect(req.request.method).toBe('GET'); expect(req.request.params.get('q')).toBe('abc'); req.flush([{ id: 'abc-111', status: 'INGEDIEND' }]); expect(rows?.[0].id).toBe('abc-111'); }); });