public function testCheckoutBook()
 {
     // Arrage
     $this->initFixtures();
     $book = factory(Book::class)->create();
     // Act
     $this->service->checkoutBookById($book->id);
     // Assert
     $this->seeInDatabase('books', ['id' => $book->id, 'available' => false]);
     $this->seeInDatabase('checkout_histories', ['user_id' => $this->user->id, 'book_id' => $book->id, 'returned' => false]);
 }
 public function checkout(Request $request)
 {
     $bookId = $request->get('book_id');
     if ($this->service->isMaxLimitOfCheckout()) {
         try {
             $this->service->checkoutBookById($bookId);
         } catch (ModelNotFoundException $e) {
             abort(500);
         }
         return redirect('/');
     }
     return redirect('/')->withErrors('每個帳號最多只能借 2 本書');
 }