Exemple #1
0
        public void ReturnTheCountOfNotDeletedReviewsByTheGivenUserIdAndSearch(int expectedCountForUser)
        {
            // Arrange
            var userId         = this.Fixture.Create <string>();
            var allReviews     = new List <BeerReview>();
            var expectedSearch = Guid.NewGuid().ToString();

            // Add random reviews which should not be counted
            for (var i = 0; i < expectedCountForUser * 2; i++)
            {
                var review = this.Fixture.Create <BeerReview>();
                allReviews.Add(review);
            }

            // Add the reviews which should be counted
            for (var i = 0; i < expectedCountForUser; i++)
            {
                var userReview = this.Fixture.Create <BeerReview>();
                userReview.ApplicationUserId = userId;
                userReview.IsDeleted         = false;
                if (i % 3 == 0)
                {
                    // When name contains search
                    userReview.Beer.Name = "dsadsa" + expectedSearch + "54***dasj";
                }
                else if (i % 3 == 1)
                {
                    // When brewery name contains search
                    userReview.Beer.Brewery.Name = "dsadsa" + expectedSearch + "54***dasj";
                }
                else
                {
                    // When place contains search
                    userReview.Place = "dsadsa" + expectedSearch + "54***dasj";
                }

                allReviews.Add(userReview);
            }

            // Add deleted reviews which should not be counted
            for (var i = 0; i < expectedCountForUser / 2; i++)
            {
                var userReview = this.Fixture.Create <BeerReview>();
                userReview.ApplicationUserId = userId;
                userReview.IsDeleted         = true;
                allReviews.Add(userReview);
            }

            var mockedRepository = new Mock <IEfRepository <BeerReview> >();

            mockedRepository.Setup(r => r.All)
            .Returns(allReviews.AsQueryable);
            var beerReviewService = new BeerReviewService(mockedRepository.Object);

            // Act
            var actualCount = beerReviewService.CountUserReviews(userId, expectedSearch);

            // Assert
            Assert.AreEqual(expectedCountForUser, actualCount);
        }
Exemple #2
0
        public void Call_RepositoryGetByIdMethodOnceWithCorrectParams()
        {
            var id            = this.Fixture.Create <string>();
            var repository    = new Mock <IRepository <BeerReview> >();
            var reviewService = new BeerReviewService(repository.Object);

            reviewService.GetById(id);

            repository.Verify(r => r.GetById(id), Times.Once);
        }
        public void Call_RepositorySaveChangesMethodOnceAndReturnItsValue()
        {
            var expected   = new Mock <IDataModifiedResult>();
            var review     = new BeerReview();
            var repository = new Mock <IRepository <BeerReview> >();

            repository.Setup(r => r.SaveChanges())
            .Returns(expected.Object);
            var reviewService = new BeerReviewService(repository.Object);

            var actual = reviewService.UpdateReview(review);

            repository.Verify(r => r.SaveChanges(), Times.Once);
            Assert.AreSame(expected.Object, actual);
        }
Exemple #4
0
        public void ReturnResultFrom_RepositoryGetByIdMethod()
        {
            var id         = this.Fixture.Create <string>();
            var expected   = new BeerReview();
            var repository = new Mock <IRepository <BeerReview> >();

            repository.Setup(r => r.GetById(It.IsAny <object>()))
            .Returns(expected);

            var reviewService = new BeerReviewService(repository.Object);

            var actual = reviewService.GetById(id);

            Assert.AreSame(expected, actual);
        }
Exemple #5
0
        public void Call_RepositoryUpdateMethodOnceWithCorrectParams()
        {
            // Arrange
            var id         = this.Fixture.Create <string>();
            var review     = new BeerReview();
            var repository = new Mock <IEfRepository <BeerReview> >();

            repository.Setup(r => r.GetById(id))
            .Returns(review);
            var reviewService = new BeerReviewService(repository.Object);

            // Act
            reviewService.UpdateReview(review);

            // Assert
            repository.Verify(r => r.Update(review), Times.Once);
        }
        public void SetIsDeletedPropertyToTrue()
        {
            var id     = this.Fixture.Create <string>();
            var review = new BeerReview
            {
                IsDeleted = false
            };

            var repository = new Mock <IRepository <BeerReview> >();

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

            var reviewService = new BeerReviewService(repository.Object);

            reviewService.DeleteReview(id);

            Assert.IsTrue(review.IsDeleted);
        }
Exemple #7
0
        public void ReturnTheCountOfNotDeletedReviewsByTheGivenUserId(int expectedCountForUser)
        {
            // Arrange
            var userId     = this.Fixture.Create <string>();
            var allReviews = new List <BeerReview>();

            // Add random reviews which should not be counted
            for (var i = 0; i < expectedCountForUser * 2; i++)
            {
                var review = this.Fixture.Create <BeerReview>();
                allReviews.Add(review);
            }

            // Add the reviews which should be counted
            for (var i = 0; i < expectedCountForUser; i++)
            {
                var userReview = this.Fixture.Create <BeerReview>();
                userReview.ApplicationUserId = userId;
                userReview.IsDeleted         = false;
                allReviews.Add(userReview);
            }

            // Add deleted reviews which should not be counted
            for (var i = 0; i < expectedCountForUser / 2; i++)
            {
                var userReview = this.Fixture.Create <BeerReview>();
                userReview.ApplicationUserId = userId;
                userReview.IsDeleted         = true;
                allReviews.Add(userReview);
            }

            var mockedRepository = new Mock <IEfRepository <BeerReview> >();

            mockedRepository.Setup(r => r.All)
            .Returns(allReviews.AsQueryable);
            var beerReviewService = new BeerReviewService(mockedRepository.Object);

            // Act
            var actualCount = beerReviewService.CountUserReviews(userId);

            // Assert
            Assert.AreEqual(expectedCountForUser, actualCount);
        }
        public void Call_RepositorySaveChangesMethodOnceAndReturnItsValue()
        {
            var expected = new Mock <IDataModifiedResult>();
            var id       = this.Fixture.Create <string>();
            var review   = new BeerReview
            {
                IsDeleted = false
            };

            var repository = new Mock <IRepository <BeerReview> >();

            repository.Setup(r => r.GetById(id))
            .Returns(review);
            repository.Setup(r => r.SaveChanges())
            .Returns(expected.Object);

            var reviewService = new BeerReviewService(repository.Object);

            var result = reviewService.DeleteReview(id);

            Assert.AreSame(expected.Object, result);
            repository.Verify(r => r.SaveChanges(), Times.Once);
        }