public async Task ItShouldProvideTheChallengeSubView() { var navResponse = new NavViewModel { Current = SupportServiceResourceKey.EmployerAccountTeam, Items = new[] { new NavItem { Href = "", Key = SupportServiceResourceKey.EmployerAccountTeam, Title = "" } } }; //MockManifestRepository.Setup(x => x.ChallengeExists(_challengeKey)).Returns(Task.FromResult(true)); MockManifestRepository.Setup(x => x.GetNav(_resourceKey, _resourceId)).Returns(Task.FromResult(navResponse)); MockManifestRepository.Setup(x => x.GenerateHeader(_resourceKey, _resourceId)) .Returns(Task.FromResult(new ResourceResultModel())); MockManifestRepository.Setup(x => x.GetChallengeForm(_resourceKey, _challengeKey, _resourceId, _url)) .Returns(Task.FromResult("<div></div.")); ActionResultResponse = await Unit.Challenge(_resourceKey, _challengeKey, _resourceId, _url); Assert.IsInstanceOf <ViewResult>(ActionResultResponse); var viewResult = (ViewResult)ActionResultResponse; Assert.IsInstanceOf <NavViewModel>(viewResult.ViewBag.SubNav); Assert.IsInstanceOf <object>(viewResult.ViewBag.SubHeader); Assert.AreEqual("Sub", viewResult.ViewName); Assert.IsInstanceOf <ResourceResultModel>(viewResult.Model); }
public async Task ItShouldConvertAccountIdToUpper() { var idLower = _id.ToLower(); MockContextBase.Setup(x => x.Request.RawUrl).Returns("https:/tempuri.org"); var siteResource = new SiteResource { ResourceKey = SupportServiceResourceKey.EmployerAccountFinance, Challenge = SupportServiceResourceKey.EmployerAccountFinanceChallenge }; MockPermissionsChecker.Setup(x => x.HasPermissions(It.IsAny <HttpRequestBase>(), It.IsAny <HttpResponseBase>(), It.IsAny <IPrincipal>(), $"{_resourceKey.ToString()}/{_id}")) .Returns(false); ActionResultResponse = await Unit.Index(_resourceKey, idLower, _childId); MockManifestRepository.Setup(x => x.GetNav(It.Is <SupportServiceResourceKey>(rk => rk == _resourceKey), It.Is <string>(id => id == _id.ToUpper()))); Assert.IsInstanceOf <RedirectToRouteResult>(ActionResultResponse); var result = (RedirectToRouteResult)ActionResultResponse; Assert.AreEqual(result.RouteValues["resourceid"], _id); }
public async Task ItShouldProvideTheChallengeMissingViewIfGetChallengeFormThrowsAnyException() { var navResponse = new NavViewModel { Current = SupportServiceResourceKey.EmployerAccountFinance, Items = new[] { new NavItem { Href = "", Key = SupportServiceResourceKey.EmployerAccountTeam, Title = "" } } }; MockManifestRepository.Setup(x => x.GetNav(_resourceKey, _resourceId)).Returns(Task.FromResult(navResponse)); MockManifestRepository.Setup(x => x.GenerateHeader(_resourceKey, _resourceId)) .Returns(Task.FromResult(new ResourceResultModel())); MockManifestRepository.Setup(x => x.GetChallengeForm(_resourceKey, _challengeKey, _resourceId, _url)).Throws <Exception>(); ActionResultResponse = await Unit.Challenge(_resourceKey, _challengeKey, _resourceId, _url); Assert.IsInstanceOf <ViewResult>(ActionResultResponse); var viewResult = (ViewResult)ActionResultResponse; Assert.IsInstanceOf <NavViewModel>(viewResult.ViewBag.SubNav); Assert.IsInstanceOf <object>(viewResult.ViewBag.SubHeader); Assert.AreEqual("Missing", viewResult.ViewName); Assert.IsNull(viewResult.Model); }
public async Task ItShouldRedirectIfTheSubmittedChallengeHasARedirect() { var challengeResult = new ChallengeResult { Page = "1", RedirectUrl = "http://tempuri.org" }; MockManifestRepository .Setup(x => x.SubmitChallenge(_resourceId, It.IsAny <Dictionary <string, string> >())) .Returns(Task.FromResult(challengeResult)); ActionResultResponse = await Unit.Challenge(_resourceKey, _challengeKey, _resourceId, _formCollection); MockPermissionsGranter .Verify( x => x.GivePermissions(It.IsAny <HttpResponseBase>(), It.IsAny <IPrincipal>(), It.IsAny <string>()), Times.Once); Assert.IsInstanceOf <RedirectResult>(ActionResultResponse); }
public async Task ItShouldReturnAnUnRedirectedSubViewofTheChallengePage() { var challengeResult = new ChallengeResult { Page = "<html><div>Challenge</div></<html>", RedirectUrl = null }; var navResponse = new NavViewModel { Current = SupportServiceResourceKey.EmployerAccountTeam, Items = new[] { new NavItem { Href = "", Key = SupportServiceResourceKey.EmployerAccountTeam, Title = "" } } }; MockManifestRepository.Setup(x => x.SubmitChallenge(_resourceId, It.IsAny <Dictionary <string, string> >())) .Returns(Task.FromResult(challengeResult)); MockManifestRepository.Setup(x => x.GetNav(_resourceKey, _resourceId)).Returns(Task.FromResult(navResponse)); MockManifestRepository.Setup(x => x.GenerateHeader(_resourceKey, _resourceId)) .Returns(Task.FromResult(new ResourceResultModel())); ActionResultResponse = await Unit.Challenge(_resourceKey, _challengeKey, _resourceId, _formCollection); Assert.IsInstanceOf <ViewResult>(ActionResultResponse); var viewResult = (ViewResult)ActionResultResponse; Assert.IsInstanceOf <NavViewModel>(viewResult.ViewBag.SubNav); Assert.IsInstanceOf <object>(viewResult.ViewBag.SubHeader); Assert.AreEqual("Sub", viewResult.ViewName); Assert.IsInstanceOf <ResourceResultModel>(viewResult.Model); Assert.AreEqual(challengeResult.Page, ((ResourceResultModel)viewResult.Model).Resource); }