Fixed double shift implementation. Added implicit renaming
This commit is contained in:
@@ -14,6 +14,18 @@ def test_i_can_present_static_mappings():
|
||||
assert actual == Expando({"renamed_1": "value1", "field2": "value2"}) # field3 is removed
|
||||
|
||||
|
||||
def test_i_can_present_implicit_renaming():
|
||||
mappings_def = "root.field1="
|
||||
presenter = DefaultDataPresenter("comp_id", mappings_def)
|
||||
as_dict = {"root": {"field1": "value1"}}
|
||||
data = Expando(as_dict)
|
||||
|
||||
actual = presenter.present(data)
|
||||
|
||||
assert isinstance(actual, Expando)
|
||||
assert actual.as_dict() == {"field1": "value1"}
|
||||
|
||||
|
||||
def test_the_latter_mappings_take_precedence():
|
||||
mappings_def = "field1 = renamed_1 , field1 "
|
||||
presenter = DefaultDataPresenter("comp_id", mappings_def)
|
||||
@@ -105,6 +117,23 @@ def test_i_can_present_dynamic_mappings_with_sub_fields_and_renames():
|
||||
"field4": "value4"}
|
||||
|
||||
|
||||
def test_i_can_present_dynamic_mappings_with_sub_fields_and_implicit_renames():
|
||||
mappings_def = "root.sub_field.*="
|
||||
presenter = DefaultDataPresenter("comp_id", mappings_def)
|
||||
as_dict = {"root": {"field1": "value1",
|
||||
"field2": "value2",
|
||||
"sub_field": {"field3": "value3",
|
||||
"field4": "value4"
|
||||
}}}
|
||||
data = Expando(as_dict)
|
||||
|
||||
actual = presenter.present(data)
|
||||
|
||||
assert isinstance(actual, Expando)
|
||||
assert actual.as_dict() == {"field3": "value3",
|
||||
"field4": "value4"}
|
||||
|
||||
|
||||
def test_i_can_present_dynamic_mappings_and_rename_them():
|
||||
mappings_def = "*=*" # does not really have effects as '*' only goes down one level
|
||||
presenter = DefaultDataPresenter("comp_id", mappings_def)
|
||||
|
||||
Reference in New Issue
Block a user