Пример #1
0
def test_delete_deletes_book_from_db(peewee_database, mocker):
    from cozy.model.book import Book
    from cozy.db.book import Book as BookModel

    book = Book(peewee_database, 1)
    spy = mocker.spy(book, "emit_event")
    book._on_chapter_event("chapter-deleted", book.chapters[0])

    assert BookModel.select().where(BookModel.id == 1).count() < 1
    spy.assert_called_once_with("book-deleted", book)
    assert len(book._listeners) < 1
Пример #2
0
def test_deleted_book_removed_from_last_played_book_if_necessary(
        peewee_database):
    from cozy.model.book import Book
    from cozy.model.settings import Settings

    settings = Settings()
    inject.clear_and_configure(lambda binder: binder.bind(
        SqliteDatabase, peewee_database) and binder.bind(Settings, settings))
    book = Book(peewee_database, 1)

    settings.last_played_book = book.db_object
    book._on_chapter_event("chapter-deleted", book.chapters[0])

    assert settings.last_played_book == None
Пример #3
0
def test_skipping_removing_a_non_existing_chapter(peewee_database):
    from cozy.model.book import Book

    book = Book(peewee_database, 1)
    book._on_chapter_event("chapter-deleted", None)