public void LinkLearningHubViewModel_constructor_should_set_properties_correctly(int?resourceId, bool showLink, bool showAlreadyLinkedWarning)
        {
            // When
            var model = new LinkLearningHubViewModel(showAlreadyLinkedWarning, resourceId);

            // Then
            model.ResourceLinkId.Should().Be(resourceId);
            model.ShowResourceLink.Should().Be(showLink);
            model.ShowIsAlreadyLinkedWarning.Should().Be(showAlreadyLinkedWarning);
        }
Пример #2
0
        public IActionResult LinkLearningHubSso([FromQuery] LinkLearningHubRequest linkLearningHubRequest)
        {
            if (!ModelState.IsValid)
            {
                throw new LearningHubLinkingRequestException("Invalid Learning Hub request.");
            }

            var learningHubResourcedId = learningHubLinkService.ValidateLinkingRequestAndExtractDestinationResourceId(
                linkLearningHubRequest,
                HttpContext.Session.GetString(LinkLearningHubRequest.SessionIdentifierKey)
                );

            var delegateId             = User.GetCandidateIdKnownNotNull();
            var isAccountAlreadyLinked = learningHubLinkService.IsLearningHubAccountLinked(delegateId);

            learningHubLinkService.LinkLearningHubAccountIfNotLinked(delegateId, linkLearningHubRequest.UserId);

            var model = new LinkLearningHubViewModel(isAccountAlreadyLinked, learningHubResourcedId);

            return(View("../LinkLearningHubSso", model));
        }