public async Task When_RemovedCalledAndUserStillHasSkillsInTheBasket_ThenReturnViewWithHasMoreSkills() { _sessionService.GetUserSession().ReturnsForAnyArgs(new UserSession { SkillsToRemove = new HashSet <UsSkill> { new UsSkill("1", "test") }, Skills = new HashSet <UsSkill> { new UsSkill("1", "test") } }); var controller = new RemovedController(_compositeSettings, _sessionService); controller.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; var result = await controller.Body() as ViewResult; result.Model.As <RemovedCompositeViewModel>().HasRemainingSkills.Should().BeTrue(); result.Model.As <RemovedCompositeViewModel>().Skills.Count.Should().Be(1); }
public async Task When_RemovedPostedTo_Then_SkillsRemoved() { _sessionService.GetUserSession().ReturnsForAnyArgs(new UserSession { SkillsToRemove = new HashSet <UsSkill> { new UsSkill("1", "test") }, Skills = new HashSet <UsSkill> { new UsSkill("1", "test") } }); var controller = new RemovedController(_compositeSettings, _sessionService); controller.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; var formDictionary = new Dictionary <string, StringValues> { { "1--test1", "test" } }; var formCollection = new FormCollection(formDictionary); await controller.Body(formCollection); await _sessionService.Received() .UpdateUserSessionAsync(Arg.Is <UserSession>(x => x.CurrentPage == CompositeViewModel.PageId.Removed.Value && x.SkillsToRemove.Count == 1 && x.Skills.Count == 0)); }
public async Task When_RemovedCalled_TrackTrackPageInUserSession() { var controller = new RemovedController(_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.Removed.Value)); }
public async Task When_ConfirmRemoveCalled_ReturnView() { var controller = new RemovedController(_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_RemovedPostedTo_ReturnRedirect() { var controller = new RemovedController(_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.Removed}"); }
public async Task When_RemovedPostedToAndFormIsEmpty_Then_RedirectToSkillsBasket() { var controller = new RemovedController(_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"); }