using Acl.Application; namespace Acceptance.Support; /// An in-memory stand-in for the OpenZaak Zaken API. It captures the /// fully default-filled the ACL builds and returns a /// fixed zaak URL, so the acceptance scenario can verify the use case without a /// running OpenZaak (real-OpenZaak verification is a separate slice). public sealed class InMemoryZaakGateway : IZaakGateway { public static readonly Uri CreatedZaakUrl = new("http://openzaak/zaken/api/v1/zaken/created-123"); public ZaakRequest? Captured { get; private set; } public (Uri Zaak, Uri Zaaktype, DateOnly Datum)? Approved { get; private set; } public Task OpenZaakAsync(ZaakRequest request, CancellationToken ct = default) { Captured = request; return Task.FromResult(CreatedZaakUrl); } public Task SetZaakToEindstatusAsync(Uri zaakUrl, Uri zaaktypeUrl, DateOnly datumStatusGezet, CancellationToken ct = default) { Approved = (zaakUrl, zaaktypeUrl, datumStatusGezet); return Task.CompletedTask; } public Task GetZaakIdentificatieAsync(Uri zaakUrl, CancellationToken ct = default) => Task.FromResult("ACC-REF-1"); }