Esempio n. 1
0
        public async Task When_RemoveSkillsSessionClear_Then_SkillsToRemoveIsUpdated()
        {
            _sessionService.GetUserSession().ReturnsForAnyArgs(new UserSession
            {
                SkillsToRemove = new HashSet <UsSkill>
                {
                    new UsSkill("1", "test")
                }
            });


            var controller = new ConfirmRemoveController(_compositeSettings, _sessionService);

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = new DefaultHttpContext()
            };
            var result = await controller.RemoveSkillsSessionClear() as RedirectResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <RedirectResult>();
            result.Url.Should().Be($"~/{CompositeViewModel.PageId.SkillsBasket}");

            await _sessionService.Received()
            .UpdateUserSessionAsync(Arg.Is <UserSession>(x =>
                                                         x.SkillsToRemove.Count == 0));
        }
Esempio n. 2
0
        public async Task When_ConfirmRemoveCalled_TrackTrackPageInUserSession()
        {
            var controller = new ConfirmRemoveController(_compositeSettings, _sessionService);

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = new DefaultHttpContext()
            };
            var result = await controller.Body() as ViewResult;

            await _sessionService.Received()
            .UpdateUserSessionAsync(Arg.Is <UserSession>(x =>
                                                         x.CurrentPage == CompositeViewModel.PageId.ConfirmRemove.Value));
        }
Esempio n. 3
0
        public async Task When_ConfirmRemoveCalled_ReturnView()
        {
            var controller = new ConfirmRemoveController(_compositeSettings, _sessionService);

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = new DefaultHttpContext()
            };
            var result = await controller.Body() as ViewResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <ViewResult>();
            result.ViewName.Should().BeNull();
        }
Esempio n. 4
0
        public async Task When_ConfirmRemovePostedTo_ReturnRedirect()
        {
            var controller = new ConfirmRemoveController(_compositeSettings, _sessionService);

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = new DefaultHttpContext()
            };

            var formDictionary = new Dictionary <string, StringValues>
            {
                { "test--test1", "test" }
            };

            var formCollection = new FormCollection(formDictionary);

            var result = await controller.Body(formCollection) as RedirectResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <RedirectResult>();
            result.Url.Should().Be($"~/{CompositeViewModel.PageId.ConfirmRemove}");
        }
Esempio n. 5
0
        public async Task When_ConfirmRemoveCalled_Then_InstantiateSkillsToRemove()
        {
            _sessionService.GetUserSession().ReturnsForAnyArgs(new UserSession
            {
                SkillsToRemove = new HashSet <UsSkill>
                {
                    new UsSkill("1", "test")
                }
            });

            var controller = new ConfirmRemoveController(_compositeSettings, _sessionService);

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = new DefaultHttpContext()
            };
            var result = await controller.Body() as ViewResult;

            var vm = result.ViewData.Model as ConfirmRemoveCompositeViewModel;

            vm.Skills.Count.Should().Be(1);
        }
Esempio n. 6
0
        public async Task When_ConfirmRemovePostedTo_Then_SkillsToRemoveIsUpdated()
        {
            var controller = new ConfirmRemoveController(_compositeSettings, _sessionService);

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = new DefaultHttpContext()
            };

            var formDictionary = new Dictionary <string, StringValues>
            {
                { "test--test1", "test" }
            };

            var formCollection = new FormCollection(formDictionary);

            await controller.Body(formCollection);

            await _sessionService.Received()
            .UpdateUserSessionAsync(Arg.Is <UserSession>(x =>
                                                         x.CurrentPage == CompositeViewModel.PageId.ConfirmRemove.Value));
        }
Esempio n. 7
0
        public async Task When_ConfirmRemovePostedToAndFormIsEmpty_Then_RedirectToSkillsBasket()
        {
            var controller = new ConfirmRemoveController(_compositeSettings, _sessionService);

            controller.ControllerContext = new ControllerContext
            {
                HttpContext = new DefaultHttpContext()
            };

            var formDictionary = new Dictionary <string, StringValues>
            {
            };

            var formCollection = new FormCollection(formDictionary);

            await controller.Body(formCollection);

            var result = await controller.Body(formCollection) as RedirectResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <RedirectResult>();
            result.Url.Should().Be($"~/{CompositeViewModel.PageId.RemoveSkills}?errors=true");
        }