コード例 #1
0
def test_validate_from_dict():
    instance = PersonModel.validate({
        "first_name": "Jean",
        "last_name": "Pierre"
    })
    assert isinstance(instance, PersonModel)
    assert instance.first_name == "Jean" and instance.last_name == "Pierre"
コード例 #2
0
def test_fields_modified_on_object_parsing():
    instance = PersonModel.parse_obj({
        "_id": ObjectId(),
        "first_name": "Jackie",
        "last_name": "Chan"
    })
    assert instance.__fields_modified__ == set(
        ["first_name", "last_name", "id"])
コード例 #3
0
def test_fields_modified_on_construction():
    instance = PersonModel(first_name="Jean", last_name="Pierre")
    assert instance.__fields_modified__ == set(
        ["first_name", "last_name", "id"])
コード例 #4
0
def test_validate_does_not_copy():
    instance = PersonModel(first_name="Jean", last_name="Pierre")
    assert PersonModel.validate(instance) is instance
コード例 #5
0
ファイル: test_model_logic.py プロジェクト: daqube2/odmantic
def instance_to_update():
    return PersonModel(first_name=INITIAL_FIRST_NAME, last_name=INITIAL_LAST_NAME)
コード例 #6
0
ファイル: test_model_logic.py プロジェクト: daqube2/odmantic
def test_model_copy_with_update_primary_key():
    instance = PersonModel(first_name="Jean", last_name="Valjean")
    copied = instance.copy(update={"id": ObjectId()})
    assert instance.first_name == copied.first_name
    assert copied.last_name == copied.last_name
    assert instance.id != copied.id
コード例 #7
0
ファイル: test_model_logic.py プロジェクト: daqube2/odmantic
def test_model_copy_with_update():
    instance = PersonModel(first_name="Jean", last_name="Valjean")
    copied = instance.copy(update={"last_name": "Pierre"})
    assert instance.id == copied.id
    assert instance.first_name == copied.first_name
    assert copied.last_name == "Pierre"
コード例 #8
0
ファイル: test_model_logic.py プロジェクト: daqube2/odmantic
def test_model_copy_without_update():
    instance = PersonModel(first_name="Jean", last_name="Valjean")
    copied = instance.copy()
    assert instance == copied
コード例 #9
0
    class M(Model):
        ...

    id_ = ObjectId()
    assert json.loads(M(id=id_).json()) == {"id": str(id_)}


TWITTER_USERS = [TwitterUser(), TwitterUser(), TwitterUser()]
MAIN_TWITTER_USER = TwitterUser(following=[e.id for e in TWITTER_USERS])


@pytest.mark.parametrize(
    "instance, expected_parsed_json",
    (
        (
            PersonModel(first_name="Johnny", last_name="Cash"),
            dict(first_name="Johnny", last_name="Cash"),
        ),
        (
            TreeModel(
                name="Secoya",
                average_size=100.3,
                discovery_year=1253,
                kind=TreeKind.BIG,
                genesis_continents=["Asia"],
                per_continent_density={"Asia": 20.3},
            ),
            dict(
                name="Secoya",
                average_size=100.3,
                discovery_year=1253,