def test_empty_description(self): form = TaskForm({ 'reference': '123', 'description': '' # invalid }) self.assertFalse(form.is_valid()) self.assertIsNotNone(form.errors['description'])
def get_context_data(self, **kwargs): if 'form' not in kwargs: kwargs['form'] = TaskForm() if 'search_form' not in kwargs: kwargs['search_form'] = FileSearchForm() kwargs['object_list'] = Task.objects.all() return super().get_context_data(**kwargs)
def test_max_length_reference(self): form = TaskForm({ 'reference': 'a' * 129, # invalid 'description': 'valid', }) self.assertFalse(form.is_valid()) self.assertIn('reference', form.errors)
def test_render_reference_field(self): File.objects.create(reference='foo') form = TaskForm() html = '{}'.format(form['reference']) self.assertIn('input', html) self.assertIn('datalist', html) self.assertIn('id="reference_datalist"', html) self.assertIn('list="reference_datalist"', html) self.assertIn('<option value="foo">', html)
def test_create_task_with_empty_file_reference(self): # Creates no file, if reference is empty form = TaskForm({ 'reference': '', 'description': 'task description', }) form.is_valid() task = form.save() self.assertEqual(Task.objects.count(), 1) self.assertIsNone(task.file)
def test_create_task_with_unknown_file_reference(self): form = TaskForm({ 'reference': 'abcdef', 'description': 'task description', }) form.is_valid() task = form.save() self.assertEqual(Task.objects.count(), 1) self.assertEqual(File.objects.count(), 1) self.assertEqual(task.file.reference, 'abcdef')
def post(self, request): form = TaskForm(request.POST) if form.is_valid(): form.save() return redirect(reverse('index')) return self.render_to_response(self.get_context_data(form=form))
def test_initial_reference(self): form = TaskForm(initial={'reference': 'foo'}) self.assertEqual(form['reference'].value(), 'foo')
def test_render_description_field(self): form = TaskForm() html = '{}'.format(form['description']) self.assertNotIn('required', html)
def test_widget_context(self): File.objects.create(reference='foo') form = TaskForm() widget = form.fields['reference'].widget context = widget.get_context('foo', 'bar', {}) self.assertEqual(context['widget']['datalist'], [('foo', 'foo')])
def test_reference_widget_choices(self): File.objects.create(reference='foo') form = TaskForm() widget = form.fields['reference'].widget self.assertListEqual(list(widget.choices), [('foo', 'foo')])
def test_reference_widget_template(self): form = TaskForm() widget = form.fields['reference'].widget self.assertEqual(widget.template_name, 'timesheet/forms/widgets/datalist_input.html')