public async Task BorrowABook_BookExistFailedToBorrow_NoContent() { // Arrange var bookId = 1; var userId = "2"; var bookLendingRequest = new BookLendingRequestDto { BookId = bookId, Id = 1, UserId = userId }; var bookInfo = new BookResponseDto { Id = bookId, Name = "Book 1", PublishedDate = new DateTime(2015, 10, 1), Available2Lend = true }; _bookServiceMock.Setup(c => c.GetByIdAsync(bookLendingRequest.BookId)).ReturnsAsync(bookInfo); _bookLendingServiceMock.Setup(c => c.BookLending(bookLendingRequest)).ReturnsAsync((BookLendingResponseDto)null); _bookLendingApiController = new BookLendingApiController(_bookLendingServiceMock.Object, _bookServiceMock.Object); // Act var result = await _bookLendingApiController.Post(bookLendingRequest); // Assert var resultStatus = ((Microsoft.AspNetCore.Mvc.NoContentResult)result).StatusCode; Assert.Equal((int)HttpStatusCode.NoContent, resultStatus); }
public async Task GetBorrowedBook_InvalidUser_NoContent() { // Arrange var userId = "-1"; _bookLendingServiceMock.Setup(c => c.BooksBorrowedByUserAsync(userId)).ReturnsAsync((BooksBorrowedByUserResponseDto)null); _bookLendingApiController = new BookLendingApiController(_bookLendingServiceMock.Object, _bookServiceMock.Object); // Act var result = await _bookLendingApiController.Get(userId); // Assert var resultStatus = ((Microsoft.AspNetCore.Mvc.StatusCodeResult)result).StatusCode; Assert.Equal((int)HttpStatusCode.NoContent, resultStatus); }
public async Task BorrowABook_BookNotExist_BadRequest() { // Arrange var bookLendingRequest = new BookLendingRequestDto { BookId = 1, Id = 1, UserId = "2" }; _bookServiceMock.Setup(c => c.GetByIdAsync(bookLendingRequest.BookId)).ReturnsAsync((BookResponseDto)null); _bookLendingApiController = new BookLendingApiController(_bookLendingServiceMock.Object, _bookServiceMock.Object); // Act var result = await _bookLendingApiController.Post(bookLendingRequest); // Assert var resultStatus = ((Microsoft.AspNetCore.Mvc.BadRequestResult)result).StatusCode; Assert.Equal((int)HttpStatusCode.BadRequest, resultStatus); }
public async Task GetBorrowedBook_ByUser_Success() { // Arrange var userId = "1"; var booksBorrowedByUserResponseDtos = new BooksBorrowedByUserResponseDto() { User = new Users.Model.UserResponseDto { Id = userId, Email = "*****@*****.**", FullName = "Test User", UserName = "******" }, Books = new List <BookLendingResponseDto> { new BookLendingResponseDto { Id = 1, Name = "Book 1", PublishedDate = new DateTime(2019, 1, 1) }, new BookLendingResponseDto { Id = 2, Name = "Book 2", PublishedDate = new DateTime(2018, 1, 1) } } }; _bookLendingServiceMock.Setup(c => c.BooksBorrowedByUserAsync(userId)).ReturnsAsync(booksBorrowedByUserResponseDtos); _bookLendingApiController = new BookLendingApiController(_bookLendingServiceMock.Object, _bookServiceMock.Object); // Act var result = await _bookLendingApiController.Get(userId); // Assert var resultValue = ((Microsoft.AspNetCore.Mvc.ObjectResult)result).Value; var resultStatus = ((Microsoft.AspNetCore.Mvc.ObjectResult)result).StatusCode; Assert.Equal((int)HttpStatusCode.OK, resultStatus); Assert.Equal(booksBorrowedByUserResponseDtos, resultValue); }
public async Task ReturnBook_BookLendingId_NoContent() { // Arrange var returnResult = false; var bookLendingId = 1; var bookLendingRequest = new BookLendingRequestDto { BookId = 1, Id = bookLendingId, UserId = "2" }; _bookLendingServiceMock.Setup(c => c.BookReturning(bookLendingId, bookLendingRequest)).ReturnsAsync(returnResult); _bookLendingApiController = new BookLendingApiController(_bookLendingServiceMock.Object, _bookServiceMock.Object); // Act var result = await _bookLendingApiController.Put(bookLendingId, bookLendingRequest); // Assert var resultStatus = ((Microsoft.AspNetCore.Mvc.NoContentResult)result).StatusCode; Assert.Equal((int)HttpStatusCode.NoContent, resultStatus); }