def test_title(title, expected_title): """Test that title is properly parsed. 1. Create an embedded representation parser for dictionary with specific title. 2. Parse a title. 3. Check the parsed title. """ parser = EmbeddedRepresentationParser(data={"title": title}, parser=JSONParser()) actual_title = parser.parse_title() assert actual_title == expected_title, "Wrong title"
def test_parse(component_validator): """Test that data of embedded representation is properly parsed. 1. Create an embedded representation. 2. Create an embedded representation parser. 3. Replace parser methods so that they return predefined data. 4. Parse the embedded representation. 5. Check the data of the embedded representation. """ representation = EmbeddedRepresentation( relations=["parsed relation"], classes=("parsed class 1", "parsed class 2"), properties={ "property 1": 1, "property 2": [1, 2] }, entities=( EmbeddedLink(target="/embedded/link/target", relations=["relation"]), EmbeddedRepresentation(relations=["relation"]), ), links=[Link(target="/link/target", relations=["relation"])], actions=[Action(target="/action/target", name="action")], title="parsed title", ) parser = EmbeddedRepresentationParser(data={}, parser=JSONParser()) parser.parse_relations = lambda: representation.relations parser.parse_classes = lambda: representation.classes parser.parse_properties = lambda: representation.properties parser.parse_entities = lambda: representation.entities parser.parse_links = lambda: representation.links parser.parse_actions = lambda: representation.actions parser.parse_title = lambda: representation.title actual_representation = parser.parse() component_validator.validate_embedded_representation( actual_representation, representation)