def fake_list_store(): serialised = [ {"name": "people", "primary_person": "abcdef", "items": ["abcdef", "xyzabc"]}, {"name": "pets", "items": ["tuvwxy"]}, ] return ListStore.deserialise(serialised)
def _deserialise(self, data): json_data = json.loads(data, use_decimal=True) self.progress_store = ProgressStore(json_data.get("PROGRESS")) self.set_metadata(json_data.get("METADATA", {})) self.answer_store = AnswerStore(json_data.get("ANSWERS")) self.list_store = ListStore.deserialise(json_data.get("LISTS")) self.collection_metadata = json_data.get("COLLECTION_METADATA", {})
def test_repr(): test_list = ListModel("people", ["primaryperson"], primary_person="primaryperson") serialised = [ { "name": "people", "primary_person": "primaryperson", "items": ["123", "primaryperson"], } ] list_store = ListStore.deserialise(serialised) assert "primary_person=primaryperson" in repr(test_list) assert "items=['primaryperson']" in repr(test_list) assert "primaryperson" in repr(list_store)
def test_deserialisation(): new_list = ListStore() # pylint: disable=protected-access first_id = new_list._generate_identifier() second_id = new_list._generate_identifier() additional_id = new_list._generate_identifier() serialised = [ {"name": "people", "primary_person": second_id, "items": [first_id, second_id]}, {"name": "pets", "items": [additional_id]}, ] deserialised = ListStore.deserialise(serialised) assert deserialised["people"].items == [first_id, second_id] assert deserialised["people"].primary_person == second_id assert deserialised["pets"].items == [additional_id]