예제 #1
0
        public void AddReviewTest()
        {
            // Arrange
            var repo = new FakeBookRepository();

            AddTestBooks(repo);
            var bookController = new BookController(repo);

            // Act
            bookController.AddReview("Sense and Sensibility",
                                     "This book is a classic!", "A. Reader");
            // Assert
            Assert.Equal("This book is a classic!",
                         repo.GetBookByTitle("Sense and Sensibility").Reviews[0].ReviewText);
        }
예제 #2
0
        public async Task TestDeleteReviewOk()
        {
            //SETUP
            var options = SqliteInMemory.CreateOptions <ExampleDbContext>();

            using (var context = new ExampleDbContext(options))
            {
                context.Database.EnsureCreated();
                context.SeedDatabase();

                var controller = new BookController();
                var utData     = context.SetupSingleDtoAndEntities <AddReviewDto>(_genericServiceConfig);
                var service    = new CrudServicesAsync(context, utData.ConfigAndMapper);

                //ATTEMPT
                var dto = new AddReviewDto()
                {
                    BookId    = 1,
                    Title     = "Efcore in action",
                    VoterName = "test",
                    NumStars  = 5,
                    Comment   = "test comment",
                };
                var response = await controller.AddReview(dto, service);

                //VERIFY
                response.GetStatusCode().ShouldEqual(200);


                //Delete review

                utData  = context.SetupSingleDtoAndEntities <RemoveReviewDto>(_genericServiceConfig);
                service = new CrudServicesAsync(context, utData.ConfigAndMapper);

                //ATTEMPT
                var removeReviewDto = new RemoveReviewDto()
                {
                    BookId   = 1,
                    ReviewId = 1
                };
                response = await controller.DeleteReview(removeReviewDto, service);

                //VERIFY
                response.GetStatusCode().ShouldEqual(200);
            }
        }
예제 #3
0
        public void AddReviewTest()
        {
            // Arrange

            var repo           = new FakeBookRepository();
            var bookController = new BookController(repo);

            // Act
            const string TITLE  = "The Fellowship of the Ring";
            const string REVIEW = "This is a great classic!";

            bookController.AddReview(TITLE, REVIEW, "Brian");

            // Assert
            Book book = repo.GetBookByTitle(TITLE);

            Assert.Equal(REVIEW, book.Reviews.Last <Review>().ReviewText);
        }