def test_from_dict(self, output_json_dict): student_object = Student.from_dict(output_json_dict) assert isinstance(student_object, Student) # Verify instantiated object is equivalent by reserialising: assert student_object.json_dict() == output_json_dict # Test attributes assert student_object.name == output_json_dict['name'] if output_json_dict.get('avatar_filename') is not None: assert str(student_object.avatar_filename ) == output_json_dict['avatar_filename']
def from_dict(cls, class_dict: dict): """ Instantiate Class object from JSON-serialisable dict. :param class_dict: dict :return: Class object """ _name = class_dict['name'] _students = [ Student.from_dict(student) for student in class_dict['students'] ] return Class(_name, _students)
def from_dict(cls, class_dict: dict) -> Union['Class', 'NewClass']: """ Instantiate Class object from JSON-serialisable dict. :param class_dict: dict :return: Class object """ _id = class_dict.get('id') # Class may not have id if not in db. _name = class_dict['name'] _students = [ Student.from_dict(student) for student in class_dict['students'] ] return cls(class_id=_id, name=_name, students=_students)