public async Task When_RemoveMoveSkillsCalled_Then_InstantiateSkillsToRemove()
        {
            var controller = new RemoveSkillsController(_compositeSettings, _sessionService);

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

            var vm = result.ViewData.Model as RemoveSkillsCompositeViewModel;

            vm.Skills.Count.Should().Be(0);
        }
        public async Task When_RemoveMoveSkillsCalled_TrackTrackPageInUserSession()
        {
            var controller = new RemoveSkillsController(_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.RemoveSkills.Value));
        }
        public async Task When_RemoveMoveSkillsCalled_ReturnView()
        {
            var controller = new RemoveSkillsController(_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();
        }