public void Index_WhenCookieWithDashboardSettingsWasNotFound_ReturnsViewResultWithDashboardSettingsViewModel() { OSDevGrp.MyDashboard.Web.Controllers.HomeController sut = CreateSut(); IActionResult result = sut.Index(); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ViewResult)); ViewResult viewResult = (ViewResult)result; Assert.IsNotNull(viewResult); Assert.IsNotNull(viewResult.ViewName); Assert.AreEqual("Index", viewResult.ViewName); Assert.IsNotNull(viewResult.Model); Assert.IsInstanceOfType(viewResult.Model, typeof(DashboardSettingsViewModel)); DashboardSettingsViewModel dashboardSettingsViewModel = (DashboardSettingsViewModel)viewResult.Model; Assert.IsNotNull(dashboardSettingsViewModel); Assert.AreEqual(100, dashboardSettingsViewModel.NumberOfNews); Assert.IsFalse(dashboardSettingsViewModel.UseReddit); Assert.IsFalse(dashboardSettingsViewModel.AllowNsfwContent); Assert.IsNotNull(dashboardSettingsViewModel.IncludeNsfwContent); Assert.IsFalse(dashboardSettingsViewModel.IncludeNsfwContent.Value); Assert.IsFalse(dashboardSettingsViewModel.NotNullableIncludeNsfwContent); Assert.IsNotNull(dashboardSettingsViewModel.OnlyNsfwContent); Assert.IsFalse(dashboardSettingsViewModel.OnlyNsfwContent.Value); Assert.IsFalse(dashboardSettingsViewModel.NotNullableOnlyNsfwContent); Assert.IsNull(dashboardSettingsViewModel.RedditAccessToken); Assert.IsFalse(dashboardSettingsViewModel.ExportData); }
public void Index_WhenCalled_AssertToDashboardSettingsViewModelWasCalledOnCookieHelper() { OSDevGrp.MyDashboard.Web.Controllers.HomeController sut = CreateSut(); sut.Index(); _cookieHelperMock.Verify(m => m.ToDashboardSettingsViewModel(), Times.Once); }
public void Index_WhenCookieWithDashboardSettingsWasFound_ReturnsViewResultWithDashboardSettingsViewModel() { int numberOfNews = _random.Next(25, 50); bool useReddit = _random.Next(100) > 50; bool allowNsfwContent = _random.Next(100) > 50; bool includeNsfwContent = _random.Next(100) > 50; bool onlyNsfwContent = _random.Next(100) > 50; string redditAccessToken = BuildRedditAccessTokenAsBase64(_random); bool exportData = _random.Next(100) > 50; DashboardSettingsViewModel dashboardSettingsViewModelInCookie = BuildDashboardSettingsViewModel(_random, numberOfNews, useReddit, allowNsfwContent, includeNsfwContent, onlyNsfwContent, redditAccessToken, exportData); OSDevGrp.MyDashboard.Web.Controllers.HomeController sut = CreateSut(true, dashboardSettingsViewModelInCookie); IActionResult result = sut.Index(); Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ViewResult)); ViewResult viewResult = (ViewResult)result; Assert.IsNotNull(viewResult); Assert.IsNotNull(viewResult.ViewName); Assert.AreEqual("Index", viewResult.ViewName); Assert.IsNotNull(viewResult.Model); Assert.IsInstanceOfType(viewResult.Model, typeof(DashboardSettingsViewModel)); DashboardSettingsViewModel dashboardSettingsViewModel = (DashboardSettingsViewModel)viewResult.Model; Assert.IsNotNull(dashboardSettingsViewModel); Assert.AreEqual(numberOfNews, dashboardSettingsViewModel.NumberOfNews); Assert.AreEqual(useReddit, dashboardSettingsViewModel.UseReddit); Assert.AreEqual(allowNsfwContent, dashboardSettingsViewModel.AllowNsfwContent); Assert.IsNotNull(dashboardSettingsViewModel.IncludeNsfwContent); Assert.AreEqual(includeNsfwContent, dashboardSettingsViewModel.IncludeNsfwContent.Value); Assert.AreEqual(includeNsfwContent, dashboardSettingsViewModel.NotNullableIncludeNsfwContent); Assert.IsNotNull(dashboardSettingsViewModel.OnlyNsfwContent); Assert.AreEqual(onlyNsfwContent, dashboardSettingsViewModel.OnlyNsfwContent.Value); Assert.AreEqual(onlyNsfwContent, dashboardSettingsViewModel.NotNullableOnlyNsfwContent); Assert.IsNotNull(dashboardSettingsViewModel.RedditAccessToken); Assert.AreEqual(redditAccessToken, dashboardSettingsViewModel.RedditAccessToken); Assert.AreEqual(exportData, dashboardSettingsViewModel.ExportData); }