Exemple #1
0
def test_unlock_subpage():
    enc = Encyclopaedia()

    e = EncEntry(
        parent=enc,
        name="Test Name",
        text=["Test Text"],
        locked=False,
    )

    ee = EncEntry(parent=e, name="A Sub-Page", text=["Test Text"], locked=True)

    # Unlock the sub-page
    ee.locked = False
    assert ee.locked is False
Exemple #2
0
def test_unlock_entry():
    enc = Encyclopaedia()

    e = EncEntry(
        parent=enc,
        name="Test Name",
        text=["Test Text"],
        locked=True,
    )

    assert e in enc.all_entries
    assert e not in enc.unlocked_entries

    # Unlock the first entry
    e.locked = False
    assert e.locked is False

    assert e in enc.all_entries
    assert e in enc.unlocked_entries
def test_locked_persistent_set():
    """When locked status is controlled by a persistent variable
    Then the EncEntry's locked attribute should be linked to a persistent
    variable.
    """
    enc = Encyclopaedia()

    about_zeus = EncEntry(
        parent=enc,
        name="Zeus",
        text=["Test Text"],
        locked=True,
        locked_persistent=True,
    )

    about_zeus.locked = False

    assert persistent.Zeus_locked is False
    assert about_zeus.locked == persistent.Zeus_locked
Exemple #4
0
def test_unlock_callback():
    enc = Encyclopaedia()

    global baz
    baz = 0

    @enc.on("entry_unlocked")
    def foobar(enc):
        global baz
        baz += 1

    e = EncEntry(
        parent=enc,
        name="Test Name",
        text=["Test Text"],
        locked=True,
    )

    # Unlock the first entry
    e.locked = False
    assert e.locked is False

    assert 1 == baz