public async Task When_AddSkillsWithNoSkillsPassed_Then_Error()

        {
            var controller = new SelectSkillsController(_serviceTaxonomyRepository, _settings, _compositeSettings, _sessionService);

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

            var dic = new System.Collections.Generic.Dictionary <string, Microsoft.Extensions.Primitives.StringValues>();

            var collection = new Microsoft.AspNetCore.Http.FormCollection(dic);


            _sessionService.GetUserSession().ReturnsForAnyArgs(MockHelpers.GetUserSession(true));
            _sessionService.UpdateUserSessionAsync(Arg.Any <UserSession>()).ReturnsNullForAnyArgs();

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

            result.Should().NotBeNull();
            result.Should().BeOfType <RedirectResult>();
            result.Url.Should().Be($"~/{CompositeViewModel.PageId.SelectSkills}?errors=true");
        }
        public void WhenHeadCalled_ReturnHtml()
        {
            var controller = new SelectSkillsController(_serviceTaxonomyRepository, _settings, _compositeSettings, _sessionService);

            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            var result = controller.Head() as ViewResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <ViewResult>();
            result.ViewName.Should().BeNull();
        }
        public async Task When_Body_Then_LoadBodyAndGetSessionData()
        {
            var controller = new SelectSkillsController(_serviceTaxonomyRepository, _settings, _compositeSettings, _sessionService)
            {
                ControllerContext = new ControllerContext
                {
                    HttpContext = new DefaultHttpContext()
                }
            };

            _sessionService.GetUserSession().ReturnsForAnyArgs(MockHelpers.GetUserSession(true));

            await controller.Body();

            await _sessionService.Received().UpdateUserSessionAsync(Arg.Is <UserSession>(x =>
                                                                                         x.CurrentPage == CompositeViewModel.PageId.SelectSkills.Value));
        }
        public async Task When_Toggle_Then_ViewModelAllSkillsSelectedToggled()
        {
            var controller = new SelectSkillsController(_serviceTaxonomyRepository, _settings, _compositeSettings, _sessionService)
            {
                ControllerContext = new ControllerContext
                {
                    HttpContext = new DefaultHttpContext()
                }
            };

            _sessionService.GetUserSession().ReturnsForAnyArgs(MockHelpers.GetUserSession(true));


            var result = await controller.SkillSelectToggle(false) as ViewResult;

            var vm = result.ViewData.Model as SelectSkillsCompositeViewModel;

            vm.AllSkillsSelected.Should().BeTrue();
        }