예제 #1
0
파일: app.php 프로젝트: bdspen/library_day1
$app->register(new Silex\Provider\TwigServiceProvider(), array('twig.path' => __DIR__ . '/../views'));
$app->get("/", function () use($app) {
    return $app['twig']->render('index.html.twig');
});
$app->get("/librarian", function () use($app) {
    return $app['twig']->render('librarian.html.twig', array('books' => Book::getAll(), 'authors' => Author::getAll()));
});
$app->post("/librarian", function () use($app) {
    $title = $_POST['title'];
    $book = new Book($title);
    $book->save();
    $name = $_POST['author'];
    $author = new Author($name);
    $author->save();
    $book->addAuthor($author);
    $book->addCopy($_POST['copies']);
    return $app['twig']->render('librarian.html.twig', array('books' => Book::getAll()));
});
$app->delete("/book/{id}/delete", function ($id) use($app) {
    $book = Book::find($id);
    $book->deleteBook();
    return $app['twig']->render('librarian.html.twig', array('books' => Book::getAll(), 'authors' => Author::getAll()));
});
$app->get("/book/{id}/edit", function ($id) use($app) {
    $book = Book::find($id);
    return $app['twig']->render("edit_book.html.twig", array("book" => $book));
});
$app->patch("/book/{id}", function ($id) use($app) {
    $book = Book::find($id);
    if (!empty($_POST['title'])) {
        $new_title = $_POST['title'];
예제 #2
0
 function test_countCopies()
 {
     //Arrange
     $title = "Growing up Casalino: the Big Ben story";
     $id = 1;
     $test_book = new Book($title, $id);
     $test_book->save();
     //Act
     $test_book->addCopy(4);
     //Assert
     $result = $test_book->countCopies();
     $this->assertEquals($result, 4);
 }
예제 #3
0
 function test_addCopy()
 {
     $name = "Big Lebowski";
     $test_book = new Book($name);
     $test_book->save();
     $test_book->addCopy();
     $test_book->addCopy();
     $result = $test_book->getCopies();
     $this->assertEquals(2, count($result));
 }
예제 #4
0
 function test_addCheckout()
 {
     $name = "Big Lebowski";
     $test_book = new Book($name);
     $test_book->save();
     $test_book->addCopy();
     $copies = $test_book->getCopies();
     $patron_name = "Big Lebowski";
     $test_patron = new Patron($patron_name);
     $test_patron->save();
     $test_patron->addCheckout($copies[0]);
     $result = $test_patron->getCheckouts();
     $this->assertEquals(1, count($result));
 }
예제 #5
0
 function testGetInventory()
 {
     //Arrange
     $title = "Where the Red Fern Grows";
     $title2 = "Clowns";
     $title3 = "Puppes";
     $id = null;
     $test_book = new Book($title, $id);
     $test_book2 = new Book($title2, $id);
     $test_book3 = new Book($title3, $id);
     $test_book->save();
     $test_book2->save();
     $test_book3->save();
     //Act
     $test_book->addCopy();
     $test_book2->addCopy();
     $test_book3->addCopy();
     $collection_of_cooks = Book::getAll();
     $result = Book::getInventory($collection_of_books);
     //Assert
     $this->assertEquals(array($title, $title2, $title3), $result);
 }