def test_send_config_image(self): # Arrange mailbox = Mailbox('+15555555555', carrier='Foo Wireless') mock_thread = MagicMock() # Act with patch('app.models.Thread', return_value=mock_thread) as MockThread: mailbox.send_config_image() # Assert body = MockThread.call_args[1]['args'][1] self.assertIn('Now get on with your life!', body) media_url = MockThread.call_args[1]['args'][3] self.assertEqual(media_url, 'http://localhost/config-image') assert mock_thread.start.called
def test_qr_codes_unsure(self): # Arrange mailbox = Mailbox( phone_number='+15555555555', carrier='Verizon Wireless', name='Jane Foo', email='*****@*****.**', call_forwarding_set=True) mailbox.send_config_image = MagicMock() # Act reply = _process_answer("I can take them or leave them", mailbox) # Assert self.assertIsNone(mailbox.feelings_on_qr_codes) self.assertIn('kidder', reply) self.assertFalse(mailbox.send_config_image.called)
def test_qr_codes_no(self): # Arrange mailbox = Mailbox( phone_number='+15555555555', carrier='Verizon Wireless', name='Jane Foo', email='*****@*****.**', call_forwarding_set=True) mailbox.send_config_image = MagicMock() # Act reply = _process_answer('not so much', mailbox) # Assert self.assertEqual(mailbox.feelings_on_qr_codes, 'hate') self.assertIn('for nerds', reply) self.assertFalse(mailbox.send_config_image.called)
def test_qr_codes_yes(self): # Arrange mailbox = Mailbox( phone_number='+15555555555', carrier='Verizon Wireless', name='Jane Foo', email='*****@*****.**', call_forwarding_set=True) mailbox.send_config_image = MagicMock() # Act reply = _process_answer('YEAH', mailbox) # Assert self.assertEqual(mailbox.feelings_on_qr_codes, 'love') self.assertIn('ME TOO', reply) mailbox.send_config_image.assert_called_once_with()