public void UpdateBook_ExistingBook_ReturnsGetBookDto() { AddBookDto newBook = BookTestData.AddBookDto(); mapperMock.Setup(m => m.Map <Book>(It.IsAny <AddBookDto>())).Returns(BookTestData.Book()); mapperMock.Setup(m => m.Map <UpdateBookDto>(It.IsAny <GetBookDto>())).Returns(BookTestData.AddBookDtoToUpdateBookDtoMapping()); mapperMock.Setup(m => m.Map <GetBookDto>(It.IsAny <Book>())).Returns(BookTestData.AddBookDtoToGetBookDtoMapping()); BookService bookService = new BookService(mapperMock.Object, dbContextMock.Object); ServiceResponse <List <GetBookDto> > addBookResponse = bookService.AddBook(newBook); GetBookDto addedBook = addBookResponse.Data.First(); UpdateBookDto updatedBook = mapperMock.Object.Map <UpdateBookDto>(addedBook); updatedBook.Price = 900; ServiceResponse <GetBookDto> updatedBookResponse = bookService.UpdateBook(updatedBook); GetBookDto savedBook = updatedBookResponse.Data; Assert.That(updatedBookResponse.Success, Is.EqualTo(true)); Assert.That(updatedBookResponse, Is.InstanceOf <ServiceResponse <GetBookDto> >()); Assert.That(savedBook, Is.InstanceOf <GetBookDto>()); Assert.That(savedBook.Price, Is.EqualTo(updatedBook.Price)); }
public async Task <IActionResult> DisplayBookDetails(string id) { string decryptedId = dataProtector.Unprotect(id); int bookId = Convert.ToInt32(decryptedId); GetBookDto book = bookRepository.GetBookDetails(bookId); if (book == null) { ViewBag.Object = "Book"; return(View("Views/Home/ObjectNotFound.cshtml", bookId)); } Category category = categoryRepository.GetCategory(book.CategoryId); if (category == null) { ViewBag.Object = "Category"; return(View("Views/Home/ObjectNotFound.cshtml", bookId)); } BookUser bookUser = new BookUser { StartDate = DateTime.Today, EndDate = DateTime.Today, BookId = book.Id }; if (User.Identity.IsAuthenticated) { var user = await userManager.FindByEmailAsync(User.Identity.Name); bookUser.UserId = user.Id; } else { bookUser.UserId = ""; } DisplayBookDetailsViewModel viewModel = new DisplayBookDetailsViewModel { Book = book, Category = category, BookUser = bookUser }; var getOrderdBook = bookUserRepository.Find(bookUser.BookId, bookUser.UserId); if (getOrderdBook == null) { viewModel.IsReserved = false; } else { viewModel.IsReserved = true; } return(View("Views/Book/DisplayBookDetails.cshtml", viewModel)); }
public DisplayBookDetailsViewModel GetDisplayBookDetailsViewModel(BookUser bookUser) { GetBookDto book = bookRepository.GetBookDetails(bookUser.BookId); Category category = categoryRepository.GetCategory(book.CategoryId); DisplayBookDetailsViewModel viewModel = new DisplayBookDetailsViewModel { Book = book, Category = category, BookUser = bookUser }; return(viewModel); }
public async Task GetSingleBook_WithValidInput_ReturnsBook() { GetBookDto addedBook = await this.AddBook("Delivering Happiness"); var response = await _client.GetAsync("/book/" + addedBook.Id); var responseString = await response.Content.ReadAsStringAsync(); var getBookResponse = JsonConvert.DeserializeObject <ServiceResponse <GetBookDto> >(responseString); response.StatusCode.Should().Be(HttpStatusCode.OK); getBookResponse.Data.Should().BeOfType <GetBookDto>(); }
public void UpdateBook_NonExistingBook_ReturnsError() { UpdateBookDto updatedBook = BookTestData.UpdateBookDto(); BookService bookService = new BookService(mapperMock.Object, dbContextMock.Object); ServiceResponse <GetBookDto> updatedBookResponse = bookService.UpdateBook(updatedBook); GetBookDto savedBook = updatedBookResponse.Data; Assert.That(updatedBookResponse.Success, Is.EqualTo(false)); Assert.That(updatedBookResponse, Is.InstanceOf <ServiceResponse <GetBookDto> >()); Assert.That(updatedBookResponse.Data, Is.EqualTo(null)); }
public async Task DeleteBook_WithValidInput_ReturnsBook() { string bookName = "Delivering Happiness"; GetBookDto addedBook = await this.AddBook(bookName); var response = await _client.DeleteAsync("/book/" + addedBook.Id); var responseString = await response.Content.ReadAsStringAsync(); var deleteBookResponse = JsonConvert.DeserializeObject <ServiceResponse <List <GetBookDto> > >(responseString); response.StatusCode.Should().Be(HttpStatusCode.OK); deleteBookResponse.Data.Should().BeOfType <List <GetBookDto> >(); }
public void UpdateBook_NonExistingBook_ReturnsError() { dbContext.Database.EnsureDeleted(); dbContext.Database.EnsureCreated(); UpdateBookDto updatedBook = GetUpdateBookDto(); BookService bookService = new BookService(mapper, dbContext); ServiceResponse <GetBookDto> updatedBookResponse = bookService.UpdateBook(updatedBook); GetBookDto savedBook = updatedBookResponse.Data; Assert.That(updatedBookResponse.Success, Is.EqualTo(false)); Assert.That(updatedBookResponse, Is.InstanceOf <ServiceResponse <GetBookDto> >()); Assert.That(updatedBookResponse.Data, Is.EqualTo(null)); }
public void DeleteBook_ExistingBook_ReturnsGetBookDtoList() { AddBookDto newBook = BookTestData.AddBookDto(); mapperMock.Setup(m => m.Map <Book>(It.IsAny <AddBookDto>())).Returns(BookTestData.Book()); mapperMock.Setup(m => m.Map <GetBookDto>(It.IsAny <Book>())).Returns(BookTestData.BookMapping()); BookService bookService = new BookService(mapperMock.Object, dbContextMock.Object); ServiceResponse <List <GetBookDto> > addBookResponse = bookService.AddBook(newBook); GetBookDto addedBook = addBookResponse.Data.First(); ServiceResponse <List <GetBookDto> > deleteBookResponse = bookService.DeleteBook(addedBook.Id); Assert.That(deleteBookResponse.Success, Is.EqualTo(true)); Assert.That(deleteBookResponse, Is.InstanceOf <ServiceResponse <List <GetBookDto> > >()); Assert.That(deleteBookResponse.Data, Is.InstanceOf <List <GetBookDto> >()); }
public void DeleteBook_ExistingBook_ReturnsGetBookDtoList() { dbContext.Database.EnsureDeleted(); dbContext.Database.EnsureCreated(); AddBookDto newBook = GetAddBookDto(); BookService bookService = new BookService(mapper, dbContext); ServiceResponse <List <GetBookDto> > addBookResponse = bookService.AddBook(newBook); GetBookDto addedBook = addBookResponse.Data.First(); ServiceResponse <List <GetBookDto> > deleteBookResponse = bookService.DeleteBook(addedBook.Id); Assert.That(deleteBookResponse.Success, Is.EqualTo(true)); Assert.That(deleteBookResponse, Is.InstanceOf <ServiceResponse <List <GetBookDto> > >()); Assert.That(deleteBookResponse.Data, Is.InstanceOf <List <GetBookDto> >()); Assert.That(deleteBookResponse.Data.Count, Is.EqualTo(0)); }
public void AddBook_NewBook_ReturnsGetBookDtoList() { mapperMock.Setup(m => m.Map <Book>(It.IsAny <AddBookDto>())).Returns(BookTestData.Book()); mapperMock.Setup(m => m.Map <GetBookDto>(It.IsAny <Book>())).Returns(BookTestData.GetBookDto()); AddBookDto newBook = BookTestData.AddBookDto(); BookService bookService = new BookService(mapperMock.Object, dbContextMock.Object); ServiceResponse <List <GetBookDto> > addBookResponse = bookService.AddBook(newBook); GetBookDto savedBook = addBookResponse.Data.First(); Assert.That(addBookResponse.Success, Is.EqualTo(true)); Assert.That(addBookResponse, Is.InstanceOf <ServiceResponse <List <GetBookDto> > >()); Assert.That(addBookResponse.Data, Is.InstanceOf <List <GetBookDto> >()); Assert.That(addBookResponse.Data.Count, Is.EqualTo(2)); Assert.That(savedBook, Is.InstanceOf <GetBookDto>()); Assert.That(savedBook.Name, Is.EqualTo(newBook.Name)); Assert.That(savedBook.Author, Is.EqualTo(newBook.Author)); }
public void AddBook_NewBook_ReturnsGetBookDtoList() { dbContext.Database.EnsureDeleted(); dbContext.Database.EnsureCreated(); AddBookDto newBook = GetAddBookDto(); BookService bookService = new BookService(mapper, dbContext); ServiceResponse <List <GetBookDto> > addBookResponse = bookService.AddBook(newBook); GetBookDto savedBook = addBookResponse.Data.First(); Assert.That(addBookResponse.Success, Is.EqualTo(true)); Assert.That(addBookResponse, Is.InstanceOf <ServiceResponse <List <GetBookDto> > >()); Assert.That(addBookResponse.Data, Is.InstanceOf <List <GetBookDto> >()); Assert.That(addBookResponse.Data.Count, Is.EqualTo(1)); Assert.That(savedBook, Is.InstanceOf <GetBookDto>()); Assert.That(savedBook.Name, Is.EqualTo(newBook.Name)); Assert.That(savedBook.Author, Is.EqualTo(newBook.Author)); Assert.That(savedBook.Id, Is.EqualTo(1)); }
public void GetBookById_BookId_ReturnsGetBookDto() { dbContext.Database.EnsureDeleted(); dbContext.Database.EnsureCreated(); AddBookDto newBook = GetAddBookDto(); BookService bookService = new BookService(mapper, dbContext); ServiceResponse <List <GetBookDto> > addBookResponse = bookService.AddBook(newBook); GetBookDto savedBook = addBookResponse.Data.First(); ServiceResponse <GetBookDto> getBookResponse = bookService.GetBookById(savedBook.Id); GetBookDto receivedBook = getBookResponse.Data; Assert.That(getBookResponse.Success, Is.EqualTo(true)); Assert.That(getBookResponse, Is.InstanceOf <ServiceResponse <GetBookDto> >()); Assert.That(getBookResponse.Data, Is.InstanceOf <GetBookDto>()); Assert.That(receivedBook, Is.InstanceOf <GetBookDto>()); Assert.That(receivedBook.Name, Is.EqualTo(savedBook.Name)); Assert.That(receivedBook.Author, Is.EqualTo(savedBook.Author)); }
public void UpdateBook_ExistingBook_ReturnsGetBookDto() { dbContext.Database.EnsureDeleted(); dbContext.Database.EnsureCreated(); AddBookDto newBook = GetAddBookDto(); BookService bookService = new BookService(mapper, dbContext); ServiceResponse <List <GetBookDto> > addBookResponse = bookService.AddBook(newBook); GetBookDto addedBook = addBookResponse.Data.First(); UpdateBookDto updatedBook = mapper.Map <UpdateBookDto>(addedBook); updatedBook.Price = 900; ServiceResponse <GetBookDto> updatedBookResponse = bookService.UpdateBook(updatedBook); GetBookDto savedBook = updatedBookResponse.Data; Assert.That(updatedBookResponse.Success, Is.EqualTo(true)); Assert.That(updatedBookResponse, Is.InstanceOf <ServiceResponse <GetBookDto> >()); Assert.That(savedBook, Is.InstanceOf <GetBookDto>()); Assert.That(savedBook.Price, Is.EqualTo(updatedBook.Price)); }
public async Task UpdateBook_WithValidInput_ReturnsBook() { GetBookDto addedBook = await this.AddBook("Delivering Happiness"); var request = new { Url = "/book", Body = new { Id = addedBook.Id, Name = "Updated Name" } }; var body = new StringContent(JsonConvert.SerializeObject(request.Body), Encoding.Default, "application/json"); var response = await _client.PutAsync(request.Url, body); var responseString = await response.Content.ReadAsStringAsync(); var updateBookResponse = JsonConvert.DeserializeObject <ServiceResponse <GetBookDto> >(responseString); response.StatusCode.Should().Be(HttpStatusCode.OK); updateBookResponse.Data.Should().BeOfType <GetBookDto>(); }