public async Task <IActionResult> RecommendedLearning(int selfAssessmentId) { if (!configuration.IsSignpostingUsed()) { return(RedirectToAction("FilteredDashboard", new { selfAssessmentId })); } var candidateId = User.GetCandidateIdKnownNotNull(); string destUrl = "/LearningPortal/SelfAssessment/" + selfAssessmentId + "/RecommendedLearning"; selfAssessmentService.SetBookmark(selfAssessmentId, candidateId, destUrl); selfAssessmentService.UpdateLastAccessed(selfAssessmentId, candidateId); return(await ReturnSignpostingRecommendedLearningView(selfAssessmentId, candidateId)); }
public async Task RecommendedLearning_returns_expected_view_when_using_signposting() { // Given var expectedBookmarkString = $"/LearningPortal/SelfAssessment/{SelfAssessmentId}/RecommendedLearning"; A.CallTo(() => configuration[ConfigHelper.UseSignposting]).Returns("true"); // When var result = await controller.RecommendedLearning(SelfAssessmentId); // Then using (new AssertionScope()) { A.CallTo(() => selfAssessmentService.SetBookmark(SelfAssessmentId, DelegateId, expectedBookmarkString)) .MustHaveHappenedOnceExactly(); A.CallTo(() => selfAssessmentService.UpdateLastAccessed(SelfAssessmentId, DelegateId)) .MustHaveHappenedOnceExactly(); A.CallTo(() => filteredApiHelperService.GetUserAccessToken <AccessToken>(A <string> ._)) .MustNotHaveHappened(); A.CallTo( () => recommendedLearningService.GetRecommendedLearningForSelfAssessment( SelfAssessmentId, DelegateId ) ).MustHaveHappenedOnceExactly(); result.Should().BeViewResult().WithViewName("RecommendedLearning"); } }