From fa0382cf3c48ebded00f87e0470036bf1469e2a6 Mon Sep 17 00:00:00 2001 From: Sander van Vliet Date: Wed, 31 May 2023 09:54:32 +0200 Subject: [PATCH] Fix tests --- .../MainWindow/WhenCallingLoadRouteCommand.cs | 11 ++++++----- .../MainWindow/WhenCallingStartRouteCommand.cs | 11 +++++++---- .../ViewModels/StubWindowService.cs | 5 ++++- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/MainWindow/WhenCallingLoadRouteCommand.cs b/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/MainWindow/WhenCallingLoadRouteCommand.cs index 97e1f622..4421794a 100644 --- a/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/MainWindow/WhenCallingLoadRouteCommand.cs +++ b/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/MainWindow/WhenCallingLoadRouteCommand.cs @@ -2,6 +2,7 @@ // Licensed under Artistic License 2.0 // See LICENSE or https://choosealicense.com/licenses/artistic-2.0/ +using System; using FluentAssertions; using RoadCaptain.Adapters; using RoadCaptain.App.Runner.ViewModels; @@ -39,7 +40,7 @@ public void OpenFileDialogIsOpened() LoadRoute(); _windowService - .OpenFileDialogInvocations + .ShowSelectRouteDialogInvocations .Should() .Be(1); } @@ -60,17 +61,17 @@ public void GivenOpenFileDialogIsCanceled_RoutePathRetainsOriginalValue() } [Fact] - public void GivenUserSelectedFile_RoutePathIsSet() + public void GivenUserSelectedRoute_RoutePathIsSet() { _viewModel.RoutePath = null; - _windowService.OpenFileDialogResult = "someroute.json"; + _windowService.ShowSelectRouteDialogResult = new RouteModel { Uri = new Uri("file:///c:/temp/someroute.json")}; LoadRoute(); _viewModel .RoutePath .Should() - .Be("someroute.json"); + .Be("file:///c:/temp/someroute.json"); } [Fact] @@ -88,7 +89,7 @@ public void GivenUserSelectedFile_RouteIsLoaded() public void GivenUserSelectedFile_WindowTitleIsUpdatedWithRouteFileName() { _viewModel.RoutePath = null; - _windowService.OpenFileDialogResult = "someroute.json"; + _windowService.ShowSelectRouteDialogResult = new RouteModel { Uri = new Uri("file:///c:/temp/someroute.json")}; LoadRoute(); diff --git a/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/MainWindow/WhenCallingStartRouteCommand.cs b/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/MainWindow/WhenCallingStartRouteCommand.cs index 3eddd748..38354ace 100644 --- a/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/MainWindow/WhenCallingStartRouteCommand.cs +++ b/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/MainWindow/WhenCallingStartRouteCommand.cs @@ -19,7 +19,8 @@ public class WhenCallingStartRouteCommand private readonly InMemoryGameStateDispatcher _gameStateDispatcher; private readonly DummyUserPreferences _userPreferences; private readonly Configuration _configuration; - private StubWindowService _windowService; + private readonly StubWindowService _windowService; + private readonly PlannedRoute _plannedRoute; public WhenCallingStartRouteCommand() { @@ -32,6 +33,8 @@ public WhenCallingStartRouteCommand() _configuration = new Configuration(null); StubRouteStore routeStore = new(); + _plannedRoute = routeStore.LoadFrom("someroute.json"); + _viewModel = new MainWindowViewModel( _configuration, _userPreferences, @@ -49,7 +52,7 @@ public WhenCallingStartRouteCommand() [Fact] public void RoutePathIsStoredInUserPreferences() { - _windowService.OpenFileDialogResult = "someroute.json"; + _windowService.ShowSelectRouteDialogResult = new RouteModel { Uri = new Uri("file:///c:/temp/someroute.json"), PlannedRoute = _plannedRoute }; _viewModel.LoadRouteCommand.Execute(null); StartRoute(); @@ -64,7 +67,7 @@ public void RoutePathIsStoredInUserPreferences() [Fact] public void RoutePathIsStoredInConfiguration() { - _windowService.OpenFileDialogResult = "someroute.json"; + _windowService.ShowSelectRouteDialogResult = new RouteModel { Uri = new Uri("file:///c:/temp/someroute.json"), PlannedRoute = _plannedRoute }; _viewModel.LoadRouteCommand.Execute(null); StartRoute(); @@ -78,7 +81,7 @@ public void RoutePathIsStoredInConfiguration() [Fact] public void StartRouteIsDispatched() { - _windowService.OpenFileDialogResult = "someroute.json"; + _windowService.ShowSelectRouteDialogResult = new RouteModel { Uri = new Uri("file:///c:/temp/someroute.json"), PlannedRoute = _plannedRoute }; _viewModel.LoadRouteCommand.Execute(null); StartRoute(); diff --git a/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/StubWindowService.cs b/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/StubWindowService.cs index 9aa200dd..27a8d48c 100644 --- a/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/StubWindowService.cs +++ b/test/RoadCaptain.App.Runner.Tests.Unit/ViewModels/StubWindowService.cs @@ -21,10 +21,12 @@ public class StubWindowService : IWindowService public int LogInDialogInvocations { get; private set; } public int MainWindowInvocations { get; private set; } public int ErrorDialogInvocations { get; private set; } + public int ShowSelectRouteDialogInvocations { get; private set; } public Dictionary Overrides { get; } = new(); public List ClosedWindows { get; } = new(); public List ShownWindows { get; } = new(); + public RouteModel? ShowSelectRouteDialogResult { get; set; } public Task ShowErrorDialog(string message, Window owner) { @@ -76,7 +78,8 @@ public void ToggleElevationPlot(PlannedRoute? plannedRoute, bool? show) public Task ShowSelectRouteDialog() { - throw new NotImplementedException(); + ShowSelectRouteDialogInvocations++; + return Task.FromResult(ShowSelectRouteDialogResult); } public Task ShowOpenFileDialog(string? previousLocation)