Example #1
0
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
Example #2
0
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
Example #3
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
Example #4
0
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
Example #5
0
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
Example #6
0
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
Example #7
0
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"
Example #8
0
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
Example #9
0
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"
Example #10
0
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
Example #11
0
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
Example #12
0
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)