def test_get_context_data(self, initialize_task_data_mock: MagicMock, _get_task_mock: MagicMock): request = self.factory.get(self.fake_path) view = TaskView() view = setup_view(view, request) view.task = AbstractTask() context = view.get_context_data() self.assertIsInstance(context['task'], AbstractTask) self.assertEqual(context['task'], view.task)
def test_get_context_data_presenter_typeerror( self, get_presenter_mock: MagicMock, initialize_task_data_mock: MagicMock, _get_task_mock: MagicMock): get_presenter_mock.side_effect = TypeError request = self.factory.get(self.fake_path) view = TaskView() view = setup_view(view, request) view.task = AbstractTask() with self.assertRaises(PresenterNotDefined): view.get_context_data()
def test_initialize_task_data(self, klass_from_name_mock: MagicMock): del self.task_data['info']['task_form'] request = self.factory.get(self.fake_path) view = TaskView() view = setup_view(view, request) view.task = AbstractTask(**self.task_data) view.initialize_task_data() # TODO: divide to 2 test cases # self.assertEqual(view.template_name, self.task_data.get('info').get('template_name')) self.assertEqual(view.template_name, self.task_data.get('info').get('template_name'))
def test_get_context_data(self, initialize_task_data_mock: MagicMock, _get_task_mock: MagicMock): request = self.factory.get(self.fake_path) view = TaskView() view = setup_view(view, request) view.task = AbstractTask() context = view.get_context_data() self.assertIsInstance(context['task'], AbstractTask) self.assertEqual(context['task'], view.task) self.assertEqual(context['project_id'], PYBOSSA_PROJECT_ID) from moonsheep.settings import PYBOSSA_BASE_URL self.assertEqual(context['pybossa_url'], PYBOSSA_BASE_URL)
def test_get_no_tasks(self, get_context_data_mock: MagicMock, _get_form_class_data_mock: MagicMock, _get_task_mock: MagicMock): _get_task_mock.side_effect = NoTasksLeft request = self.factory.get(self.fake_path) view = TaskView() view = setup_view(view, request, **self.task_data) view.task = AbstractTask() view.template_name = self.template_name response = view.get(request) self.assertEqual(view.task, None) self.assertEqual(view.error_message, 'Broker returned no tasks') self.assertEqual(view.error_template, 'error-messages/no-tasks.html') self.assertEqual(response.status_code, 200) _get_task_mock.assert_any_call() _get_form_class_data_mock.assert_not_called() get_context_data_mock.assert_any_call()
def test_get_presenter_not_defined(self, get_context_data_mock: MagicMock, _get_form_class_data_mock: MagicMock, _get_task_mock: MagicMock): _get_task_mock.side_effect = PresenterNotDefined request = self.factory.get(self.fake_path) view = TaskView() view = setup_view(view, request, **self.task_data) view.task = AbstractTask() view.template_name = self.template_name response = view.get(request) self.assertEqual(view.task, None) self.assertEqual(view.error_message, 'Presenter not defined') self.assertEqual(view.error_template, 'error-messages/presenter-not-defined.html') self.assertEqual(response.status_code, 200) _get_task_mock.assert_any_call() _get_form_class_data_mock.assert_not_called() get_context_data_mock.assert_any_call()
def test_get_improperly_configured(self, get_context_data_mock: MagicMock, _get_form_class_data_mock: MagicMock, _get_task_mock: MagicMock): _get_task_mock.side_effect = ImproperlyConfigured request = self.factory.get(self.fake_path) view = TaskView() view = setup_view(view, request, **self.task_data) view.task = AbstractTask() view.template_name = self.template_name response = view.get(request) self.assertEqual(view.task, None) self.assertEqual(view.error_message, 'Improperly configured PyBossa') self.assertEqual(view.error_template, 'error-messages/improperly-configured.html') self.assertEqual(response.status_code, 200) _get_task_mock.assert_any_call() _get_form_class_data_mock.assert_not_called() get_context_data_mock.assert_any_call()