def test_form_validation_for_blank_title(self): form = NewAdventureForm(data={'title': ''}) self.assertFalse(form.is_valid()) self.assertEqual( form.errors['title'], ["Your adventure needs a title!"] )
def test_form_validation_for_duplicate_title(self): form1 = NewAdventureForm(data={'title': 'Adventure'}) form1.save() form2 = NewAdventureForm(data={'title': 'Adventure'}) self.assertFalse(form2.is_valid()) self.assertEqual( form2.errors['title'], ["There is already an adventure with this title!"] )
def new_adventure(request): if request.method == 'POST': form = NewAdventureForm(request.POST) if form.is_valid(): adventure_ = form.save() return redirect(adventure_) else: form = NewAdventureForm() return render(request, 'new_adventure.html', {'form': form})
def test_form_validation_for_duplicate_title(self): form1 = NewAdventureForm(data={'title': 'Adventure'}) form1.save() form2 = NewAdventureForm(data={'title': 'Adventure'}) self.assertFalse(form2.is_valid()) self.assertEqual(form2.errors['title'], ["There is already an adventure with this title!"])
def test_form_renders_title_input_has_placeholder_and_css_classes(self): form = NewAdventureForm() self.assertIn('placeholder="The Mysterious Quest"', form.as_p()) self.assertIn('class="form-control input-lg"', form.as_p())
def test_form_save(self): form = NewAdventureForm(data={'title': 'Test Adventure'}) new_adventure = form.save() print(Adventure.objects.all()) self.assertEqual(new_adventure, Adventure.objects.all()[0])
def test_form_has_submit_button_with_correct_css_and_attributes(self): # This test assumes the submit button is the first input added to FormHelper form = NewAdventureForm() self.assertIn('btn-primary', form.helper.inputs[0].field_classes) self.assertIn('id_save_button', form.helper.inputs[0].id)
def test_form_validation_for_blank_title(self): form = NewAdventureForm(data={'title': ''}) self.assertFalse(form.is_valid()) self.assertEqual(form.errors['title'], ["Your adventure needs a title!"])
def test_get_absolute_url(self): form = NewAdventureForm(data={'title': 'A new adventure'}) new_adventure = form.save() self.assertEqual('/edit/1/', new_adventure.get_absolute_url())