public void WhenUserIsNotAuthenticated_ThenBuildRequestUrlThrowsException()
        {
            // Arrange
            var service = new StubAuthenticatedApiService(_userCredentialService.Object);

            _userCredentialService.Setup(x => x.IsAuthorized)
            .Returns(false);

            // Act
            service.BuildRequestUrl("test");
        }
        private void TestBuildRequestUrlAccessToken(Func <BaseAuthenticatedApiService, Url> act)
        {
            // Arrange
            var accessToken = "secretToken";

            var service = new StubAuthenticatedApiService(_userCredentialService.Object);

            _userCredentialService.Setup(x => x.IsAuthorized)
            .Returns(true);
            _userCredentialService.SetupGet(x => x.Authorization)
            .Returns(new Authorization()
            {
                AccessToken = accessToken
            });

            // Act
            var url = act.Invoke(service);

            // Assert
            url.QueryParams.ShouldHaveCountOf(1);
            url.QueryParams["token"].ShouldEqual(accessToken);
        }
 public void WhenUserCredentialServiceIsNull_ThenConstructorThrowsArgumentNullException()
 {
     // Act
     var service = new StubAuthenticatedApiService(null);
 }