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)); }
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)); }
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(); }
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}"); }
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); }
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)); }
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"); }