def test_passing_mismatching_task_entries_raises_an_exception(self): task_entry = self._new_open_task() improvements_services.put_tasks([task_entry]) task_entry_model = (improvements_models.TaskEntryModel.get_by_id( task_entry.task_id)) task_entry.target_id = 'Different State' with self.assertRaisesRegex(Exception, 'Wrong model provided'): improvements_services.apply_changes_to_model( task_entry, task_entry_model)
def test_returns_false_when_task_is_equalivalent_to_model(self): task_entry = self._new_open_task() improvements_services.put_tasks([task_entry]) task_entry_model = (improvements_models.TaskEntryModel.get_by_id( task_entry.task_id)) self.assertFalse( improvements_services.apply_changes_to_model( task_entry, task_entry_model))
def test_makes_changes_when_issue_description_is_different(self): task_entry = self._new_open_task() improvements_services.put_tasks([task_entry]) task_entry_model = (improvements_models.TaskEntryModel.get_by_id( task_entry.task_id)) task_entry.issue_description = 'new issue description' self.assertTrue( improvements_services.apply_changes_to_model( task_entry, task_entry_model)) self.assertEqual(task_entry_model.issue_description, 'new issue description')
def test_no_changes_made_if_only_resolved_on_is_different(self): task_entry = self._new_open_task() improvements_services.put_tasks([task_entry]) task_entry_model = (improvements_models.TaskEntryModel.get_by_id( task_entry.task_id)) task_entry.resolved_on = self.owner_id self.assertFalse( improvements_services.apply_changes_to_model( task_entry, task_entry_model)) self.assertEqual(task_entry_model.status, constants.TASK_STATUS_OPEN) self.assertIsNone(task_entry_model.resolved_on) self.assertIsNone(task_entry_model.resolved_on)
def test_makes_changes_to_status_related_fields_if_status_is_different( self): task_entry = self._new_open_task() improvements_services.put_tasks([task_entry]) task_entry_model = (improvements_models.TaskEntryModel.get_by_id( task_entry.task_id)) task_entry = self._new_resolved_task() self.assertTrue( improvements_services.apply_changes_to_model( task_entry, task_entry_model)) self.assertEqual(task_entry_model.status, improvements_models.TASK_STATUS_RESOLVED) self.assertEqual(task_entry_model.resolver_id, self.owner_id) self.assertEqual(task_entry_model.resolved_on, self.MOCK_DATE)