Example #1
0
        public void AddReviewShould_ReturnCorrectResult(string placeId, string userId,
                                                        string postedOn, string message, int rating)
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();

            var placeIdGuid      = new Guid(placeId);
            var postedOnDateTime = Convert.ToDateTime(postedOn);
            var review           = new Review()
            {
                PlaceId  = placeIdGuid,
                UserId   = userId,
                PostedOn = postedOnDateTime,
                Message  = message,
                Rating   = rating
            };

            factoryMock.Setup(f => f.CreateReview(placeIdGuid, userId, postedOnDateTime, message, rating))
            .Returns(review);
            var service = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);

            var result = service.AddReview(placeIdGuid, userId, postedOnDateTime, message, rating);

            Assert.AreSame(review, result);
        }
Example #2
0
        public void ConstructorShould_SetPassedDataCorrectlly_WhenDataIsNotNull()
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();

            var service = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);

            Assert.IsNotNull(service);
        }
Example #3
0
        public void GetAllShould_CallRepositoryPropertyAll(string placeId, string userId)
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();
            var placeIdGuid    = new Guid(placeId);
            var service        = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);

            service.GetByUserAndPlace(placeIdGuid, userId);

            repositoryMock.Verify(r => r.All, Times.Once);
        }
Example #4
0
        public void GetAllShould_CallRepositoryPropertyAll()
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();

            var service = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);

            service.GetAll();

            repositoryMock.Verify(r => r.All, Times.Once);
        }
Example #5
0
        public void DeleteReviewShould_CallRepositoryMethodGetById(string id)
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();

            var idGuid  = new Guid(id);
            var service = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);

            service.DeleteReview(idGuid);

            repositoryMock.Verify(r => r.GetById(idGuid), Times.Once);
        }
Example #6
0
        public void AddReviewShould_CallFactoryMethodCreateReview(string placeId, string userId,
                                                                  string postedOn, string message, int rating)
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();

            var placeIdGuid      = new Guid(placeId);
            var postedOnDateTime = Convert.ToDateTime(postedOn);
            var service          = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);

            service.AddReview(placeIdGuid, userId, postedOnDateTime, message, rating);

            factoryMock.Verify(f => f.CreateReview(placeIdGuid, userId, postedOnDateTime, message, rating), Times.Once);
        }
Example #7
0
        public void DeleteAllShould_CallUnitOfWorkMethodCommitForEachReview(string id)
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();
            var idGuid         = new Guid(id);
            var review         = new Review()
            {
                PlaceId = idGuid
            };

            repositoryMock.Setup(r => r.GetById(id)).Returns(review);

            var service = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);

            service.DeleteReview(idGuid);

            unitOfWorkMock.Verify(r => r.Commit(), Times.Once);
        }
Example #8
0
        public void DeleteReviewShould_CallRepositoryMethodDelete(string id)
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();
            var idGuid         = new Guid(id);
            var review         = new Review()
            {
                Id = idGuid, Message = "cool"
            };

            repositoryMock.Setup(r => r.GetById(idGuid)).Returns(review);

            var service = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);

            service.DeleteReview(idGuid);

            repositoryMock.Verify(r => r.Delete(review), Times.Once);
        }
Example #9
0
        public void GetAllShould_ReturnCorrectResult(string placeId, string userId)
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();
            var placeIdGuid    = new Guid(placeId);
            var review         = new Review()
            {
                PlaceId = placeIdGuid, UserId = userId
            };
            var all = new List <Review>()
            {
                review
            };

            repositoryMock.Setup(r => r.All).Returns(all.AsQueryable());

            var service = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);
            var result  = service.GetByUserAndPlace(placeIdGuid, userId);

            Assert.Contains(review, result.ToList());
        }
Example #10
0
        public void GetAllShould_ReturnCorrectResult()
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();

            var review = new Review()
            {
                Message = "cool"
            };
            var all = new List <Review>()
            {
                review
            };

            repositoryMock.Setup(r => r.All).Returns(all.AsQueryable());

            var service = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);
            var result  = service.GetAll();

            Assert.Contains(review, result.ToList());
        }
Example #11
0
        public void DeleteAllShould_CallUnitOfWorkMethodCommitForEachReview(string placeId)
        {
            var repositoryMock = new Mock <IRepository <Review> >();
            var unitOfWorkMock = new Mock <IUnitOfWork>();
            var factoryMock    = new Mock <IReviewsFactory>();
            var placeIdGuid    = new Guid(placeId);
            var review         = new Review()
            {
                PlaceId = placeIdGuid
            };
            var list = new List <Review>()
            {
                review
            };

            repositoryMock.Setup(r => r.All).Returns(list.AsQueryable());

            var service = new Services.ReviewsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object);

            service.DeleteAll(placeIdGuid);

            unitOfWorkMock.Verify(r => r.Commit(), Times.Once);
        }