def test_model_invalid_update(self): with self.app.app_context(): book = BooksModel(1, 1, 1, "test") book.save_to_db() entry = LibraryModel(book.isbn, 1, LibraryType.WishList, State.Pending) entry.save_to_db() with self.assertRaises(Exception): data = {"isbn": 1, "user_id": 1, "state": "Pending2", "visible": True, "library_type": "WishList"} entry.update_from_db(data)
def test_model_update(self): with self.app.app_context(): book = BooksModel(1, 1, 1, "test") book.save_to_db() book2 = BooksModel(2, 1, 1, "test2") book2.save_to_db() entry = LibraryModel(book.isbn, 1, LibraryType.Bought, State.Finished) entry.save_to_db() data = {"isbn": book2.isbn, "user_id": 2, "state": "Reading", "visible": True, "library_type": "WishList"} entry.update_from_db(data) expected_json = data expected_json["book"] = BooksModel.find_by_isbn(book2.isbn).json() del expected_json["isbn"] self.assertEqual(expected_json, entry.json())