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); }
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); } }
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); }