def testRentBook(self): client1 = Client(1, "Name1") client2 = Client(2, "Name2") book1 = Book(1, "Title", "Description", "Author") book2 = Book(2, "Title1", "Description1", "Author1") clientRepo = Repository() bookRepo = Repository() functions = ClientController(clientRepo, Statistics(clientRepo)) functiom = BookController(bookRepo, Statistics(bookRepo)) functions.addClient(client2.getId(), client2.getName()) functions.addClient(client1.getId(), client1.getName()) functiom.addBook(book1.getId(), book1.getTitle(), book1.getDescription(), book1.getAuthor()) functiom.addBook(book2.getId(), book2.getTitle(), book2.getDescription(), book2.getAuthor()) rentalRepo = Repository() functionsr = RentalController(bookRepo, clientRepo, rentalRepo, Statistics(rentalRepo)) msg1 = functionsr.rentBook(book1.getId(), client1.getId(), createDateFromString("23.11.2017"), "30.11.2017") self.assertTrue(len(msg1) == 0) self.assertTrue(functionsr.getRentals()[0].getBookId() == book1.getId()) self.assertTrue(functionsr.getRentals()[0].getClientId() == client1.getId()) msg2 = functionsr.rentBook(book2.getId, client2.getId(), createDateFromString("20.11.2017"), "19.11.2017") self.assertTrue(msg2 == "Inconsistent dates")
def testRemoveBook(self): book1 = Book(1, "Title", "Description", "Author") book2 = Book(2, "Title1", "Description1", "Author1") book3 = Book(3, "Title2", "Description2", "Author2") repo = Repository() functions = BookController(repo, Statistics(repo)) functions.addBook(book1.getId(), book1.getTitle(), book1.getDescription(), book1.getAuthor()) functions.addBook(book2.getId(), book2.getTitle(), book2.getDescription(), book2.getAuthor()) functions.addBook(book3.getId(), book3.getTitle(), book3.getDescription(), book3.getAuthor()) msg1 = functions.removeBook(1) self.assertTrue(len(msg1) == 0) self.assertTrue(functions.getBooks()[0].getId() == book2.getId()) self.assertTrue(functions.getBooks()[0].getTitle() == book2.getTitle()) self.assertTrue(functions.getBooks()[0].getDescription() == book2.getDescription()) self.assertTrue(functions.getBooks()[0].getAuthor() == book2.getAuthor()) msg2 = functions.removeBook(1) self.assertTrue(msg2 == "The provided ID does not exist") self.assertTrue(functions.getBooks()[0].getId() == book2.getId()) self.assertTrue(functions.getBooks()[0].getTitle() == book2.getTitle()) self.assertTrue(functions.getBooks()[0].getDescription() == book2.getDescription()) self.assertTrue(functions.getBooks()[0].getAuthor() == book2.getAuthor())
def testUpdateBook(self): bookRepo = Repository() bc = BookController(bookRepo, Statistics(bookRepo)) bc.populateBookRepository() bc.addBook(101, "Title", "Description", "Author") bc.updateBook(101, "title", "description", "author") self.assertTrue(bookRepo.getById(101).getTitle() == "title") self.assertTrue(bookRepo.getById(101).getAuthor() == "author") self.assertTrue(bookRepo.getById(101).getDescription() == "description")
def testBookController(self): repo = Repository() controller = BookController(repo) undoController = Undo() controller.addUndoController(undoController) self.assertEqual(controller.addBook(Book(1, "ala", "mala", "dala")), True) self.assertNotEqual(controller.searchById(1), False) found = controller.searchById(1) self.assertEqual(found, Book(1, "ala", "mala", "dala")) self.assertEqual(controller.searchByTitle("ala"), Book(1, "ala", "mala", "dala")) self.assertNotEqual( controller.modifyBookAuthor(Book(1, "ala", "mala", "dala"), "Mercan"), False) self.assertEqual( controller.modifyBookTitle(Book(1, "ala", "mala", "Mercan"), "Newt"), True) self.assertEqual(controller.findExistingId(1), True) self.assertEqual( controller.removeElement(Book(1, "Newt", "mala", "Mercan")), True) self.assertEqual(controller.searchById(1), False) self.assertEqual(controller.checkIdExists(1), False)
def addBook(): user_email = get_jwt_identity() author = request.form.get('author', None) bookname = request.form.get('book_name', None) if author is None or bookname is None: return jsonify({"error": "check your input"}), 403 bookController = BookController() return jsonify( bookController.addBook(name=bookname, author=author, uploader_email=user_email))
class TestBookController(unittest.TestCase): def setUp(self): self.repo = Repository() self.rentalRepo = Repository() self.Ucontroller = UndoController() self.book = Book(21, 'titlu', 'descriere', 'author') self.book2 = Book(22, 'titlu2', 'descriere2', 'author2') self.controller = BookController(self.repo, self.Ucontroller, self.rentalRepo) def test_something(self): self.Ucontroller.newOperation() self.controller.addBook(self.book) self.assertEqual(len(self.repo), 1) self.Ucontroller.newOperation() self.controller.removeBook(21) self.assertEqual(len(self.repo), 0) self.Ucontroller.newOperation() self.controller.addBook(self.book) self.Ucontroller.newOperation() self.controller.updateBook(self.book) self.Ucontroller.newOperation() self.controller.addBook(self.book2) self.assertEqual(len(self.controller.getAllBooks()), 2) self.assertEqual(self.controller.getBook(22), self.book2) self.assertRaises(ControllerException, self.controller.searchBook, 'nu') self.assertRaises(ControllerException, self.controller.searchBook, '') self.assertEqual(len(self.controller.searchBook('tit')), 2) self.Ucontroller.newOperation() self.controller.removeBook(22) self.assertEqual( str(self.controller), '021. titlu by author\n->descriere\nStatus: Available\n\n')
def testAddBook(self): book1 = Book(1, "Title", "Description", "Author") book2 = Book(2, "Title1", "Description1", "Author1") book3 = Book(1, "Title2", "Description2", "Author2") repo = Repository() functions = BookController(repo, Statistics(repo)) msg1 = functions.addBook(book1.getId(), book1.getTitle(), book1.getDescription(), book1.getAuthor()) self.assertTrue(msg1 == "") self.assertTrue(functions.getBooks()[0].getId() == book1.getId()) self.assertTrue(functions.getBooks()[0].getTitle() == book1.getTitle()) self.assertTrue(functions.getBooks()[0].getDescription() == book1.getDescription()) self.assertTrue(functions.getBooks()[0].getAuthor() == book1.getAuthor()) msg2 = functions.addBook(book2.getId(), book2.getTitle(), book2.getDescription(), book2.getAuthor()) self.assertTrue(msg2 == "") self.assertTrue(functions.getBooks()[1].getId() == book2.getId()) self.assertTrue(functions.getBooks()[1].getTitle() == book2.getTitle()) self.assertTrue(functions.getBooks()[1].getDescription() == book2.getDescription()) self.assertTrue(functions.getBooks()[1].getAuthor() == book2.getAuthor()) msg3 = functions.addBook(book3.getId(), book3.getTitle(), book3.getDescription(), book3.getAuthor()) self.assertTrue(msg3 == "Cannot add an existing element") self.assertTrue(functions.getBooks()[1].getId() == book2.getId()) self.assertTrue(functions.getBooks()[1].getTitle() == book2.getTitle()) self.assertTrue(functions.getBooks()[1].getDescription() == book2.getDescription()) self.assertTrue(functions.getBooks()[1].getAuthor() == book2.getAuthor()) self.assertTrue(functions.getBooks()[0].getId() == book1.getId()) self.assertTrue(functions.getBooks()[0].getTitle() == book1.getTitle()) self.assertTrue(functions.getBooks()[0].getDescription() == book1.getDescription()) self.assertTrue(functions.getBooks()[0].getAuthor() == book1.getAuthor())
def testBookController(self): repo = Repository() controller = BookController(repo) undoController = Undo() controller.addUndoController(undoController) self.assertEqual( controller.addBook(Book(1, "ala", "mala", "dala")) , True ) self.assertNotEqual( controller.searchById(1) , False ) found = controller.searchById(1) self.assertEqual( found , Book(1, "ala", "mala", "dala") ) self.assertEqual( controller.searchByTitle("ala") , Book(1, "ala", "mala", "dala") ) self.assertNotEqual( controller.modifyBookAuthor(Book(1, "ala", "mala", "dala"), "Mercan") , False ) self.assertEqual( controller.modifyBookTitle(Book(1, "ala", "mala", "Mercan"), "Newt") , True ) self.assertEqual( controller.findExistingId(1) , True ) self.assertEqual( controller.removeElement(Book(1, "Newt", "mala", "Mercan")) , True ) self.assertEqual( controller.searchById(1) , False ) self.assertEqual( controller.checkIdExists(1) , False )
def testBookController(): repo = Repository() controller = BookController(repo) undoController = Undo() controller.addUndoController(undoController) assert controller.addBook(Book(1, "ala", "mala", "dala")) == True assert controller.searchById(1) != False found = controller.searchById(1) assert found == Book(1, "ala", "mala", "dala") assert controller.searchByTitle("ala") == Book(1, "ala", "mala", "dala") assert controller.modifyBookAuthor(Book(1, "ala", "mala", "dala"), "Mercan") != False assert controller.modifyBookTitle(Book(1, "ala", "mala", "Mercan"), "Newt") == True assert controller.findExistingId(1) == True assert controller.removeElement(Book(1, "Newt", "mala", "Mercan")) == True assert controller.searchById(1) == False assert controller.checkIdExists(1) == False print("BookController tests ran successfully!")
def testBookController(): repo = Repository() controller = BookController(repo) undoController = Undo() controller.addUndoController(undoController) assert controller.addBook(Book(1, "ala", "mala", "dala")) == True assert controller.searchById(1) != False found = controller.searchById(1) assert found == Book(1, "ala", "mala", "dala") assert controller.searchByTitle("ala") == Book(1, "ala", "mala", "dala") assert controller.modifyBookAuthor(Book(1, "ala", "mala", "dala"), "Mercan") != False assert controller.modifyBookTitle(Book(1, "ala", "mala", "Mercan"), "Newt") == True assert controller.findExistingId(1) == True assert controller.removeElement(Book(1, "Newt", "mala", "Mercan")) == True assert controller.searchById(1) == False assert controller.checkIdExists(1) == False print ("BookController tests ran successfully!")