Ejemplo n.º 1
0
        public async Task GetAllReviewsByAuthorIdShouldReturnAllReviews()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.AddRangeAsync(
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
            },
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
            },
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
            });

            await db.SaveChangesAsync();

            var reviewsService = new ReviewsService(db);

            var result = await reviewsService.GetAllReviewsByAuthorIdAsync <ReviewTestModel>("author1");

            Assert.Equal(3, result.Count());
        }
Ejemplo n.º 2
0
        public async Task GetAllReviewsByAuthorIdShouldReturnCollectionWithCorrectOrder()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.AddRangeAsync(
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
                Likes       = new List <Like> {
                    new Like {
                        ReviewId = 1, UserId = "1", IsLiked = true
                    }
                },
            },
                new Review
            {
                Description = "description2",
                AuthorId    = "author1",
                Likes       = new List <Like> {
                    new Like {
                        ReviewId = 2, UserId = "1", IsLiked = false
                    }
                },
            },
                new Review
            {
                Description = "description3",
                AuthorId    = "author1",
                Likes       = new List <Like> {
                    new Like {
                        ReviewId = 3, UserId = "1", IsLiked = true
                    }, new Like {
                        ReviewId = 3, UserId = "1", IsLiked = true
                    }
                },
            },
                new Review
            {
                Description = "description4",
                AuthorId    = "author1",
            });

            await db.SaveChangesAsync();

            var reviewsService = new ReviewsService(db);

            var result = await reviewsService.GetAllReviewsByAuthorIdAsync <ReviewTestModel>("author1");

            var resultReviews = result.ToArray();

            Assert.Equal(4, resultReviews.Count());
            Assert.Equal("description3", resultReviews[0].Description);
            Assert.Equal("description1", resultReviews[1].Description);
        }