def test_unhandled_message_received(self): original = UnhandledMessageReceived( phone_number="123456789", user_profile=UserProfile(validated=True), message="blabla") serialized = original.dict() deserialized = event_from_dict(serialized) self._make_base_assertions(original, deserialized)
def test_menu_requested(self): original = MenuRequested( phone_number="123456789", user_profile=UserProfile(validated=True), ) serialized = original.dict() deserialized = event_from_dict(serialized) self._make_base_assertions(original, deserialized)
def test_opted_out(self): original = OptedOut("123456789", user_profile=UserProfile(True), drill_instance_id=uuid.uuid4()) serialized = original.to_dict() deserialized: OptedOut = event_from_dict(serialized) # type: ignore self._make_base_assertions(original, deserialized) self.assertEqual(original.drill_instance_id, deserialized.drill_instance_id)
def test_send_adhoc_message(self): original = AdHocMessageSent( phone_number="123456789", user_profile=UserProfile(validated=True), sms=SMS(body="foobar"), ) serialized = original.dict() deserialized = event_from_dict(serialized) self._make_base_assertions(original, deserialized)
def test_user_validated(self): original = UserValidated( "123456789", user_profile=UserProfile(True), code_validation_payload=CodeValidationPayload(valid=True, is_demo=True), ) serialized = original.to_dict() deserialized = event_from_dict(serialized) self._make_base_assertions(original, deserialized)
def test_drill_completed(self): original = DrillCompleted(phone_number="12345678", user_profile=UserProfile(True), drill_instance_id=uuid.uuid4()) serialized = original.to_dict() deserialized: DrillCompleted = event_from_dict( serialized) # type: ignore self._make_base_assertions(original, deserialized) self.assertEqual(original.drill_instance_id, deserialized.drill_instance_id)
def test_language_change_drill_requested(self): original = LanguageChangeDrillRequested( phone_number="123456789", user_profile=UserProfile(validated=True), abandoned_drill_instance_id="11111111-1111-1111-1111-111111111111", ) serialized = original.dict() deserialized = event_from_dict(serialized) self._make_base_assertions(original, deserialized) self.assertEqual( deserialized.abandoned_drill_instance_id, uuid.UUID("11111111-1111-1111-1111-111111111111"), )
def test_advanced_to_next_prompt(self): original = AdvancedToNextPrompt( phone_number="123456789", user_profile=UserProfile(True), prompt=self.prompt, drill_instance_id=uuid.uuid4(), ) serialized = original.to_dict() deserialized: AdvancedToNextPrompt = event_from_dict( serialized) # type: ignore self._make_base_assertions(original, deserialized) self.assertEqual(original.prompt.slug, deserialized.prompt.slug) self.assertEqual(original.drill_instance_id, deserialized.drill_instance_id)
def test_completed_prompt(self): original = CompletedPrompt( phone_number="123456789", user_profile=UserProfile(True), prompt=self.prompt, response="hello", drill_instance_id=uuid.uuid4(), ) serialized = original.to_dict() deserialized: CompletedPrompt = event_from_dict( serialized) # type: ignore self._make_base_assertions(original, deserialized) self.assertEqual(original.prompt.slug, deserialized.prompt.slug) self.assertEqual(original.response, deserialized.response) self.assertEqual(original.drill_instance_id, deserialized.drill_instance_id)
def test_drill_started(self): original = DrillStarted( phone_number="12345678", user_profile=UserProfile(True), drill=self.drill, first_prompt=self.prompt, drill_instance_id=uuid.uuid4(), ) serialized = original.to_dict() deserialized: DrillStarted = event_from_dict( serialized) # type: ignore self._make_base_assertions(original, deserialized) self.assertEqual(original.drill.name, deserialized.drill.name) self.assertEqual(original.drill_instance_id, deserialized.drill_instance_id) self.assertEqual(original.first_prompt.slug, deserialized.first_prompt.slug)
def test_failed_prompt(self): original = FailedPrompt( phone_number="123456789", user_profile=UserProfile(True), prompt=self.prompt, response="hello", abandoned=True, drill_instance_id=uuid.uuid4(), ) serialized = original.to_dict() deserialized: FailedPrompt = event_from_dict( serialized) # type: ignore self._make_base_assertions(original, deserialized) self.assertEqual(original.prompt.slug, deserialized.prompt.slug) for original_message, deserialized_message in zip( original.prompt.messages, deserialized.prompt.messages): self.assertEqual(original_message.text, deserialized_message.text) self.assertEqual(original_message.media_url, deserialized_message.media_url) self.assertEqual(original.response, deserialized.response) self.assertEqual(original.abandoned, deserialized.abandoned) self.assertEqual(original.drill_instance_id, deserialized.drill_instance_id)
def test_next_drill_requested(self): original = NextDrillRequested("123456789", user_profile=UserProfile(True)) serialized = original.to_dict() deserialized = event_from_dict(serialized) self._make_base_assertions(original, deserialized)
def test_user_validation_failed(self): original = UserValidationFailed("123456789", user_profile=UserProfile(True)) serialized = original.to_dict() deserialized = event_from_dict(serialized) self._make_base_assertions(original, deserialized)
def test_reminder_triggered(self): original = ReminderTriggered("123456789", user_profile=UserProfile(True)) serialized = original.to_dict() deserialized = event_from_dict(serialized) self._make_base_assertions(original, deserialized)
def test_thank_you_received(self): original = ThankYouReceived(phone_number="123456789", user_profile=UserProfile(validated=True)) serialized = original.dict() deserialized = event_from_dict(serialized) self._make_base_assertions(original, deserialized)