public void Returns_True_If_Followee_Exists_In_Db()
        {
            //Arrange
            var mapperMock                = new Mock <IMappingProvider>();
            var unitOfWorkMock            = new Mock <IUnitOfWork>();
            var repoMock                  = new Mock <IGenericRepository <Followee> >();
            var twitterApiCallServiceMock = new Mock <ITwitterApiCallService>();
            var dateTimeParserMock        = new Mock <IDateTimeParser>();

            var followee = new Followee {
                ScreenName = "TestScreenName1", Bio = "TestBio1TestBio1TestBio1TestBio1TestBio1", FolloweeId = "TestFolloweeId1", Name = "TestFolloweeName1"
            };
            var followeeCollection = new List <Followee> {
                followee
            };

            repoMock.Setup(r => r.AllAndDeleted).Returns(followeeCollection.AsQueryable());
            unitOfWorkMock.Setup(u => u.Followees).Returns(repoMock.Object);


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

            //Act
            var exists = sut.FolloweeExistsInDatabase(followee.FolloweeId);

            //Assert
            Assert.IsTrue(exists);
        }
        public void Throw_Argument_Exception_When_FolloweeId_Is_Empty()
        {
            //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 <ArgumentException>(() => sut.FolloweeExistsInDatabase(""));
        }