def test_load(self): schema = TicketSchema() payload = { 'id': 10, 'subject': 'Subject', 'content': dict(html='HTML<br>', text='Text\n'), 'summary': 'Summary content', 'spam': True, 'starred': True, 'unanswered': False, 'archived': True, 'requester': { 'name': 'Example', 'email': '*****@*****.**' }, 'comments_count': 0, 'replies_count': 0 } result = schema.load(payload) deserialized = result.data assert isinstance(deserialized, Ticket) assert deserialized.id == 10 assert deserialized.subject == 'Subject' assert deserialized.content == {'html': 'HTML<br>', 'text': 'Text\n'} assert deserialized.summary == 'Summary content' assert isinstance(deserialized.requester, Requester) assert deserialized.requester.name == 'Example' assert deserialized.requester.email == '*****@*****.**' assert deserialized.spam == True assert deserialized.starred == True assert deserialized.unanswered == False assert deserialized.archived == True assert deserialized.comments_count == 0 assert deserialized.replies_count == 0
def test_dump(self, ticket): schema = TicketSchema() result = schema.dump(ticket) assert result.data == { 'ticket': { 'id': ticket.id, 'subject':ticket.subject, 'content': ticket.content, 'summary': '', 'spam': False, 'starred': False, 'unanswered': True, 'archived': False, 'requester_email': ticket.requester.email, 'requester_name': ticket.requester.name, 'comments_count': 0, 'replies_count': 0 }}