Skip to content

Instantly share code, notes, and snippets.

@agusrichard
Last active May 16, 2022 22:34
Show Gist options
  • Save agusrichard/b3c75d92292db7080edec7d6d6b39151 to your computer and use it in GitHub Desktop.
Save agusrichard/b3c75d92292db7080edec7d6d6b39151 to your computer and use it in GitHub Desktop.
from django.test import TestCase
from django.contrib.auth.models import User
from todo.models import Todo
from ..forms import UserForm, TodoForm
REQUIRED_FIELD_ERROR = "This field is required."
class TestUserForm(TestCase):
def test_negative_register_empty_data_is_valid(self):
form = UserForm()
self.assertFalse(form.is_valid())
def test_negative_register_empty_data_error_message(self):
form = UserForm(data={"username": "", "password": ""})
self.assertEqual(form.errors["username"][0], REQUIRED_FIELD_ERROR)
self.assertEqual(form.errors["password"][0], REQUIRED_FIELD_ERROR)
def test_negative_register_empty_username_is_valid(self):
form = UserForm(data={"username": "", "password": "testpassword"})
self.assertFalse(form.is_valid())
def test_negative_register_empty_username_error_message(self):
form = UserForm(data={"username": "", "password": "testpassword"})
self.assertEqual(form.errors["username"][0], REQUIRED_FIELD_ERROR)
self.assertFalse("password" in form.errors)
def test_negative_register_empty_password_is_valid(self):
form = UserForm(data={"username": "testuser", "password": ""})
self.assertFalse(form.is_valid())
def test_negative_register_empty_password_error_message(self):
form = UserForm(data={"username": "testuser", "password": ""})
self.assertEqual(form.errors["password"][0], REQUIRED_FIELD_ERROR)
self.assertFalse("username" in form.errors)
def test_positive_register_valid_data(self):
form = UserForm(data={"username": "testuser", "password": "testpassword"})
self.assertTrue(form.is_valid())
class TestTodoForm(TestCase):
def setUp(self) -> None:
user = User(username="testuser")
user.set_password("testpassword")
user.save()
self.user = user
def test_negative_create_todo_empty_data_is_valid(self):
form = TodoForm()
self.assertFalse(form.is_valid())
def test_negative_create_todo_empty_data_error_message(self):
form = TodoForm(data={"title": "", "description": "", "user": None})
self.assertEqual(form.errors["title"][0], REQUIRED_FIELD_ERROR)
self.assertEqual(form.errors["description"][0], REQUIRED_FIELD_ERROR)
self.assertEqual(form.errors["user"][0], REQUIRED_FIELD_ERROR)
def test_negative_create_todo_empty_title_is_valid(self):
form = TodoForm(data={"title": "", "description": "test", "user": self.user})
self.assertFalse(form.is_valid())
def test_negative_create_todo_empty_title_error_message(self):
form = TodoForm(data={"title": "", "description": "test", "user": self.user})
self.assertEqual(form.errors["title"][0], REQUIRED_FIELD_ERROR)
self.assertFalse("description" in form.errors)
self.assertFalse("user" in form.errors)
def test_negative_create_todo_empty_description_is_valid(self):
form = TodoForm(data={"title": "test", "description": "", "user": self.user})
self.assertFalse(form.is_valid())
def test_negative_create_todo_empty_description_error_message(self):
form = TodoForm(data={"title": "test", "description": "", "user": self.user})
self.assertEqual(form.errors["description"][0], REQUIRED_FIELD_ERROR)
self.assertFalse("title" in form.errors)
self.assertFalse("user" in form.errors)
def test_negative_create_todo_empty_user_is_valid(self):
form = TodoForm(data={"title": "test", "description": "test", "user": None})
self.assertFalse(form.is_valid())
def test_negative_create_todo_empty_user_error_message(self):
form = TodoForm(data={"title": "test", "description": "test", "user": None})
self.assertEqual(form.errors["user"][0], REQUIRED_FIELD_ERROR)
self.assertFalse("title" in form.errors)
self.assertFalse("description" in form.errors)
def test_positive_create_todo(self):
form = TodoForm(
data={"title": "test", "description": "test", "user": self.user}
)
self.assertTrue(form.is_valid())
return form.save()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment