Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }