Last active
May 16, 2022 22:34
-
-
Save agusrichard/b3c75d92292db7080edec7d6d6b39151 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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