diff --git a/pysnc/record.py b/pysnc/record.py index 86d1c3c..c9c0238 100644 --- a/pysnc/record.py +++ b/pysnc/record.py @@ -1091,7 +1091,7 @@ def serialize_all(self, display_value=False, fields=None, fmt=None, exclude_refe :param fmt: :return: list """ - return [record.serialize(display_value=display_value, fields=fields, fmd=fmt, exclude_reference_link=exclude_reference_link) for record in self] + return [record.serialize(display_value=display_value, fields=fields, fmt=fmt, exclude_reference_link=exclude_reference_link) for record in self] def to_pandas(self, columns=None, mode='smart'): """ diff --git a/test/test_snc_serialization.py b/test/test_snc_serialization.py index b4abbc9..d042b60 100644 --- a/test/test_snc_serialization.py +++ b/test/test_snc_serialization.py @@ -219,5 +219,26 @@ def test_str(self): self.assertTrue('intfield' in data) client.session.close() + def test_serialize_all(self): + client = ServiceNowClient(self.c.server, self.c.credentials) + gr = client.GlideRecord('problem') + gr.fields = 'sys_id,short_description,state' + gr.limit = 4 + gr.query() + data = gr.serialize_all() + self.assertEqual(len(data), 4) + for prb in data: + self.assertEqual(list(prb.keys()), ['sys_id', 'short_description', 'state']) + + # we do *not* expect the link if we are value-only + data = gr.serialize_all(exclude_reference_link=False) + self.assertEqual(type(data[0]['short_description']), str) + + # TODO: test this + #data = gr.serialize_all(display_value='both', exclude_reference_link=False) + #self.assertEqual(type(data[0]['short_description']), dict) + #print(data[0]['short_description']) + #self.assertTrue('value' in data[0]['short_description']['link']) + client.session.close()