Source code for helpscout.tests.test_helpscout_web_hook_event
# -*- coding: utf-8 -*-
# Copyright 2017-TODAY LasLabs Inc.
# License MIT (https://opensource.org/licenses/MIT).
import unittest
from ..models import Customer
from ..web_hook import HelpScoutWebHookEvent
[docs]class TestHelpScoutWebHookEvent(unittest.TestCase):
[docs] def setUp(self):
super(TestHelpScoutWebHookEvent, self).setUp()
self.event_type = 'customer.created'
self.data = {
'gender': 'male',
'first_name': 'Test',
'last_name': 'Dude',
'type': 'customer',
}
self.api_data = {
'gender': self.data['gender'],
'firstName': self.data['first_name'],
'lastName': self.data['last_name'],
'type': self.data['type'],
}
def _validate_record(self, record):
self.assertIsInstance(record.record, Customer)
for key, val in self.data.items():
self.assertEqual(getattr(record.record, key), val)
[docs] def test_record_from_data(self):
"""It should create a correct record from the API data."""
self._validate_record(
HelpScoutWebHookEvent(
event_type=self.event_type, record=self.api_data,
),
)
[docs] def test_record_from_record(self):
"""It should pass through a pre-existing record."""
record = Customer(**self.data)
self._validate_record(
HelpScoutWebHookEvent(
event_type=self.event_type, record=record,
),
)