Beispiel #1
0
        public void ResourceCanBeAddedToActionPlan_returns_true_with_no_learning_log_records()
        {
            // Given
            A.CallTo(() => learningLogItemsDataService.GetLearningLogItems(GenericDelegateId))
            .Returns(new List <LearningLogItem>());

            // When
            var result = actionPlanService.ResourceCanBeAddedToActionPlan(1, GenericDelegateId);

            // Then
            result.Should().BeTrue();
        }
Beispiel #2
0
        public async Task <IActionResult> AddResourceToActionPlan(
            int selfAssessmentId,
            int resourceReferenceId,
            ReturnPageQuery returnPageQuery
            )
        {
            var delegateId = User.GetCandidateIdKnownNotNull();

            if (!actionPlanService.ResourceCanBeAddedToActionPlan(resourceReferenceId, delegateId))
            {
                return(NotFound());
            }

            try
            {
                await actionPlanService.AddResourceToActionPlan(resourceReferenceId, delegateId, selfAssessmentId);
            }
            catch (ResourceNotFoundException e)
            {
                if (!e.ApiIsAccessible)
                {
                    return(NotFound());
                }

                var assessment = selfAssessmentService.GetSelfAssessmentForCandidateById(delegateId, selfAssessmentId);
                var model      = new ResourceRemovedViewModel(assessment !);
                return(View("ResourceRemovedErrorPage", model));
            }

            var routeData = returnPageQuery.ToRouteDataDictionary();

            routeData.Add("selfAssessmentId", selfAssessmentId.ToString());
            return(RedirectToAction("RecommendedLearning", "RecommendedLearning", routeData, returnPageQuery.ItemIdToReturnTo));
        }
Beispiel #3
0
        public async Task AddResourceToActionPlan_returns_not_found_when_resource_already_in_action_plan()
        {
            // Given
            const int resourceReferenceId = 1;

            A.CallTo(() => actionPlanService.ResourceCanBeAddedToActionPlan(resourceReferenceId, DelegateId))
            .Returns(false);

            // When
            var result = await controller.AddResourceToActionPlan(SelfAssessmentId, resourceReferenceId);

            // Then
            result.Should().BeNotFoundResult();
            A.CallTo(() => actionPlanService.AddResourceToActionPlan(A <int> ._, A <int> ._, A <int> ._))
            .MustNotHaveHappened();
        }
Beispiel #4
0
        public async Task <IActionResult> AddResourceToActionPlan(int selfAssessmentId, int resourceReferenceId)
        {
            var delegateId = User.GetCandidateIdKnownNotNull();

            if (!actionPlanService.ResourceCanBeAddedToActionPlan(resourceReferenceId, delegateId))
            {
                return(NotFound());
            }

            await actionPlanService.AddResourceToActionPlan(resourceReferenceId, delegateId, selfAssessmentId);

            return(RedirectToAction("RecommendedLearning", new { selfAssessmentId }));
        }