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 本書'); }