From bbd0b89177345a8db7cd8fdaec959e0796ce313c Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Mon, 22 Nov 2021 01:12:50 +0200 Subject: [PATCH 01/11] Change users models Django default user already has email, first_name, last_name. I removed those 3 fields from our User and created a static method that will create our user with all required fields. Also included some tests - from now on we must write tests for each PR --- tasks/models.py | 9 ++++++--- users/migrations/0001_initial.py | 7 ++----- users/models.py | 19 +++++++++++++++---- users/tests.py | 31 +++++++++++++++++++++++++++++-- 4 files changed, 52 insertions(+), 14 deletions(-) diff --git a/tasks/models.py b/tasks/models.py index 492dafc..af5c4c1 100644 --- a/tasks/models.py +++ b/tasks/models.py @@ -19,8 +19,10 @@ class Priority(ChoiceEnum): class Task(models.Model): title = models.CharField(max_length=200) created_date = models.DateTimeField(auto_now_add=True) - assignee = models.ForeignKey(User, on_delete=models.RESTRICT, related_name='assigneeTasks') - created_by = models.ForeignKey(User, on_delete=models.RESTRICT, related_name='createdTasks') + assignee = models.ForeignKey( + User, on_delete=models.RESTRICT, related_name='assigneeTasks') + created_by = models.ForeignKey( + User, on_delete=models.RESTRICT, related_name='createdTasks') priority = EnumChoiceField(Priority, default=Priority.LOW, max_length=1) status = EnumChoiceField(Status, default=Status.BACKLOG, max_length=1) description = models.TextField(null=True, blank=True) @@ -30,7 +32,8 @@ def __str__(self) -> str: class Comment(models.Model): - user_id = models.ForeignKey(User, on_delete=models.RESTRICT, related_name='comments') + user_id = models.ForeignKey( + User, on_delete=models.RESTRICT, related_name='comments') task_id = models.ForeignKey(Task, on_delete=models.CASCADE) title = models.CharField(max_length=200) created_date = models.DateTimeField(auto_now_add=True) diff --git a/users/migrations/0001_initial.py b/users/migrations/0001_initial.py index e849c8f..b4533bd 100644 --- a/users/migrations/0001_initial.py +++ b/users/migrations/0001_initial.py @@ -27,13 +27,10 @@ class Migration(migrations.Migration): ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='auth.user')), - ('email', models.EmailField(max_length=255)), - ('first_name', models.CharField(max_length=255)), - ('last_name', models.CharField(max_length=255)), ('role', enumchoicefield.fields.EnumChoiceField(default=users.models.Role.EMPLOYEE, enum_class=users.models.Role, max_length=1)), - ('team_id', models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, related_name='users', - to='users.team')), + ('team', models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, related_name='users', + to='users.team')), ], ), ] diff --git a/users/models.py b/users/models.py index a1bc204..9950649 100644 --- a/users/models.py +++ b/users/models.py @@ -1,6 +1,7 @@ from django.db import models from enumchoicefield import ChoiceEnum, EnumChoiceField from django.conf import settings +from django.contrib.auth.models import User as DjangoUser # Enum @@ -21,12 +22,22 @@ def __str__(self) -> str: class User(models.Model): user = models.OneToOneField( settings.AUTH_USER_MODEL, on_delete=models.CASCADE, primary_key=True) - email = models.EmailField(max_length=255) - first_name = models.CharField(max_length=255) - last_name = models.CharField(max_length=255) role = EnumChoiceField(Role, default=Role.EMPLOYEE, max_length=1) - team_id = models.ForeignKey( + team = models.ForeignKey( Team, on_delete=models.RESTRICT, related_name='users') + @staticmethod + def create_user(username, email, password, first_name, last_name, role, team): + django_user = DjangoUser.objects.create_user(username=username, + email=email, + password=password, + first_name=first_name, + last_name=last_name) + user = User(user=django_user, + role=role, + team=team) + user.save() + return user + def __str__(self) -> str: return self.first_name diff --git a/users/tests.py b/users/tests.py index a79ca8b..57b72e0 100644 --- a/users/tests.py +++ b/users/tests.py @@ -1,3 +1,30 @@ -# from django.test import TestCase +from django.test import TestCase +from users.models import Role, User, Team -# Create your tests here. + +class TestUserModel(TestCase): + + def test_create_user(self): + username = "username" + password = "password" + email = "user@example.com" + first_name = "first_name" + last_name = "last_name" + name = "Alpha" + description = "best team ever" + team = Team.objects.create(name=name, description=description) + user = User.create_user( + username, email, password, first_name, last_name, Role.EMPLOYEE, team) + assert isinstance(user, User) + assert user.user.first_name == first_name + + +class TestTeamModel(TestCase): + + def test_create_team(self): + name = "Alpha" + description = "best team ever" + team = Team.objects.create(name=name, description=description) + assert isinstance(team, Team) + assert team.name == name + assert team.description == description From 997b7829fbc43612057b38f4f4f715583d0e6ce0 Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Mon, 22 Nov 2021 01:41:40 +0200 Subject: [PATCH 02/11] Removed _id from user and task I saw that django generates in the DB _id for each field that is foreign key. Better to remove it now. --- tasks/migrations/0002_initial.py | 4 ++-- tasks/models.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tasks/migrations/0002_initial.py b/tasks/migrations/0002_initial.py index 01a67c4..d6d2105 100644 --- a/tasks/migrations/0002_initial.py +++ b/tasks/migrations/0002_initial.py @@ -27,13 +27,13 @@ class Migration(migrations.Migration): ), migrations.AddField( model_name='comment', - name='task_id', + name='task', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='tasks.task'), ), migrations.AddField( model_name='comment', - name='user_id', + name='user', field=models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, related_name='comments', to='users.user'), ), diff --git a/tasks/models.py b/tasks/models.py index af5c4c1..a5beca6 100644 --- a/tasks/models.py +++ b/tasks/models.py @@ -32,9 +32,9 @@ def __str__(self) -> str: class Comment(models.Model): - user_id = models.ForeignKey( + user = models.ForeignKey( User, on_delete=models.RESTRICT, related_name='comments') - task_id = models.ForeignKey(Task, on_delete=models.CASCADE) + task = models.ForeignKey(Task, on_delete=models.CASCADE) title = models.CharField(max_length=200) created_date = models.DateTimeField(auto_now_add=True) description = models.TextField(null=True, blank=True) From b36ae1c3a0a82604d48958d6cf77637c7f701333 Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Mon, 22 Nov 2021 23:25:37 +0200 Subject: [PATCH 03/11] Refactor user and task tests - Change tests to pytest - Removed dummy test - Create factory for tests --- conftest.py | 42 ++++++++++++++++++++++++++++++++++++++++++ tests.py | 2 -- users/tests.py | 31 ++++++------------------------- 3 files changed, 48 insertions(+), 27 deletions(-) create mode 100644 conftest.py delete mode 100644 tests.py diff --git a/conftest.py b/conftest.py new file mode 100644 index 0000000..9e87b35 --- /dev/null +++ b/conftest.py @@ -0,0 +1,42 @@ +import pytest +from users.models import Role, User, Team + + +@pytest.fixture +def new_team_factory(db): + def create_team(name="Team1", + description="very good team"): + team = Team.objects.create(name=name, + description=description) + return team + return create_team + + +@pytest.fixture +def team_1(db, new_team_factory): + return new_team_factory() + + +@pytest.fixture +def new_user_factory(db, new_team_factory): + def create_user(username="username", + email="username@redhat.com", + password="password", + first_name="first_name", + last_name="last_name", + role=Role.EMPLOYEE, + team=new_team_factory("Team1", "Best team")): + user = User.create_user(username=username, + email=email, + password=password, + first_name=first_name, + last_name=last_name, + role=role, + team=team) + return user + return create_user + + +@pytest.fixture +def employee_1(db, new_user_factory): + return new_user_factory() diff --git a/tests.py b/tests.py deleted file mode 100644 index 0c4bd9c..0000000 --- a/tests.py +++ /dev/null @@ -1,2 +0,0 @@ -def test_dummy(): - assert 1 == 1 diff --git a/users/tests.py b/users/tests.py index 57b72e0..987b4e9 100644 --- a/users/tests.py +++ b/users/tests.py @@ -1,30 +1,11 @@ -from django.test import TestCase from users.models import Role, User, Team -class TestUserModel(TestCase): +def test_create_user(employee_1): + assert isinstance(employee_1, User) + assert employee_1.role == Role.EMPLOYEE - def test_create_user(self): - username = "username" - password = "password" - email = "user@example.com" - first_name = "first_name" - last_name = "last_name" - name = "Alpha" - description = "best team ever" - team = Team.objects.create(name=name, description=description) - user = User.create_user( - username, email, password, first_name, last_name, Role.EMPLOYEE, team) - assert isinstance(user, User) - assert user.user.first_name == first_name - -class TestTeamModel(TestCase): - - def test_create_team(self): - name = "Alpha" - description = "best team ever" - team = Team.objects.create(name=name, description=description) - assert isinstance(team, Team) - assert team.name == name - assert team.description == description +def test_create_team(team_1): + assert isinstance(team_1, Team) + assert team_1.name == "Team1" From 5ea590e0e31843024900c93659924ee1cec4a54e Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Tue, 23 Nov 2021 19:20:08 +0200 Subject: [PATCH 04/11] Fix representation for admin panel On admin panel first_name no longer exists so it failed. Changed it to take the username from auth user. --- users/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/models.py b/users/models.py index 9950649..c156b4b 100644 --- a/users/models.py +++ b/users/models.py @@ -40,4 +40,4 @@ def create_user(username, email, password, first_name, last_name, role, team): return user def __str__(self) -> str: - return self.first_name + return self.user.username From dd13e091d491c6e6be7bf4515e3531cd97a999f7 Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Tue, 23 Nov 2021 20:28:57 +0200 Subject: [PATCH 05/11] Added related_name='comments' to task foreign key --- tasks/models.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tasks/models.py b/tasks/models.py index a5beca6..83866f7 100644 --- a/tasks/models.py +++ b/tasks/models.py @@ -34,7 +34,8 @@ def __str__(self) -> str: class Comment(models.Model): user = models.ForeignKey( User, on_delete=models.RESTRICT, related_name='comments') - task = models.ForeignKey(Task, on_delete=models.CASCADE) + task = models.ForeignKey( + Task, on_delete=models.CASCADE, related_name='comments') title = models.CharField(max_length=200) created_date = models.DateTimeField(auto_now_add=True) description = models.TextField(null=True, blank=True) From 3e86120f96e340a2b1803fe0ffd358882d80b64e Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Tue, 23 Nov 2021 20:31:19 +0200 Subject: [PATCH 06/11] fix related_name='comments' in migrations --- tasks/migrations/0002_initial.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/migrations/0002_initial.py b/tasks/migrations/0002_initial.py index d6d2105..fa62a1d 100644 --- a/tasks/migrations/0002_initial.py +++ b/tasks/migrations/0002_initial.py @@ -29,7 +29,7 @@ class Migration(migrations.Migration): model_name='comment', name='task', field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to='tasks.task'), + on_delete=django.db.models.deletion.CASCADE, to='tasks.task', related_name='comments'), ), migrations.AddField( model_name='comment', From 2556f41735bab3d80f9f9968a5420475c0dd4604 Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Thu, 25 Nov 2021 18:17:39 +0200 Subject: [PATCH 07/11] Refactor tests - removed conftest.py - added tests in classes - changed models realated_name --- conftest.py | 42 ------------------- tasks/migrations/0002_initial.py | 2 +- tasks/models.py | 2 +- users/migrations/0001_initial.py | 2 +- users/models.py | 2 +- users/tests.py | 70 +++++++++++++++++++++++++++++--- 6 files changed, 68 insertions(+), 52 deletions(-) delete mode 100644 conftest.py diff --git a/conftest.py b/conftest.py deleted file mode 100644 index 9e87b35..0000000 --- a/conftest.py +++ /dev/null @@ -1,42 +0,0 @@ -import pytest -from users.models import Role, User, Team - - -@pytest.fixture -def new_team_factory(db): - def create_team(name="Team1", - description="very good team"): - team = Team.objects.create(name=name, - description=description) - return team - return create_team - - -@pytest.fixture -def team_1(db, new_team_factory): - return new_team_factory() - - -@pytest.fixture -def new_user_factory(db, new_team_factory): - def create_user(username="username", - email="username@redhat.com", - password="password", - first_name="first_name", - last_name="last_name", - role=Role.EMPLOYEE, - team=new_team_factory("Team1", "Best team")): - user = User.create_user(username=username, - email=email, - password=password, - first_name=first_name, - last_name=last_name, - role=role, - team=team) - return user - return create_user - - -@pytest.fixture -def employee_1(db, new_user_factory): - return new_user_factory() diff --git a/tasks/migrations/0002_initial.py b/tasks/migrations/0002_initial.py index fa62a1d..69d8fd3 100644 --- a/tasks/migrations/0002_initial.py +++ b/tasks/migrations/0002_initial.py @@ -29,7 +29,7 @@ class Migration(migrations.Migration): model_name='comment', name='task', field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to='tasks.task', related_name='comments'), + on_delete=django.db.models.deletion.CASCADE, to='tasks.task', related_name='task'), ), migrations.AddField( model_name='comment', diff --git a/tasks/models.py b/tasks/models.py index 83866f7..54e6546 100644 --- a/tasks/models.py +++ b/tasks/models.py @@ -35,7 +35,7 @@ class Comment(models.Model): user = models.ForeignKey( User, on_delete=models.RESTRICT, related_name='comments') task = models.ForeignKey( - Task, on_delete=models.CASCADE, related_name='comments') + Task, on_delete=models.CASCADE, related_name='task') title = models.CharField(max_length=200) created_date = models.DateTimeField(auto_now_add=True) description = models.TextField(null=True, blank=True) diff --git a/users/migrations/0001_initial.py b/users/migrations/0001_initial.py index b4533bd..8ac29d2 100644 --- a/users/migrations/0001_initial.py +++ b/users/migrations/0001_initial.py @@ -29,7 +29,7 @@ class Migration(migrations.Migration): to='auth.user')), ('role', enumchoicefield.fields.EnumChoiceField(default=users.models.Role.EMPLOYEE, enum_class=users.models.Role, max_length=1)), - ('team', models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, related_name='users', + ('team', models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, related_name='team', to='users.team')), ], ), diff --git a/users/models.py b/users/models.py index c156b4b..33da36e 100644 --- a/users/models.py +++ b/users/models.py @@ -24,7 +24,7 @@ class User(models.Model): settings.AUTH_USER_MODEL, on_delete=models.CASCADE, primary_key=True) role = EnumChoiceField(Role, default=Role.EMPLOYEE, max_length=1) team = models.ForeignKey( - Team, on_delete=models.RESTRICT, related_name='users') + Team, on_delete=models.RESTRICT, related_name='team') @staticmethod def create_user(username, email, password, first_name, last_name, role, team): diff --git a/users/tests.py b/users/tests.py index 987b4e9..0904a3f 100644 --- a/users/tests.py +++ b/users/tests.py @@ -1,11 +1,69 @@ +import pytest from users.models import Role, User, Team -def test_create_user(employee_1): - assert isinstance(employee_1, User) - assert employee_1.role == Role.EMPLOYEE +@pytest.mark.django_db +class TestTeams: + @pytest.fixture + def valid_teams(self): + team_1 = Team.objects.create( + name="Team1", description="Best team ever") + team_2 = Team.objects.create( + name="Team2", description="Best team ever") + team_3 = Team.objects.create( + name="Team3", description="Best team ever") + return team_1, team_2, team_3 -def test_create_team(team_1): - assert isinstance(team_1, Team) - assert team_1.name == "Team1" + def test_create_teams(self, valid_teams): + for team in valid_teams: + assert isinstance(team, Team) + assert Team.objects.filter(id=team.id).exists() + + def test_create_team_without_title(self): + with pytest.raises(Exception): + Team.objects.create('', "Best team ever") + + +@pytest.mark.django_db +class TestUsers: + + @pytest.fixture + def team_1(self): + return Team.objects.create(name="Team1", description="Best team ever") + + @pytest.fixture + def employee_1(self, team_1): + user1 = User.create_user( + username="user1", + email="user1@redhat.com", + password="password", + first_name="first_name", + last_name="last_name", + role=Role.EMPLOYEE, + team=team_1) + return user1 + + def test_create_user(self, employee_1): + assert isinstance(employee_1, User) + assert User.objects.filter(user=employee_1.user).exists() + + def test_create_user_without_email(self): + with pytest.raises(Exception): + User.create_user( + username="user1", + email="user1@redhat.com", + password="password", + last_name="last_name", + role=Role.EMPLOYEE, + team=TestTeams.valid_team) + + def test_create_user_with_long_name(self): + with pytest.raises(Exception): + User.create_user( + username="user1", + email="user1@redhat.com", + password="password", + last_name="last_name", + role=Role.EMPLOYEE, + team=TestTeams.valid_team) From 749aface0e7f4c87ac28e8993b5d01bbb8a8eb5c Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Thu, 25 Nov 2021 18:42:09 +0200 Subject: [PATCH 08/11] Fix user related_name on Comment model --- tasks/migrations/0002_initial.py | 4 ++-- tasks/models.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tasks/migrations/0002_initial.py b/tasks/migrations/0002_initial.py index 69d8fd3..68b65cb 100644 --- a/tasks/migrations/0002_initial.py +++ b/tasks/migrations/0002_initial.py @@ -33,8 +33,8 @@ class Migration(migrations.Migration): ), migrations.AddField( model_name='comment', - name='user', - field=models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, related_name='comments', + name='appUser', + field=models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, related_name='appUser', to='users.user'), ), ] diff --git a/tasks/models.py b/tasks/models.py index 54e6546..23a4461 100644 --- a/tasks/models.py +++ b/tasks/models.py @@ -32,8 +32,8 @@ def __str__(self) -> str: class Comment(models.Model): - user = models.ForeignKey( - User, on_delete=models.RESTRICT, related_name='comments') + appUser = models.ForeignKey( + User, on_delete=models.RESTRICT, related_name='appUser') task = models.ForeignKey( Task, on_delete=models.CASCADE, related_name='task') title = models.CharField(max_length=200) From 6483ba69ca4f458259fb0a758b8ce2cd289a8b6d Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Fri, 26 Nov 2021 12:24:51 +0200 Subject: [PATCH 09/11] fixed delete user --- demo_script.py | 29 +++++++++++++++++++++++++++++ users/models.py | 17 +++++++++++------ users/tests.py | 7 +++++++ 3 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 demo_script.py diff --git a/demo_script.py b/demo_script.py new file mode 100644 index 0000000..04bcbb1 --- /dev/null +++ b/demo_script.py @@ -0,0 +1,29 @@ +from users.models import * +from tasks.models import * +from django.contrib.auth.models import User as DjangoUser + + +class Demo(): + + def __init__(self) -> None: + pass + + def create(self): + self.managersTeam = Team.objects.create( + name="Managers", description="control all") + self.employeesTeam = Team.objects.create( + name="Employees", description="doing all") + + self.managers = [User.create_user(f"user{i}", f"user{i}@redhat.com", "Aa12345", + f"Paul", f"Cormier", Role.MANAGER, self.managersTeam) for i in range(3)] + + self.employees = [User.create_user(f"user{i}", f"user{i}@redhat.com", + "Aa12345", f"Elon", f"Musk", Role.EMPLOYEE, self.employeesTeam) for i in range(3, 6)] + + def delete(self): + User.objects.all().delete() + Team.objects.all().delete() + DjangoUser.objects.all().delete() + + +demo = Demo() diff --git a/users/models.py b/users/models.py index 33da36e..9ce6578 100644 --- a/users/models.py +++ b/users/models.py @@ -21,7 +21,7 @@ def __str__(self) -> str: class User(models.Model): user = models.OneToOneField( - settings.AUTH_USER_MODEL, on_delete=models.CASCADE, primary_key=True) + DjangoUser, on_delete=models.CASCADE, primary_key=True) role = EnumChoiceField(Role, default=Role.EMPLOYEE, max_length=1) team = models.ForeignKey( Team, on_delete=models.RESTRICT, related_name='team') @@ -33,11 +33,16 @@ def create_user(username, email, password, first_name, last_name, role, team): password=password, first_name=first_name, last_name=last_name) - user = User(user=django_user, - role=role, - team=team) - user.save() - return user + if(isinstance(django_user, DjangoUser)): + user = User.objects.create(user=django_user, + role=role, + team=team) + return user + else: + raise Exception("Error creating user") + + def delete(self, *args, **kwargs): + self.user.delete() def __str__(self) -> str: return self.user.username diff --git a/users/tests.py b/users/tests.py index 0904a3f..84b8f93 100644 --- a/users/tests.py +++ b/users/tests.py @@ -1,5 +1,6 @@ import pytest from users.models import Role, User, Team +from django.contrib.auth.models import User as DjangoUser @pytest.mark.django_db @@ -48,6 +49,12 @@ def test_create_user(self, employee_1): assert isinstance(employee_1, User) assert User.objects.filter(user=employee_1.user).exists() + def test_delete_user(self, employee_1): + userId = employee_1.user.id + employee_1.delete() + assert not User.objects.filter(user=userId).exists() + assert not DjangoUser.objects.filter(pk=userId).exists() + def test_create_user_without_email(self): with pytest.raises(Exception): User.create_user( From b05b0133885c9f32cba5cd2af920c9c18f5d56f5 Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Fri, 26 Nov 2021 12:33:07 +0200 Subject: [PATCH 10/11] fix flake8 --- demo_script.py | 29 ----------------------------- users/models.py | 1 - 2 files changed, 30 deletions(-) delete mode 100644 demo_script.py diff --git a/demo_script.py b/demo_script.py deleted file mode 100644 index 04bcbb1..0000000 --- a/demo_script.py +++ /dev/null @@ -1,29 +0,0 @@ -from users.models import * -from tasks.models import * -from django.contrib.auth.models import User as DjangoUser - - -class Demo(): - - def __init__(self) -> None: - pass - - def create(self): - self.managersTeam = Team.objects.create( - name="Managers", description="control all") - self.employeesTeam = Team.objects.create( - name="Employees", description="doing all") - - self.managers = [User.create_user(f"user{i}", f"user{i}@redhat.com", "Aa12345", - f"Paul", f"Cormier", Role.MANAGER, self.managersTeam) for i in range(3)] - - self.employees = [User.create_user(f"user{i}", f"user{i}@redhat.com", - "Aa12345", f"Elon", f"Musk", Role.EMPLOYEE, self.employeesTeam) for i in range(3, 6)] - - def delete(self): - User.objects.all().delete() - Team.objects.all().delete() - DjangoUser.objects.all().delete() - - -demo = Demo() diff --git a/users/models.py b/users/models.py index 9ce6578..a2f54e4 100644 --- a/users/models.py +++ b/users/models.py @@ -1,6 +1,5 @@ from django.db import models from enumchoicefield import ChoiceEnum, EnumChoiceField -from django.conf import settings from django.contrib.auth.models import User as DjangoUser From 0d73234c70b14bc94266310502603fdfa877a8cd Mon Sep 17 00:00:00 2001 From: Aviv Liberman Date: Fri, 26 Nov 2021 12:45:51 +0200 Subject: [PATCH 11/11] Fixed tests removed email from test_create_user_without_email added long name to test_create_user_with_long_name --- users/tests.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/users/tests.py b/users/tests.py index 84b8f93..58cfd11 100644 --- a/users/tests.py +++ b/users/tests.py @@ -59,18 +59,22 @@ def test_create_user_without_email(self): with pytest.raises(Exception): User.create_user( username="user1", - email="user1@redhat.com", password="password", + first_name="first_name", last_name="last_name", role=Role.EMPLOYEE, team=TestTeams.valid_team) def test_create_user_with_long_name(self): + longName = """ this is a very + long string if I had the + energy to type more and more ...""" with pytest.raises(Exception): User.create_user( username="user1", email="user1@redhat.com", password="password", + first_name=longName, last_name="last_name", role=Role.EMPLOYEE, team=TestTeams.valid_team)