test(domain): store finds inscriptions due for a herregistratie reminder (refs #18)
New IRegistrationStore.FindDueForHerregistratieReminderAsync — the sweep's candidate set. The production store is stubbed to an empty list so the new test fails; the green commit filters on the aggregate's own reminder-due rule. refs #18
This commit is contained in:
@@ -96,4 +96,27 @@ public class InMemoryRegistrationStoreTests
|
||||
|
||||
Assert.Null(await store.FindOpenByBsnAsync("123456782"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Finds_only_the_inscriptions_due_for_a_herregistratie_reminder()
|
||||
{
|
||||
var now = new DateTimeOffset(2026, 7, 23, 0, 0, 0, TimeSpan.Zero);
|
||||
var store = new InMemoryRegistrationStore();
|
||||
|
||||
var due = Registration.Submit("123456782");
|
||||
due.AttachZaak(new Uri("http://openzaak/zaken/api/v1/zaken/abc"));
|
||||
due.Approve(now - Registration.HerregistratieGeldigheid + Registration.Herinneringstermijn);
|
||||
await store.SaveAsync(due);
|
||||
|
||||
var freshlyInscribed = Registration.Submit("111111110");
|
||||
freshlyInscribed.AttachZaak(new Uri("http://openzaak/zaken/api/v1/zaken/def"));
|
||||
freshlyInscribed.Approve(now);
|
||||
await store.SaveAsync(freshlyInscribed);
|
||||
|
||||
await store.SaveAsync(Registration.Submit("222222222")); // still INGEDIEND — never inscribed
|
||||
|
||||
var result = await store.FindDueForHerregistratieReminderAsync(now);
|
||||
|
||||
Assert.Equal([due.Id], result.Select(r => r.Id).ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user