diff --git a/JournalApp.Tests/CalendarTests.cs b/JournalApp.Tests/CalendarTests.cs index 1378ae5..c7a3fcf 100644 --- a/JournalApp.Tests/CalendarTests.cs +++ b/JournalApp.Tests/CalendarTests.cs @@ -76,6 +76,9 @@ public async Task CalendarViewMoodBlockCount() cut.FindAll(".calendar-view .mood-block-container > .mood-block-filled").Count.Should().Be(0); } + [Fact(Skip = "Stub")] + public async Task CannotSeeIntoFuture() { } + [Fact] public void CalendarViewRespectsFirstDay() { @@ -101,24 +104,28 @@ public void CalendarViewRespectsFirstDay() weekHeaders[6].TextContent.Should().Be("Tu"); } - [Fact(Skip = "MoodPalettePreference uses Preferences internally which is not set up")] + [Fact(Skip = "Can't find dialog")] public void ChangePalette() { var cut = RenderComponent(p => p.Add(x => x.OpenToDateString, "20230101") ); - cut.Find(".pick-palette").Click(); - - cut.Find(".color-picker"); + var preferenceService = Services.GetService(); + var initialColor = preferenceService.PrimaryColor; - var overlay = cut.Find(".color-picker .mud-dialog-content .mud-picker-color-overlay-black .mud-picker-color-overlay"); + cut.Find(".pick-palette").Click(); + // Click a color. + var overlay = cut.WaitForElement(".color-picker .mud-dialog-content .mud-picker-color-overlay-black .mud-picker-color-overlay"); overlay.Click(new MouseEventArgs { OffsetX = 235, OffsetY = 18 }); + // Close dialog. cut.Find(".mud-dialog-container .mud-overlay-dialog").Click(); + cut.FindAll(".mud-overlay-dialog").Count.Should().Be(0); - //cut.Instance.PrimaryColor.Should().Be("#3ad9ec"); + // Color should have changed. + preferenceService.PrimaryColor.Should().NotBe(initialColor); } [Fact] diff --git a/JournalApp.Tests/EditCategoryTests.cs b/JournalApp.Tests/EditCategoryTests.cs new file mode 100644 index 0000000..7d28413 --- /dev/null +++ b/JournalApp.Tests/EditCategoryTests.cs @@ -0,0 +1,53 @@ +namespace JournalApp.Tests; + +public class EditCategoryTests : JaTestContext +{ + public override async Task InitializeAsync() + { + await base.InitializeAsync(); + + AddDbContext(); + } + + [Fact(Skip = "Stub")] + public async Task EditExistingCategory() + { + var category = new DataPointCategory + { + Guid = Guid.NewGuid(), + Type = PointType.Note, + Name = "My note", + + }; + + var dialogService = Services.GetService(); + var cut = RenderComponent(); + + //var parameters = new DialogParameters { { x => x.Group, category.Group }, { x => x.Category, category } }; + //var result = await DialogService.Show(parameters).Result; + + IDialogReference dialogReference = null; + await cut.InvokeAsync(() => dialogReference = dialogService?.Show()); + } + + [Fact(Skip = "Stub")] + public async Task EditNewCategory() { } + + [Fact(Skip = "Stub")] + public async Task EditExistingMedication() { } + + [Fact(Skip = "Stub")] + public async Task EditNewMedication() { } + + [Fact(Skip = "Stub")] + public async Task DeleteCategory() { } + + [Fact(Skip = "Stub")] + public async Task BackButtonSaves() { } + + [Fact(Skip = "Stub")] + public async Task SaveButtonSaves() { } + + [Fact(Skip = "Stub")] + public async Task CancelButtonCancels() { } +} diff --git a/JournalApp.Tests/ImportExportTests.cs b/JournalApp.Tests/ImportExportTests.cs new file mode 100644 index 0000000..6ecb28d --- /dev/null +++ b/JournalApp.Tests/ImportExportTests.cs @@ -0,0 +1,17 @@ +namespace JournalApp.Tests; + +public class ImportExportTests : JaTestContext +{ + public override async Task InitializeAsync() + { + await base.InitializeAsync(); + + AddDbContext(); + } + + [Fact(Skip = "Stub")] + public async Task EverythingInBackupIsImported() { } + + [Fact(Skip = "Stub")] + public async Task ExportFormatHasNotChanged() { } +} diff --git a/JournalApp.Tests/IndexTests.cs b/JournalApp.Tests/IndexTests.cs new file mode 100644 index 0000000..681d990 --- /dev/null +++ b/JournalApp.Tests/IndexTests.cs @@ -0,0 +1,26 @@ +namespace JournalApp.Tests; + +public class IndexTests : JaTestContext +{ + public override async Task InitializeAsync() + { + await base.InitializeAsync(); + + AddDbContext(); + } + + [Fact(Skip = "Stub")] + public async Task CanSwitchDays() { } + + [Fact(Skip = "Stub")] + public async Task SwitchDaysPersistsData() { } + + [Fact(Skip = "Stub")] + public async Task CannotGoIntoFuture() { } + + [Fact(Skip = "Stub")] + public async Task OpenCalendar() { } + + [Fact(Skip = "Stub")] + public async Task HideTodaysNotes() { } +} diff --git a/JournalApp.Tests/ManageCategoriesTests.cs b/JournalApp.Tests/ManageCategoriesTests.cs new file mode 100644 index 0000000..b7b93a5 --- /dev/null +++ b/JournalApp.Tests/ManageCategoriesTests.cs @@ -0,0 +1,26 @@ +namespace JournalApp.Tests; + +public class ManageCategoriesTests : JaTestContext +{ + public override async Task InitializeAsync() + { + await base.InitializeAsync(); + + AddDbContext(); + } + + [Fact(Skip = "Stub")] + public async Task ClickCategoryOpensEditorAndUpdatesList() { } + + [Fact(Skip = "Stub")] + public async Task ClickPlusOpensEditorAndAddsNewCategoryToList() { } + + [Fact(Skip = "Stub")] + public async Task ClickCategoryOpensEditor() { } + + [Fact(Skip = "Stub")] + public async Task CannotEditReadOnlyCategories() { } + + [Fact(Skip = "Stub")] + public async Task Reorder() { } +} diff --git a/JournalApp.Tests/SafetyPlanTests.cs b/JournalApp.Tests/SafetyPlanTests.cs index 664cc40..90dec29 100644 --- a/JournalApp.Tests/SafetyPlanTests.cs +++ b/JournalApp.Tests/SafetyPlanTests.cs @@ -3,7 +3,26 @@ public class SafetyPlanTests : JaTestContext { [Fact] - public void Persists() + [Description("The plan must actually load from preferences")] + public void PlanIsLoaded() + { + var preferenceService = Services.GetService(); + + preferenceService.SafetyPlan = new() + { + Purpose = "My purpose is to finish these tests", + }; + + var cut = RenderComponent(); + + // Assert state. + cut.Instance.Plan.Purpose.Should().Be("My purpose is to finish these tests"); + cut.Find(".safety-plan-item-purpose textarea").TextContent.Should().Be("My purpose is to finish these tests"); + } + + [Fact] + [Description("The safety plan must save changes and load them back next time")] + public void PlanPersists() { var preferenceService = Services.GetService();