def test_error_template_on_whitespace_section_name(self, error_log, render, **mock_kwargs): """Edit Section should render correct template if the section name contains only whitespace""" request = self.edit_section_request_stub(section_name_input=' ') edit_section(request, self.section_id) render.assert_called_with(request, 'manage_sections/create_section_form.html', ANY, status=ANY)
def test_success_template(self, is_editable_section, get_section, render, **mock_kwargs): """ Ensure that correct template name rendered on success """ section_mock = MagicMock(name=self.section_name) get_section.return_value = section_mock is_editable_section.return_value = True request = self.edit_section_request_stub(section_name_input=self.section_name) edit_section(request, self.section_id) render.assert_called_once_with(request, 'manage_sections/section_list.html', ANY)
def test_error_status_on_missing_section_name(self, error_log, render, **mock_kwargs): """Edit Section should return return 400 if section name missing""" request = self.edit_section_request_stub() edit_section(request, self.section_id) render.assert_called_once_with( request, 'manage_sections/create_section_form.html', ANY, status=400)
def test_success_template_context_section(self, is_editable_section, get_section, update_section, render, **mock_kwargs): """ Ensure that updated section is passed in to template context """ section_mock = MagicMock(name=self.section_name) get_section.return_value = section_mock is_editable_section.return_value = True request = self.edit_section_request_stub(section_name_input=self.section_name) edit_section(request, self.section_id) render.assert_called_once_with(ANY, ANY, {'section': update_section.return_value})
def test_error_status_on_failed_section_update(self, error_log, is_editable_section, get_section, update_section, render, **mock_kwargs): """Ensure status code of 500 when call to update section returns None""" get_section.return_value = MagicMock(name=self.section_name) is_editable_section.return_value = True update_section.return_value = None request = self.edit_section_request_stub(section_name_input=self.section_name) edit_section(request, self.section_id) render.assert_called_once_with(ANY, ANY, ANY, status=500)
def test_update_section_util_params(self, is_editable_section, get_section, update_section, **mock_kwargs): """Ensure that the canvas util method to update a section is called with expected params""" get_section.return_value = MagicMock(name=self.section_name) is_editable_section.return_value = True request = self.edit_section_request_stub(section_name_input=self.section_name) edit_section(request, self.section_id) update_section.assert_called_once_with( self.canvas_course_id, self.section_id, course_section_name=self.section_name )
def test_error_status_on_exception_retrieving_section(self, error_log, is_editable_section, get_section, update_section, render, **mock_kwargs): """Ensure template renders a 500 status when update_section raises an exception""" get_section.return_value = MagicMock(name=self.section_name) update_section.side_effect = RuntimeError is_editable_section.return_value = True request = self.edit_section_request_stub(section_name_input=self.section_name) edit_section(request, self.section_id) render.assert_called_once_with(request, 'manage_sections/create_section_form.html', ANY, status=500)
def test_non_editable_section_returns_error(self, JsonResponse, is_editable_section, get_section, **mock_kwargs): """ Ensure a 422 status code is returned on an attempt to edit an uneditable section. """ section_mock = MagicMock(name=self.section_name) get_section.return_value = section_mock is_editable_section.return_value = False request = self.edit_section_request_stub( section_name_input=self.section_name) edit_section(request, self.section_id) JsonResponse.assert_called_once_with(ANY, status=422)
def test_enrollment_count_defaults_to_zero_on_updated_section(self, is_editable_section, get_section, update_section, **mock_kwargs): """Ensure if no enrollment_count is passed in with post params, it's set to 0 on updated section""" get_section.return_value = MagicMock(name=self.section_name) is_editable_section.return_value = True section_mock = MagicMock(name='updated_section') update_section.return_value = section_mock request = self.edit_section_request_stub(section_name_input=self.section_name) edit_section(request, self.section_id) section_mock.__setitem__.assert_called_once_with('enrollment_count', 0)
def test_success_template(self, is_editable_section, get_section, render, **mock_kwargs): """ Ensure that correct template name rendered on success """ section_mock = MagicMock(name=self.section_name) get_section.return_value = section_mock is_editable_section.return_value = True request = self.edit_section_request_stub( section_name_input=self.section_name) edit_section(request, self.section_id) render.assert_called_once_with(request, 'manage_sections/section_list.html', ANY)
def test_error_status_on_failed_section_update(self, error_log, is_editable_section, get_section, update_section, render, **mock_kwargs): """Ensure status code of 500 when call to update section returns None""" get_section.return_value = MagicMock(name=self.section_name) is_editable_section.return_value = True update_section.return_value = None request = self.edit_section_request_stub( section_name_input=self.section_name) edit_section(request, self.section_id) render.assert_called_once_with(ANY, ANY, ANY, status=500)
def test_success_template_context_section(self, is_editable_section, get_section, update_section, render, **mock_kwargs): """ Ensure that updated section is passed in to template context """ section_mock = MagicMock(name=self.section_name) get_section.return_value = section_mock is_editable_section.return_value = True request = self.edit_section_request_stub( section_name_input=self.section_name) edit_section(request, self.section_id) render.assert_called_once_with( ANY, ANY, {'section': update_section.return_value})
def test_error_template_on_failed_section_update(self, error_log, is_editable_section, get_section, update_section, render, **mock_kwargs): """Ensure right template is rendered when call to update section returns None""" get_section.return_value = MagicMock(name=self.section_name) is_editable_section.return_value = True update_section.return_value = None request = self.edit_section_request_stub(section_name_input=self.section_name) edit_section(request, self.section_id) render.assert_called_once_with(request, 'manage_sections/create_section_form.html', ANY, status=ANY)
def test_enrollment_count_defaults_to_zero_on_updated_section( self, is_editable_section, get_section, update_section, **mock_kwargs): """Ensure if no enrollment_count is passed in with post params, it's set to 0 on updated section""" get_section.return_value = MagicMock(name=self.section_name) is_editable_section.return_value = True section_mock = MagicMock(name='updated_section') update_section.return_value = section_mock request = self.edit_section_request_stub( section_name_input=self.section_name) edit_section(request, self.section_id) section_mock.__setitem__.assert_called_once_with('enrollment_count', 0)
def test_update_section_util_params(self, is_editable_section, get_section, update_section, **mock_kwargs): """Ensure that the canvas util method to update a section is called with expected params""" get_section.return_value = MagicMock(name=self.section_name) is_editable_section.return_value = True request = self.edit_section_request_stub( section_name_input=self.section_name) edit_section(request, self.section_id) update_section.assert_called_once_with( self.canvas_course_id, self.section_id, course_section_name=self.section_name)
def test_enrollment_count_set_on_updated_section(self, is_editable_section, get_section, update_section, **mock_kwargs): """Ensure enrollment count that is posted gets set on updated section""" get_section.return_value = MagicMock(name=self.section_name) is_editable_section.return_value = True section_mock = MagicMock(name='updated_section') update_section.return_value = section_mock enrollment_count = '150' # Post params get converted to strings request = self.edit_section_request_stub( section_name_input=self.section_name, enrollment_count=enrollment_count) edit_section(request, self.section_id) section_mock.__setitem__.assert_called_once_with( 'enrollment_count', enrollment_count)
def test_error_status_on_exception_retrieving_section( self, error_log, is_editable_section, get_section, update_section, render, **mock_kwargs): """Ensure template renders a 500 status when update_section raises an exception""" get_section.return_value = MagicMock(name=self.section_name) update_section.side_effect = RuntimeError is_editable_section.return_value = True request = self.edit_section_request_stub( section_name_input=self.section_name) edit_section(request, self.section_id) render.assert_called_once_with( request, 'manage_sections/create_section_form.html', ANY, status=500)
def test_error_template_on_failed_section_update(self, error_log, is_editable_section, get_section, update_section, render, **mock_kwargs): """Ensure right template is rendered when call to update section returns None""" get_section.return_value = MagicMock(name=self.section_name) is_editable_section.return_value = True update_section.return_value = None request = self.edit_section_request_stub( section_name_input=self.section_name) edit_section(request, self.section_id) render.assert_called_once_with( request, 'manage_sections/create_section_form.html', ANY, status=ANY)
def test_error_status_on_whitespace_section_name(self, error_log, render, **mock_kwargs): """Edit Section should return 400 if the section name contains only whitespace""" request = self.edit_section_request_stub(section_name_input=' ') edit_section(request, self.section_id) render.assert_called_once_with(request, ANY, ANY, status=400)
def test_render_on_whitespace_section_name(self, error_log, render, **mock_kwargs): """Edit Section should render correct template if the section name contains only whitespace""" request = self.edit_section_request_stub(section_name_input=' ') edit_section(request, self.section_id) render.assert_called_with(request, ANY, {}, status=ANY)
def test_error_status_on_missing_section_name(self, error_log, render, **mock_kwargs): """Edit Section should return return 400 if section name missing""" request = self.edit_section_request_stub() edit_section(request, self.section_id) render.assert_called_once_with(request, 'manage_sections/create_section_form.html', ANY, status=400)