public void GetLoginUrlForDelegateAuthIdAndResourceUrl_returns_expected_value()
        {
            // Given
            const string resourceUrl = "De/Humani/Corporis/Fabrica";
            const int    authId      = 2;

            // When
            var url = learningHubLinkService.GetLoginUrlForDelegateAuthIdAndResourceUrl(resourceUrl, authId);

            // Then
            url.Should().Be(
                $"www.example.com/insert-log?clientCode=test&userId={authId}&hash=hash_brown&endClientUrl={HttpUtility.UrlEncode(resourceUrl)}"
                );
        }
        public async Task ViewResource_returns_redirect_to_login_result_when_user_linked()
        {
            // Given
            var authId          = 1;
            var resourceUrl     = "De/Humani/Corporis/Fabrica";
            var resourceDetails = new ResourceReferenceWithResourceDetails {
                Link = resourceUrl
            };

            A.CallTo(() => userService.GetDelegateUserLearningHubAuthId(A <int> ._)).Returns(authId);
            A.CallTo(() => learningHubResourceService.GetResourceByReferenceId(5))
            .Returns((resourceDetails, false));
            A.CallTo(() => learningHubLinkService.GetLoginUrlForDelegateAuthIdAndResourceUrl(resourceUrl, authId))
            .Returns("www.example.com/login");

            // When
            var result = await controller.ViewResource(5);

            // Then
            result.Should().BeRedirectResult().WithUrl(
                "www.example.com/login"
                );
        }