예제 #1
0
 def test_creating_feedback_sends_data_to_jira(self, mock_JIRA):
     for delivered in [False, True]:
         mock_JIRA.reset_mock()
         feedback = FeedbackFactory(
             service=self.test_service,
             delivered=delivered,
             difficulty_contacting='didntknow',
             extra_comments='I have a little dog',
         )
         jira_record = feedback.jira_records.get()
         self.assertEqual(jira_record.feedback, feedback)
         self.assertEqual('', jira_record.jira_issue_key)
         self.setup_issue_key(mock_JIRA)
         jira_project = 'XYZ'
         with override_settings(JIRA_FEEDBACK_PROJECT_KEY=jira_project):
             jira_record.do_jira_work()
         mock_JIRA.return_value.create_issue.assert_called_with(
             issuetype={'name': 'Task'},
             summary='Feedback about %s' % feedback.service.name_en,
             project={'key': jira_project},
             description=mock.ANY,
             duedate=mock.ANY,
         )
         description = mock_JIRA.return_value.create_issue.call_args[1]['description']
         self.assertIn(feedback.name, description)
         self.assertIn(feedback.nationality.name_en, description)
         self.assertIn(feedback.phone_number, description)
         self.assertIn(feedback.service.name_en, description)
         if delivered:
             self.assertIn('Quality', description)
             self.assertIn(feedback.get_wait_time_display(), description)
         else:
             self.assertNotIn('Quality', description)
             self.assertIn(feedback.get_non_delivery_explained_display(), description)
         self.assertIn('Did not know how to contact them', description)
         self.assertIn('I have a little dog', description)