public void VerifyGetPublishMessageQuery_WithTextAndUserId(
            bool isTextValid,
            bool isUserIdValid,
            bool expectValue)
        {
            var text        = TestHelper.GenerateString();
            var userId      = TestHelper.GenerateRandomLong();
            var twitterText = TestHelper.GenerateString();

            _fakeTwitterStringFormatter.CallsTo(x => x.TwitterEncode(It.IsAny <string>())).Returns(twitterText);
            _fakeMessageQueryValidator.CallsTo(x => x.IsMessageTextValid(text)).Returns(isTextValid);
            _fakeUserQueryValidator.CallsTo(x => x.IsUserIdValid(userId)).Returns(isUserIdValid);

            var expectedIdentifierParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userId);
            var expectedResult = String.Format(Resources.Message_NewMessage, twitterText, expectedIdentifierParameter);

            // Arrange
            var queryGenerator = CreateMessageQueryGenerator();

            // Act
            var result = queryGenerator.GetPublishMessageQuery(text, userId);

            // Assert
            Assert.AreEqual(result, expectValue ? expectedResult : null);
        }
        public void UpdateRelationshipAuthorizations_WithValidUserDTO_AuthorizationsObjectIsValid_ValidQuery()
        {
            // Arrange
            var queryGenerator = CreateFrienshipQueryGenerator();
            var userDTO        = A.Fake <IUserDTO>();

            _fakeUserQueryValidator.ArrangeCanUserBeIdentified(userDTO, true);
            _fakeUserQueryParameterGenerator.ArrangeGenerateIdOrScreenNameParameter();

            // Act
            var result1 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(userDTO, GenerateFriendshipAuthorizations(true, true));
            var result2 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(userDTO, GenerateFriendshipAuthorizations(true, false));
            var result3 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(userDTO, GenerateFriendshipAuthorizations(false, true));
            var result4 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(userDTO, GenerateFriendshipAuthorizations(false, false));

            // Assert
            string idParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userDTO);

            Assert.AreEqual(result1, GenerateUpdateQuery(true, true, idParameter));
            Assert.AreEqual(result2, GenerateUpdateQuery(true, false, idParameter));
            Assert.AreEqual(result3, GenerateUpdateQuery(false, true, idParameter));
            Assert.AreEqual(result4, GenerateUpdateQuery(false, false, idParameter));

            _fakeUserQueryValidator.CallsTo(x => x.ThrowIfUserCannotBeIdentified(userDTO)).MustHaveHappened(Repeated.Exactly.Times(4));
        }
Example #3
0
        public void GetFavouriteTweetsQuery_WithValidUserDTO_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator = CreateUserQueryGenerator();

            _fakeUserQueryValidator.CallsTo(x => x.CanUserBeIdentified(It.IsAny <IUserIdentifier>())).Returns(true);
            var userDTO = GenerateUserDTO(true);
            var maximumNumberOfFavourites = TestHelper.GenerateRandomInt();
            var userIdParameter           = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userDTO);

            var parameters = A.Fake <IGetUserFavoritesQueryParameters>();

            parameters.UserIdentifier = new UserIdentifier(userIdParameter);
            parameters.Parameters.MaximumNumberOfTweetsToRetrieve = maximumNumberOfFavourites;
            parameters.Parameters.IncludeEntities = true;

            // Act
            var result = queryGenerator.GetFavoriteTweetsQuery(parameters);

            // Assert
            var expectedResult = string.Format("{0}user_id={1}", Resources.User_GetFavourites, userIdParameter);

            Assert.IsTrue(result.StartsWith(Resources.User_GetFavourites));
            Assert.IsTrue(result.Contains("count=" + maximumNumberOfFavourites));
            Assert.IsTrue(result.Contains("include_entities=true"));
        }
        public void GetCreateFriendshipWithQuery_WithValidUserDTO_ReturnsIdQuery()
        {
            // Arrange
            var queryGenerator = CreateFrienshipQueryGenerator();
            var fakeUserDTO    = CreateUserDTO(true);

            // Act
            var query = queryGenerator.GetCreateFriendshipWithQuery(fakeUserDTO);

            // Assert
            string expectedUserIdParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(fakeUserDTO);

            Assert.AreEqual(query, String.Format(Resources.Friendship_Create, expectedUserIdParameter));
        }
        public void GetDestroyFriendshipWithQueryWithUserId_ReturnsIdQuery()
        {
            long userId = TestHelper.GenerateRandomLong();

            // Arrange
            var queryGenerator = CreateFrienshipQueryGenerator();

            // Act
            var query = queryGenerator.GetDestroyFriendshipWithQuery(userId);

            // Assert
            string expectedUserIdParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userId);

            Assert.AreEqual(query, String.Format(Resources.Friendship_Destroy, expectedUserIdParameter));
        }
Example #6
0
        public void GetReportUserForSpamQuery_WithValidUserDTO_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator  = CreateUserQueryGenerator();
            var userDTO         = GenerateUserDTO(true);
            var userIdParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userDTO);

            // Act
            var result = queryGenerator.GetReportUserForSpamQuery(userDTO);

            // Assert
            var expectedResult = string.Format(Resources.User_Report_Spam, userIdParameter);

            Assert.AreEqual(result, expectedResult);
        }
        public void GetDestroyFriendshipWithQuery_WithValidUserDTO_ReturnsIdQuery()
        {
            // Arrange
            var queryGenerator = CreateFrienshipQueryGenerator();
            var userDTO        = CreateUserDTO(true);

            // Act
            var query = queryGenerator.GetDestroyFriendshipWithQuery(userDTO);

            // Assert
            string expectedUserIdParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userDTO);

            Assert.AreEqual(query, string.Format(Resources.Friendship_Destroy, expectedUserIdParameter));

            _fakeUserQueryValidator.CallsTo(x => x.ThrowIfUserCannotBeIdentified(userDTO)).MustHaveHappened();
        }
Example #8
0
        public void GetFriendIdsQuery_WithValidUserDTO_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator         = CreateUserQueryGenerator();
            var userDTO                = GenerateUserDTO(true);
            var maximumNumberOfFriends = TestHelper.GenerateRandomInt();
            var userIdParameter        = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userDTO);

            // Act
            var result = queryGenerator.GetFriendIdsQuery(userDTO, maximumNumberOfFriends);

            // Assert
            var expectedResult = string.Format(Resources.User_GetFriends, userIdParameter, maximumNumberOfFriends);

            Assert.AreEqual(result, expectedResult);
        }
        public void GetCreateFriendshipWithQueryWithUserScreeName_IsValid_ReturnsScreenNameQuery()
        {
            string screenName = Guid.NewGuid().ToString();

            // Arrange
            var queryGenerator = CreateFrienshipQueryGenerator();

            _fakeUserQueryValidator.CallsTo(x => x.IsScreenNameValid(screenName)).Returns(true);

            // Act
            var query = queryGenerator.GetCreateFriendshipWithQuery(screenName);

            // Assert
            string expectedUserScreenNameParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(screenName);

            Assert.AreEqual(query, String.Format(Resources.Friendship_Create, expectedUserScreenNameParameter));
        }
Example #10
0
        public void GetReportUserForSpamQuery_WithValidUserDTO_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator  = CreateUserQueryGenerator();
            var userDTO         = GenerateUserDTO(true);
            var userIdParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userDTO);

            // Act
            var result = queryGenerator.GetReportUserForSpamQuery(userDTO);

            // Assert
            var expectedResult = string.Format(Resources.User_Report_Spam, userIdParameter);

            Assert.AreEqual(result, expectedResult);

            _fakeUserQueryValidator.CallsTo(x => x.ThrowIfUserCannotBeIdentified(userDTO)).MustHaveHappened();
        }
Example #11
0
        public void GetReportUserForSpamQuery_WithValidUserId_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator  = CreateUserQueryGenerator();
            var userId          = TestHelper.GenerateRandomLong();
            var userIdParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userId);

            _fakeUserQueryValidator.CallsTo(x => x.IsUserIdValid(userId)).Returns(true);
            _fakeUserQueryParameterGenerator.ArrangeGenerateIdParameter();

            // Act
            var result = queryGenerator.GetReportUserForSpamQuery(userId);

            // Assert
            var expectedResult = string.Format(Resources.User_Report_Spam, userIdParameter);

            Assert.AreEqual(result, expectedResult);
        }
Example #12
0
        public void GetBlockUserQuery_WithValidUserScreenName_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator  = CreateUserQueryGenerator();
            var userScreenName  = TestHelper.GenerateString();
            var userIdParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userScreenName);

            _fakeUserQueryValidator.CallsTo(x => x.IsScreenNameValid(userScreenName)).Returns(true);
            _fakeUserQueryParameterGenerator.ArrangeGenerateScreenNameParameter();

            // Act
            var result = queryGenerator.GetBlockUserQuery(userScreenName);

            // Assert
            var expectedResult = string.Format(Resources.User_Block_Create, userIdParameter);

            Assert.AreEqual(result, expectedResult);
        }
Example #13
0
        public void GetFollowerIdsQuery_WithValidUserDTO_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator           = CreateUserQueryGenerator();
            var userDTO                  = GenerateUserDTO(true);
            var maximumNumberOfFollowers = TestHelper.GenerateRandomInt();
            var userIdParameter          = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userDTO);

            // Act
            var result = queryGenerator.GetFollowerIdsQuery(userDTO, maximumNumberOfFollowers);

            // Assert
            var expectedResult = string.Format(Resources.User_GetFollowers, userIdParameter, maximumNumberOfFollowers);

            Assert.AreEqual(result, expectedResult);

            _fakeUserQueryValidator.CallsTo(x => x.ThrowIfUserCannotBeIdentified(userDTO)).MustHaveHappened();
        }
Example #14
0
        public void GetFriendIdsQuery_WithValidUserScreenName_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator         = CreateUserQueryGenerator();
            var userScreenName         = TestHelper.GenerateString();
            var maximumNumberOfFriends = TestHelper.GenerateRandomInt();
            var userIdParameter        = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userScreenName);

            _fakeUserQueryValidator.CallsTo(x => x.IsScreenNameValid(userScreenName)).Returns(true);
            _fakeUserQueryParameterGenerator.ArrangeGenerateScreenNameParameter();

            // Act
            var result = queryGenerator.GetFriendIdsQuery(userScreenName, maximumNumberOfFriends);

            // Assert
            var expectedResult = string.Format(Resources.User_GetFriends, userIdParameter, maximumNumberOfFriends);

            Assert.AreEqual(result, expectedResult);
        }
Example #15
0
        public void GetFavouriteTweetsQuery_WithValidUserId_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator            = CreateUserQueryGenerator();
            var userId                    = TestHelper.GenerateRandomLong();
            var maximumNumberOfFavourites = TestHelper.GenerateRandomInt();
            var userIdParameter           = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userId);

            _fakeUserQueryValidator.CallsTo(x => x.IsUserIdValid(userId)).Returns(true);
            _fakeUserQueryParameterGenerator.ArrangeGenerateIdParameter();

            // Act
            var result = queryGenerator.GetFavouriteTweetsQuery(userId, maximumNumberOfFavourites);

            // Assert
            var expectedResult = String.Format(Resources.User_GetFavourites, userIdParameter, maximumNumberOfFavourites);

            Assert.AreEqual(result, expectedResult);
        }
        public void UpdateRelationshipAuthorizations_WithUserId_AuthorizationsValid_ValidQuery()
        {
            var userId = TestHelper.GenerateRandomLong();

            // Arrange
            var queryGenerator = CreateFrienshipQueryGenerator();

            // Act
            var result1 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(userId, GenerateFriendshipAuthorizations(true, true));
            var result2 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(userId, GenerateFriendshipAuthorizations(true, false));
            var result3 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(userId, GenerateFriendshipAuthorizations(false, true));
            var result4 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(userId, GenerateFriendshipAuthorizations(false, false));

            // Assert
            string idParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(userId);

            Assert.AreEqual(result1, GenerateUpdateQuery(true, true, idParameter));
            Assert.AreEqual(result2, GenerateUpdateQuery(true, false, idParameter));
            Assert.AreEqual(result3, GenerateUpdateQuery(false, true, idParameter));
            Assert.AreEqual(result4, GenerateUpdateQuery(false, false, idParameter));
        }
        public void UpdateRelationshipAuthorizations_WithValidUserScreenName_AuthorizationsObjectIsValid_ValidQuery()
        {
            var screenName = Guid.NewGuid().ToString();

            // Arrange
            var queryGenerator = CreateFrienshipQueryGenerator();

            _fakeUserQueryValidator.ArrangeIsScreenNameValid(screenName, true);

            // Act
            var result1 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(screenName, GenerateFriendshipAuthorizations(true, true));
            var result2 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(screenName, GenerateFriendshipAuthorizations(true, false));
            var result3 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(screenName, GenerateFriendshipAuthorizations(false, true));
            var result4 = queryGenerator.GetUpdateRelationshipAuthorizationsWithQuery(screenName, GenerateFriendshipAuthorizations(false, false));

            // Assert
            string idParameter = UserQueryGeneratorHelper.GenerateParameterExpectedResult(screenName);

            Assert.AreEqual(result1, GenerateUpdateQuery(true, true, idParameter));
            Assert.AreEqual(result2, GenerateUpdateQuery(true, false, idParameter));
            Assert.AreEqual(result3, GenerateUpdateQuery(false, true, idParameter));
            Assert.AreEqual(result4, GenerateUpdateQuery(false, false, idParameter));
        }