feat(usability): confirm saves and guard booking submissions against duplicates (U07)

This commit is contained in:
2026-11-02 06:38:42 +01:00
parent 76ba79b63e
commit 22e509d982
17 changed files with 373 additions and 118 deletions
@@ -48,11 +48,18 @@ public class YearNavigationTests
Assert.Contains("außerhalb", dialog.Markup);
Assert.True(dialog.Find("button.btn-success").HasAttribute("disabled"));
dialog.Find("input[type=checkbox]").Change(true);
dialog.Find("button.btn-success").Click();
dialog.Find("form").Submit();
page.WaitForAssertion(() => Assert.Contains("Buchung im Jahr 2026 anzeigen", page.Markup));
Assert.DoesNotContain("Außerhalb", page.Find("table").TextContent);
page.FindAll("button").Single(b => b.TextContent.Contains("Buchung im Jahr 2026 anzeigen")).Click();
page.WaitForAssertion(() => Assert.Contains("Außerhalb", page.Find("table").TextContent));
Assert.Equal(2026, context.Services.GetRequiredService<ReportingPeriod>().Year);
page.FindAll("button").Single(b => b.TextContent.Contains("Jahr: 2026")).Click();
page.FindAll("button").Single(b => b.TextContent.Trim() == "Alle Buchungen").Click();
page.FindAll("button").Single(b => b.TextContent.Contains("Zurück")).Click();
page.WaitForAssertion(() => Assert.Contains("Alle Jahre", page.Markup));
page.Find(".account-card").Click();
page.WaitForAssertion(() => Assert.Contains("Vorjahr", page.Markup));
Assert.Null(context.Services.GetRequiredService<ReportingPeriod>().Year);
}
}