refactor tests
parent
7e9328befb
commit
b8dcca672a
|
@ -602,7 +602,7 @@ class UserStoryDueDateViewSet(BlockedByProjectMixin, ModelCrudViewSet):
|
||||||
def pre_delete(self, obj):
|
def pre_delete(self, obj):
|
||||||
if obj.by_default:
|
if obj.by_default:
|
||||||
raise exc.BadRequest(
|
raise exc.BadRequest(
|
||||||
_("You can't delete user story by default due date"))
|
_("You can't delete user story due date by default"))
|
||||||
|
|
||||||
@list_route(methods=["POST"])
|
@list_route(methods=["POST"])
|
||||||
def create_default(self, request, **kwargs):
|
def create_default(self, request, **kwargs):
|
||||||
|
@ -676,6 +676,11 @@ class TaskDueDateViewSet(BlockedByProjectMixin, ModelCrudViewSet):
|
||||||
with advisory_lock("task-due-date-creation-{}".format(project_id)):
|
with advisory_lock("task-due-date-creation-{}".format(project_id)):
|
||||||
return super().create(request, *args, **kwargs)
|
return super().create(request, *args, **kwargs)
|
||||||
|
|
||||||
|
def pre_delete(self, obj):
|
||||||
|
if obj.by_default:
|
||||||
|
raise exc.BadRequest(
|
||||||
|
_("You can't delete task due date by default"))
|
||||||
|
|
||||||
@list_route(methods=["POST"])
|
@list_route(methods=["POST"])
|
||||||
def create_default(self, request, **kwargs):
|
def create_default(self, request, **kwargs):
|
||||||
context = {
|
context = {
|
||||||
|
@ -812,6 +817,11 @@ class IssueDueDateViewSet(BlockedByProjectMixin, ModelCrudViewSet):
|
||||||
with advisory_lock("issue-due-date-creation-{}".format(project_id)):
|
with advisory_lock("issue-due-date-creation-{}".format(project_id)):
|
||||||
return super().create(request, *args, **kwargs)
|
return super().create(request, *args, **kwargs)
|
||||||
|
|
||||||
|
def pre_delete(self, obj):
|
||||||
|
if obj.by_default:
|
||||||
|
raise exc.BadRequest(
|
||||||
|
_("You can't delete issue due date by default"))
|
||||||
|
|
||||||
@list_route(methods=["POST"])
|
@list_route(methods=["POST"])
|
||||||
def create_default(self, request, **kwargs):
|
def create_default(self, request, **kwargs):
|
||||||
context = {
|
context = {
|
||||||
|
|
|
@ -2341,34 +2341,8 @@ def test_prevent_create_us_default_due_dates_when_already_exists(client):
|
||||||
assert project.us_duedates.count() == 1
|
assert project.us_duedates.count() == 1
|
||||||
|
|
||||||
|
|
||||||
def test_create_issue_default_due_dates(client):
|
def test_prevent_delete_us_default_due_dates(client):
|
||||||
project = f.create_project()
|
us_duedates = [{
|
||||||
|
|
||||||
issue_duedates = [{
|
|
||||||
"name": 'Default',
|
|
||||||
"slug": 'default',
|
|
||||||
"by_default": True,
|
|
||||||
'color': '#0000',
|
|
||||||
'days_to_due': None,
|
|
||||||
'order': 0,
|
|
||||||
}]
|
|
||||||
creation_template = project.creation_template
|
|
||||||
creation_template.issue_duedates = issue_duedates
|
|
||||||
creation_template.save()
|
|
||||||
|
|
||||||
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
|
||||||
url = reverse('issue-due-dates-create-default')
|
|
||||||
data = {"project_id": project.pk}
|
|
||||||
client.login(project.owner)
|
|
||||||
|
|
||||||
response = client.json.post(url, json.dumps(data))
|
|
||||||
|
|
||||||
assert response.status_code == 200
|
|
||||||
assert project.issue_duedates.count() == 1
|
|
||||||
|
|
||||||
|
|
||||||
def test_prevent_create_issue_default_due_dates_when_already_exists(client):
|
|
||||||
issue_duedates = [{
|
|
||||||
"name": 'Default',
|
"name": 'Default',
|
||||||
"slug": 'default',
|
"slug": 'default',
|
||||||
"by_default": True,
|
"by_default": True,
|
||||||
|
@ -2377,18 +2351,17 @@ def test_prevent_create_issue_default_due_dates_when_already_exists(client):
|
||||||
'order': 0,
|
'order': 0,
|
||||||
}]
|
}]
|
||||||
f.ProjectTemplateFactory.create(
|
f.ProjectTemplateFactory.create(
|
||||||
slug=settings.DEFAULT_PROJECT_TEMPLATE, issue_duedates=issue_duedates)
|
slug=settings.DEFAULT_PROJECT_TEMPLATE, us_duedates=us_duedates)
|
||||||
project = f.create_project()
|
project = f.create_project()
|
||||||
|
|
||||||
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
||||||
url = reverse('issue-due-dates-create-default')
|
url = reverse('userstory-due-dates-detail', kwargs={"pk": 1})
|
||||||
data = {"project_id": project.pk}
|
|
||||||
client.login(project.owner)
|
client.login(project.owner)
|
||||||
|
|
||||||
response = client.json.post(url, json.dumps(data))
|
response = client.json.delete(url)
|
||||||
|
|
||||||
assert response.status_code == 400
|
assert response.status_code == 400
|
||||||
assert project.issue_duedates.count() == 1
|
assert project.us_duedates.count() == 1
|
||||||
|
|
||||||
|
|
||||||
def test_create_task_default_due_dates(client):
|
def test_create_task_default_due_dates(client):
|
||||||
|
@ -2439,3 +2412,99 @@ def test_prevent_create_task_default_due_dates_when_already_exists(client):
|
||||||
|
|
||||||
assert response.status_code == 400
|
assert response.status_code == 400
|
||||||
assert project.task_duedates.count() == 1
|
assert project.task_duedates.count() == 1
|
||||||
|
|
||||||
|
|
||||||
|
def test_prevent_delete_task_default_due_dates(client):
|
||||||
|
task_duedates = [{
|
||||||
|
"name": 'Default',
|
||||||
|
"slug": 'default',
|
||||||
|
"by_default": True,
|
||||||
|
'color': '#0000',
|
||||||
|
'days_to_due': None,
|
||||||
|
'order': 0,
|
||||||
|
}]
|
||||||
|
f.ProjectTemplateFactory.create(
|
||||||
|
slug=settings.DEFAULT_PROJECT_TEMPLATE, task_duedates=task_duedates)
|
||||||
|
project = f.create_project()
|
||||||
|
|
||||||
|
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
||||||
|
url = reverse('task-due-dates-detail', kwargs={"pk": 1})
|
||||||
|
client.login(project.owner)
|
||||||
|
|
||||||
|
response = client.json.delete(url)
|
||||||
|
|
||||||
|
assert response.status_code == 400
|
||||||
|
assert project.task_duedates.count() == 1
|
||||||
|
|
||||||
|
|
||||||
|
def test_create_issue_default_due_dates(client):
|
||||||
|
project = f.create_project()
|
||||||
|
|
||||||
|
issue_duedates = [{
|
||||||
|
"name": 'Default',
|
||||||
|
"slug": 'default',
|
||||||
|
"by_default": True,
|
||||||
|
'color': '#0000',
|
||||||
|
'days_to_due': None,
|
||||||
|
'order': 0,
|
||||||
|
}]
|
||||||
|
creation_template = project.creation_template
|
||||||
|
creation_template.issue_duedates = issue_duedates
|
||||||
|
creation_template.save()
|
||||||
|
|
||||||
|
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
||||||
|
url = reverse('issue-due-dates-create-default')
|
||||||
|
data = {"project_id": project.pk}
|
||||||
|
client.login(project.owner)
|
||||||
|
|
||||||
|
response = client.json.post(url, json.dumps(data))
|
||||||
|
|
||||||
|
assert response.status_code == 200
|
||||||
|
assert project.issue_duedates.count() == 1
|
||||||
|
|
||||||
|
|
||||||
|
def test_prevent_create_issue_default_due_dates_when_already_exists(client):
|
||||||
|
issue_duedates = [{
|
||||||
|
"name": 'Default',
|
||||||
|
"slug": 'default',
|
||||||
|
"by_default": True,
|
||||||
|
'color': '#0000',
|
||||||
|
'days_to_due': None,
|
||||||
|
'order': 0,
|
||||||
|
}]
|
||||||
|
f.ProjectTemplateFactory.create(
|
||||||
|
slug=settings.DEFAULT_PROJECT_TEMPLATE, issue_duedates=issue_duedates)
|
||||||
|
project = f.create_project()
|
||||||
|
|
||||||
|
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
||||||
|
url = reverse('issue-due-dates-create-default')
|
||||||
|
data = {"project_id": project.pk}
|
||||||
|
client.login(project.owner)
|
||||||
|
|
||||||
|
response = client.json.post(url, json.dumps(data))
|
||||||
|
|
||||||
|
assert response.status_code == 400
|
||||||
|
assert project.issue_duedates.count() == 1
|
||||||
|
|
||||||
|
|
||||||
|
def test_prevent_delete_issue_default_due_dates(client):
|
||||||
|
issue_duedates = [{
|
||||||
|
"name": 'Default',
|
||||||
|
"slug": 'default',
|
||||||
|
"by_default": True,
|
||||||
|
'color': '#0000',
|
||||||
|
'days_to_due': None,
|
||||||
|
'order': 0,
|
||||||
|
}]
|
||||||
|
f.ProjectTemplateFactory.create(
|
||||||
|
slug=settings.DEFAULT_PROJECT_TEMPLATE, issue_duedates=issue_duedates)
|
||||||
|
project = f.create_project()
|
||||||
|
|
||||||
|
f.MembershipFactory(user=project.owner, project=project, is_admin=True)
|
||||||
|
url = reverse('issue-due-dates-detail', kwargs={"pk": 1})
|
||||||
|
client.login(project.owner)
|
||||||
|
|
||||||
|
response = client.json.delete(url)
|
||||||
|
|
||||||
|
assert response.status_code == 400
|
||||||
|
assert project.issue_duedates.count() == 1
|
||||||
|
|
Loading…
Reference in New Issue