public void OnNavigatedTo_WithoutParameters_ShouldCreateNewRecipe() { // Arrange var expectedRecipe = new Recipe(); DatabaseServiceMock.Setup(databaseService => databaseService.GetRecipeAsync(Guid.Empty)).Verifiable(); // Act EditRecipePageViewModel.OnNavigatedTo(null); // Assert DatabaseServiceMock.Verify(databaseService => databaseService.GetRecipeAsync(Guid.Empty), Times.Never, "Function IDatabaseService.GetRecipeASync for selected recipe called atleast once."); Assert.AreEqual(expectedRecipe, EditRecipePageViewModel.Recipe, "Attribute EditRecipePageViewModel.Recipe is not the expected value."); Assert.IsTrue(EditRecipePageViewModel.CreateMode, "Attribute EditRecipePageViewModel.CreateMode is false, but should be true."); }
public void OnNavigatedTo_WithCorrectParameters_ShouldSetSelectedRecipe() { // Arrange var parameters = new NavigationParameters { { "SelectedRecipe", SelectedRecipe.Id } }; DatabaseServiceMock.Setup(databaseService => databaseService.GetRecipeAsync(SelectedRecipe.Id)).Returns(Task.Run(() => SelectedRecipe)); // Act EditRecipePageViewModel.OnNavigatedTo(parameters); // Assert DatabaseServiceMock.Verify(databaseService => databaseService.GetRecipeAsync(SelectedRecipe.Id), Times.Once, "Function IDatabaseService.GetRecipeAsync for selected recipe not called exactly once."); Assert.AreEqual(SelectedRecipe, EditRecipePageViewModel.Recipe, "Attribute EditRecipePageViewModel.Recipe is not the expected value."); Assert.IsFalse(EditRecipePageViewModel.CreateMode, "Attribute EditRecipePageViewModel.CreateMode is true, but should be false."); }
public void OnNavigatedTo_WithIncorrectParameterName_ShouldCreateNewRecipe() { // Arrange var expectedRecipe = new Recipe(); var parameters = new NavigationParameters { { "SelectedRecipeId", SelectedRecipe.Id } }; DatabaseServiceMock.Setup(databaseService => databaseService.GetRecipeAsync(SelectedRecipe.Id)).Returns(Task.Run(() => SelectedRecipe)); // Act EditRecipePageViewModel.OnNavigatedTo(parameters); // Assert DatabaseServiceMock.Verify(databaseService => databaseService.GetRecipeAsync(SelectedRecipe.Id), Times.Never, "Function IDatabaseService.GetRecipeASync for selected recipe called atleast once."); Assert.AreEqual(expectedRecipe, EditRecipePageViewModel.Recipe, "Attribute EditRecipePageViewModel.Recipe is not the expected value."); Assert.IsTrue(EditRecipePageViewModel.CreateMode, "Attribute EditRecipePageViewModel.CreateMode is false, but should be true."); }
public void OnNavigatedTo_WithInvalidDataTypeParameters_ShouldCreateNewRecipe() { // Arrange var expectedRecipe = new Recipe(); var id = Fixture.Create <double>(); var parameters = new NavigationParameters { { "SelectedRecipe", id } }; DatabaseServiceMock.Setup(databaseService => databaseService.GetRecipeAsync(Guid.Empty)).Returns(() => null); // Act EditRecipePageViewModel.OnNavigatedTo(parameters); // Assert DatabaseServiceMock.Verify(databaseService => databaseService.GetRecipeAsync(Guid.Empty), Times.Never, "Function IDatabaseService.GetRecipeASync for selected recipe called atleast once."); Assert.AreEqual(expectedRecipe, EditRecipePageViewModel.Recipe, "Attribute EditRecipePageViewModel.Recipe is not the expected value."); Assert.IsTrue(EditRecipePageViewModel.CreateMode, "Attribute EditRecipePageViewModel.CreateMode is false, but should be true."); }