Files
register-referentie/tests/acceptance/Support/InMemoryZaakGateway.cs
T
notandClaude Opus 4.8 a985284b71 test(acl): cancellation gateway posts Geannuleerd + Vervallen; approval picks resultaat by name (refs #106)
S-10c: the document-timeout branch must set the zaak to a distinct
cancellation statustype (Geannuleerd) + resultaat (Vervallen), resolved by
omschrijving. With a second resultaattype present, approval must also
resolve its resultaat (Geregistreerd) by name rather than taking the first.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 14:27:32 +02:00

41 lines
1.7 KiB
C#

using Acl.Application;
namespace Acceptance.Support;
/// <summary>An in-memory stand-in for the OpenZaak Zaken API. It captures the
/// fully default-filled <see cref="ZaakRequest"/> 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).</summary>
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 (Uri Zaak, Uri Zaaktype, DateOnly Datum)? Cancelled { get; private set; }
public Task<Uri> 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 SetZaakToCancellationStatusAsync(Uri zaakUrl, Uri zaaktypeUrl, DateOnly datumStatusGezet, CancellationToken ct = default)
{
Cancelled = (zaakUrl, zaaktypeUrl, datumStatusGezet);
return Task.CompletedTask;
}
public Task<string> GetZaakIdentificatieAsync(Uri zaakUrl, CancellationToken ct = default)
=> Task.FromResult("ACC-REF-1");
public Task<Uri> StoreDocumentAsync(DocumentRequest request, CancellationToken ct = default)
=> Task.FromResult(new Uri("http://openzaak/documenten/api/v1/enkelvoudiginformatieobjecten/acc-doc"));
}