Gherkin scenarios assert the submit carries the diploma origin (domestic/foreign) into the process. verify-domain now submits a foreign registration and asserts it parks at CBGVAdvies before Beoordelen, completes CBGV, then advances to Beoordelen — exercising both DMN branches through the engine (the domestic DIRECT path is the first registration already parking straight at Beoordelen). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
37 lines
1.5 KiB
C#
37 lines
1.5 KiB
C#
using Acceptance.Support;
|
|
using Big.Application;
|
|
using Big.Domain;
|
|
using Reqnroll;
|
|
using Xunit;
|
|
|
|
namespace Acceptance.Steps;
|
|
|
|
/// <summary>Bindings for <c>EenDiplomaRouteren.feature</c> (S-13). Drives the submit use case against
|
|
/// in-memory ports and asserts the registratie process is started carrying the diploma origin — the
|
|
/// domain's contribution to flow 4. The DMN evaluation and the foreign→CBGV-advies routing it drives
|
|
/// are verified live (verify-domain); one instance per scenario.</summary>
|
|
[Binding]
|
|
[Scope(Feature = "Een diploma op herkomst routeren")]
|
|
public sealed class EenDiplomaRouterenSteps
|
|
{
|
|
private readonly InMemoryRegistrationStore _store = new();
|
|
private readonly InMemoryWorkflowClient _workflow = new();
|
|
private DiplomaOrigin _origin;
|
|
|
|
[Given("a zorgprofessional with a \"(.*)\" diploma")]
|
|
public void GivenAZorgprofessionalWithADiploma(string origin)
|
|
=> _origin = Enum.Parse<DiplomaOrigin>(origin, ignoreCase: true);
|
|
|
|
[When("they submit their registration")]
|
|
public async Task WhenTheySubmitTheirRegistration()
|
|
=> await new SubmitRegistration(_store, _workflow).HandleAsync(
|
|
new SubmitRegistrationCommand("123456782", _origin));
|
|
|
|
[Then("the registratie process is started carrying a \"(.*)\" diploma")]
|
|
public void ThenTheProcessIsStartedCarryingTheDiploma(string expected)
|
|
{
|
|
Assert.NotNull(_workflow.StartedFor);
|
|
Assert.Equal(Enum.Parse<DiplomaOrigin>(expected, ignoreCase: true), _workflow.StartedWithOrigin);
|
|
}
|
|
}
|