diff --git a/JournalApp.Tests/CalendarTests.razor b/JournalApp.Tests/CalendarTests.razor index 9a73d39..fb4dc71 100644 --- a/JournalApp.Tests/CalendarTests.razor +++ b/JournalApp.Tests/CalendarTests.razor @@ -20,7 +20,7 @@ [Fact] public void SwitchYear() { - var cut = RenderComponent(p => + var cut = Render(p => p.Add(x => x.OpenToDateString, "20000101") ); @@ -51,7 +51,7 @@ [Fact] public async Task CalendarViewMoodBlockCount() { - var cut = RenderComponent(p => + var cut = Render(p => p.Add(x => x.OpenToDateString, "20230101") ); cut.Instance.SelectedYear.Should().Be(2023); @@ -81,7 +81,7 @@ _culture.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Wednesday; Thread.CurrentThread.CurrentCulture = _culture; - var cut = RenderComponent(p => + var cut = Render(p => p.Add(x => x.OpenToDateString, "20230101") ); cut.Instance.SelectedYear.Should().Be(2023); diff --git a/JournalApp.Tests/Data/AppDataUIServiceTests.cs b/JournalApp.Tests/Data/AppDataUIServiceTests.cs index 931209e..1e3bfa8 100644 --- a/JournalApp.Tests/Data/AppDataUIServiceTests.cs +++ b/JournalApp.Tests/Data/AppDataUIServiceTests.cs @@ -21,7 +21,7 @@ public async Task StartImportWizard_DoesNotModifyDataOrPreferences_WhenUserCance var appDataService = Services.GetService(); var preferenceService = Services.GetService(); - var originalExportDate = new DateTimeOffset(2026, 3, 15, 12, 0, 0, TimeSpan.FromHours(-5)); + var originalExportDate = new DateTimeOffset(2099, 1, 1, 0, 0, 0, TimeSpan.Zero); // Skips the backup warning so this test exercises the confirmation dialog path. preferenceService.LastExportDate = originalExportDate; preferenceService.HideNotes = true; preferenceService.SelectedAppTheme = AppTheme.Dark; @@ -88,7 +88,7 @@ public async Task StartImportWizard_DoesNotRestorePreferencesOrUpdateLastExport_ var appDataService = Services.GetService(); var preferenceService = Services.GetService(); - var originalExportDate = new DateTimeOffset(2026, 3, 15, 12, 0, 0, TimeSpan.FromHours(-5)); + var originalExportDate = new DateTimeOffset(2099, 1, 1, 0, 0, 0, TimeSpan.Zero); // Skips the backup warning so this test reaches the replace failure path. preferenceService.LastExportDate = originalExportDate; preferenceService.SafetyPlan = new SafetyPlan { WarningSigns = "original warning" }; diff --git a/JournalApp.Tests/DataPointViewTests.razor b/JournalApp.Tests/DataPointViewTests.razor index 40b6318..800c117 100644 --- a/JournalApp.Tests/DataPointViewTests.razor +++ b/JournalApp.Tests/DataPointViewTests.razor @@ -87,7 +87,7 @@ var point = DataPoint.Create(day, category); point.SleepHours = 8.5m; - var cut = RenderComponent(p => + var cut = Render(p => p.Add(x => x.Point, point) ); @@ -122,7 +122,7 @@ var day = Day.Create(new(2024, 01, 01)); var point = DataPoint.Create(day, category); - var cut = RenderComponent(p => + var cut = Render(p => p.Add(x => x.Point, point) ); @@ -150,7 +150,7 @@ var day = Day.Create(new(2024, 01, 01)); var point = DataPoint.Create(day, category); - var cut = RenderComponent(p => + var cut = Render(p => p.Add(x => x.Point, point) ); @@ -187,7 +187,7 @@ var day = Day.Create(new(2024, 01, 01)); var point = DataPoint.Create(day, category); - var cut = RenderComponent(p => + var cut = Render(p => p.Add(x => x.Point, point) ); @@ -208,7 +208,7 @@ var day = Day.Create(new(2024, 01, 01)); var point = DataPoint.Create(day, category); - var cut = RenderComponent(p => + var cut = Render(p => p.Add(x => x.Point, point) ); @@ -446,7 +446,7 @@ var point = DataPoint.Create(day, category); var stateChangedCalls = 0; - var cut = RenderComponent(p => p + var cut = Render(p => p .Add(x => x.Point, point) .Add(x => x.StateChanged, () => stateChangedCalls++)); diff --git a/JournalApp.Tests/JaTestContext.cs b/JournalApp.Tests/JaTestContext.cs index ceb4ad7..b69b391 100644 --- a/JournalApp.Tests/JaTestContext.cs +++ b/JournalApp.Tests/JaTestContext.cs @@ -4,7 +4,7 @@ namespace JournalApp.Tests; -public abstract class JaTestContext : TestContext, IAsyncLifetime +public abstract class JaTestContext : BunitContext, IAsyncLifetime { private SqliteConnection _dbConnection; @@ -21,13 +21,18 @@ public virtual Task InitializeAsync() return Task.CompletedTask; } - public virtual async Task DisposeAsync() + Task IAsyncLifetime.DisposeAsync() => DisposeTestContextAsync(); + + protected virtual async Task DisposeTestContextAsync() { if (_dbConnection != null) { await _dbConnection.CloseAsync(); await _dbConnection.DisposeAsync(); + _dbConnection = null; } + + await base.DisposeAsync(); } public void AddDbContext() diff --git a/JournalApp.Tests/JournalApp.Tests.csproj b/JournalApp.Tests/JournalApp.Tests.csproj index 6dcb27e..7515a6c 100644 --- a/JournalApp.Tests/JournalApp.Tests.csproj +++ b/JournalApp.Tests/JournalApp.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/JournalApp.Tests/ManageCategoriesTests.razor b/JournalApp.Tests/ManageCategoriesTests.razor index a6ff334..d190f19 100644 --- a/JournalApp.Tests/ManageCategoriesTests.razor +++ b/JournalApp.Tests/ManageCategoriesTests.razor @@ -246,7 +246,7 @@ return db.Categories.Single(c => c.Guid == new Guid(guid)); } - var cut = RenderComponent(); + var cut = Render(); for (int i = 6; i > 1; i--) { diff --git a/JournalApp.Tests/SafetyPlanTests.razor b/JournalApp.Tests/SafetyPlanTests.razor index 410edae..a18cfca 100644 --- a/JournalApp.Tests/SafetyPlanTests.razor +++ b/JournalApp.Tests/SafetyPlanTests.razor @@ -13,7 +13,7 @@ Purpose = "My purpose is to finish these tests", }; - var cut = RenderComponent(); + var cut = Render(); // Assert state. cut.Instance.Plan.Purpose.Should().Be("My purpose is to finish these tests"); @@ -22,7 +22,7 @@ [Fact] [Description("The safety plan must save changes and load them back next time")] - public void PlanPersists() + public async Task PlanPersists() { var preferenceService = Services.GetService(); @@ -31,7 +31,7 @@ Purpose = "My purpose is to finish these tests", }; - var cut = RenderComponent(); + var cut = Render(); // Assert initial state. cut.Instance.Plan.Purpose.Should().Be("My purpose is to finish these tests"); @@ -42,8 +42,8 @@ cut.Instance.Plan.ProfessionalContacts = "988 (USA)"; // Leave and come back. - DisposeComponents(); - cut = RenderComponent(); + await DisposeComponentsAsync(); + cut = Render(); // Assert that all changes persisted. preferenceService.SafetyPlan.Purpose.Should().Be("Actually it's puppies");