Пример #1
0
        public void Throw_Argument_Null_Exception_When_UserId_Is_Null()
        {
            //Arrange
            var mapperMock                = new Mock <IMappingProvider>();
            var unitOfWorkMock            = new Mock <IUnitOfWork>();
            var repoMock                  = new Mock <IGenericRepository <UserFollowee> >();
            var twitterApiCallServiceMock = new Mock <ITwitterApiCallService>();
            var dateTimeParserMock        = new Mock <IDateTimeParser>();

            var sut = new FolloweeService(unitOfWorkMock.Object, mapperMock.Object,
                                          twitterApiCallServiceMock.Object, dateTimeParserMock.Object);

            //Act & Assert
            Assert.ThrowsException <ArgumentNullException>(() => sut.GetAllFolloweesByUserId(null));
        }
Пример #2
0
        public void ReturnAllFolloweesForUser_WhenInvokedAnExistingInDbUserId()
        {
            // Arrange
            var mapperMock                = new Mock <IMappingProvider>();
            var unitOfWorkMock            = new Mock <IUnitOfWork>();
            var repoMock                  = new Mock <IGenericRepository <UserFollowee> >();
            var twitterApiCallServiceMock = new Mock <ITwitterApiCallService>();
            var dateTimeParserMock        = new Mock <IDateTimeParser>();

            var testUser1 = new User {
                UserName = "******", Id = "TestId1"
            };
            var testUser2 = new User {
                UserName = "******", Id = "TestId2"
            };

            var testFollowee1 = new Followee {
                ScreenName = "TestScreenName1", Bio = "TestBio1TestBio1TestBio1TestBio1TestBio1", FolloweeId = "TestFolloweeId1", Name = "TestFolloweeName1"
            };
            var testFollowee2 = new Followee {
                ScreenName = "TestScreenName2", Bio = "TestBio2TestBio2TestBio2TestBio2TestBio2", FolloweeId = "TestFolloweeId2", Name = "TestFolloweeName2"
            };
            var testFollowee3 = new Followee {
                ScreenName = "TestScreenName3", Bio = "TestBio3TestBio3TestBio3TestBio3TestBio3", FolloweeId = "TestFolloweeId3", Name = "TestFolloweeName3"
            };


            var testUserFollowee1 = new UserFollowee {
                FolloweeId = testFollowee1.FolloweeId, Followee = testFollowee1, UserId = testUser1.Id, User = testUser1
            };
            var testUserFollowee2 = new UserFollowee {
                FolloweeId = testFollowee2.FolloweeId, Followee = testFollowee2, UserId = testUser1.Id, User = testUser1
            };
            var testUserFollowee3 = new UserFollowee {
                FolloweeId = testFollowee3.FolloweeId, Followee = testFollowee3, UserId = testUser2.Id, User = testUser2
            };

            var userFolloweesCollectionMock = new List <UserFollowee> {
                testUserFollowee1, testUserFollowee2, testUserFollowee3
            };

            repoMock.Setup(r => r.All).Returns(userFolloweesCollectionMock.AsQueryable());
            unitOfWorkMock.Setup(u => u.UserFollowees).Returns(repoMock.Object);

            var savedFollowee1 = new FolloweeDisplayListDto
            {
                FolloweeId = testUserFollowee1.Followee.FolloweeId,
                Bio        = testUserFollowee1.Followee.Bio.Substring(0, 25) + "...",
                FolloweeOriginallyCreatedOn = testUserFollowee1.Followee.FolloweeOriginallyCreatedOn,
                ScreenName = testUserFollowee1.Followee.ScreenName,
                Name       = testUserFollowee1.Followee.Name
            };
            var savedFollowee2 = new FolloweeDisplayListDto
            {
                FolloweeId = testUserFollowee2.Followee.FolloweeId,
                ScreenName = testUserFollowee2.Followee.ScreenName,
                Bio        = testUserFollowee2.Followee.Bio.Substring(0, 25) + "...",
                FolloweeOriginallyCreatedOn = testUserFollowee2.Followee.FolloweeOriginallyCreatedOn,
                Name = testUserFollowee2.Followee.Name
            };


            var expectedResult = new List <FolloweeDisplayListDto> {
                savedFollowee1, savedFollowee2
            };

            var sut = new FolloweeService(unitOfWorkMock.Object, mapperMock.Object,
                                          twitterApiCallServiceMock.Object, dateTimeParserMock.Object);

            //Act
            var actualResult = sut.GetAllFolloweesByUserId("TestId1");

            //Assert
            Assert.AreEqual(2, actualResult.Count);
        }