def test_update_book_position_sets_position_for_multi_chapter_file_correctly(): from cozy.model.database_importer import DatabaseImporter from cozy.db.book import Book from cozy.db.track import Track database_importer = DatabaseImporter() book = Book.get_by_id(11) database_importer._update_book_position(book, 4251) book = Book.get_by_id(11) assert book.position == 232 assert Track.get_by_id(232).position == 4251000000000
def test_update_book_position_resets_position_if_it_is_longer_than_the_duration( ): from cozy.model.database_importer import DatabaseImporter from cozy.db.book import Book database_importer = DatabaseImporter() book = Book.get_by_id(11) book.position = 1 book.save(only=book.dirty_fields) database_importer._update_book_position(book, 42510) book = Book.get_by_id(11) assert book.position == 0
def test_current_track_is_actually_current_track(peewee_database): from cozy.model.book import Book from cozy.db.book import Book as BookModel book = Book(peewee_database, 9) assert book.current_chapter.id == BookModel.get_by_id(9).position
def test_update_book_position_sets_position_for_single_chapter_file_correctly( ): from cozy.model.database_importer import DatabaseImporter from cozy.db.book import Book from cozy.db.track import Track database_importer = DatabaseImporter() book = Book.get_by_id(2) database_importer._update_book_position(book, 4251) book = Book.get_by_id(2) desired_chapter_position = 4251000000000.0 - ( (Track.get_by_id(198).length + Track.get_by_id(197).length) * 10**9) assert book.position == 194 assert Track.get_by_id(194).position == desired_chapter_position
def test_setting_rating_updates_in_book_object_and_database(peewee_database): from cozy.db.book import Book as BookModel from cozy.model.book import Book book = Book(peewee_database, 1) book.rating = 5 assert book.rating == 5 assert BookModel.get_by_id(1).rating == 5
def test_setting_position_updates_in_book_object_and_database(peewee_database): from cozy.db.book import Book as BookModel from cozy.model.book import Book book = Book(peewee_database, 1) book.position = 42 assert book.position == 42 assert BookModel.get_by_id(1).position == 42
def test_setting_reader_updates_in_book_object_and_database(peewee_database): from cozy.db.book import Book as BookModel from cozy.model.book import Book book = Book(peewee_database, 1) book.reader = "Altered" assert book.reader == "Altered" assert BookModel.get_by_id(1).reader == "Altered"
def test_setting_offline_updates_in_book_object_and_database(peewee_database): from cozy.db.book import Book as BookModel from cozy.model.book import Book book = Book(peewee_database, 1) book.offline = True assert book.offline is True assert BookModel.get_by_id(1).offline is True
def test_setting_cover_updates_in_book_object_and_database(peewee_database): from cozy.db.book import Book as BookModel from cozy.model.book import Book book = Book(peewee_database, 1) book.cover = b"42" assert book.cover == b"42" assert BookModel.get_by_id(1).cover == b"42"
def test_setting_downloaded_updates_in_book_object_and_database(peewee_database): from cozy.db.book import Book as BookModel from cozy.model.book import Book book = Book(peewee_database, 1) book.downloaded = True assert book.downloaded is True assert BookModel.get_by_id(1).downloaded is True
def test_setting_last_played_updates_in_book_object_and_database(peewee_database): from cozy.db.book import Book as BookModel from cozy.model.book import Book book = Book(peewee_database, 1) book.last_played = 42 assert book.last_played == 42 assert BookModel.get_by_id(1).last_played == 42
def test_update_book_position_skips_empty_book(): from cozy.model.database_importer import DatabaseImporter from cozy.db.book import Book database_importer = DatabaseImporter() book = Book.get_by_id(10) database_importer._update_book_position(book, 0)