예제 #1
0
        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);
        }
예제 #2
0
        public void Index_WhenCalled_AssertToDashboardSettingsViewModelWasCalledOnCookieHelper()
        {
            OSDevGrp.MyDashboard.Web.Controllers.HomeController sut = CreateSut();

            sut.Index();

            _cookieHelperMock.Verify(m => m.ToDashboardSettingsViewModel(), Times.Once);
        }
예제 #3
0
        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);
        }