Fix tasks creation in bulk test

remotes/origin/issue/4795/notification_even_they_are_disabled
David Barragán Merino 2016-08-17 17:01:02 +02:00
parent f7c74fc63e
commit 275ce381f9
2 changed files with 19 additions and 18 deletions

View File

@ -251,24 +251,25 @@ class TaskViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixin,
@list_route(methods=["POST"]) @list_route(methods=["POST"])
def bulk_create(self, request, **kwargs): def bulk_create(self, request, **kwargs):
validator = validators.TasksBulkValidator(data=request.DATA) validator = validators.TasksBulkValidator(data=request.DATA)
if validator.is_valid(): if not validator.is_valid():
data = validator.data return response.BadRequest(validator.errors)
project = Project.objects.get(id=data["project_id"])
self.check_permissions(request, 'bulk_create', project)
if project.blocked_code is not None:
raise exc.Blocked(_("Blocked element"))
tasks = services.create_tasks_in_bulk( data = validator.data
data["bulk_tasks"], milestone_id=data["milestone_id"], user_story_id=data["us_id"], project = Project.objects.get(id=data["project_id"])
status_id=data.get("status_id") or project.default_task_status_id, self.check_permissions(request, 'bulk_create', project)
project=project, owner=request.user, callback=self.post_save, precall=self.pre_save) if project.blocked_code is not None:
raise exc.Blocked(_("Blocked element"))
tasks = self.get_queryset().filter(id__in=[i.id for i in tasks]) tasks = services.create_tasks_in_bulk(
tasks_serialized = self.get_serializer_class()(tasks, many=True) data["bulk_tasks"], milestone_id=data["milestone_id"], user_story_id=data["us_id"],
status_id=data.get("status_id") or project.default_task_status_id,
project=project, owner=request.user, callback=self.post_save, precall=self.pre_save)
return response.Ok(tasks_serialized.data) tasks = self.get_queryset().filter(id__in=[i.id for i in tasks])
tasks_serialized = self.get_serializer_class()(tasks, many=True)
return response.Ok(tasks_serialized.data)
return response.BadRequest(validator.errors)
def _bulk_update_order(self, order_field, request, **kwargs): def _bulk_update_order(self, order_field, request, **kwargs):
validator = validators.UpdateTasksOrderBulkValidator(data=request.DATA) validator = validators.UpdateTasksOrderBulkValidator(data=request.DATA)

View File

@ -656,7 +656,7 @@ def test_task_action_bulk_create(client, data):
"bulk_tasks": "test1\ntest2", "bulk_tasks": "test1\ntest2",
"us_id": data.public_task.user_story.pk, "us_id": data.public_task.user_story.pk,
"project_id": data.public_task.project.pk, "project_id": data.public_task.project.pk,
"sprint_id": data.public_task.milestone.pk, "milestone_id": data.public_task.milestone.pk,
}) })
results = helper_test_http_method(client, 'post', url, bulk_data, users) results = helper_test_http_method(client, 'post', url, bulk_data, users)
assert results == [401, 403, 403, 200, 200] assert results == [401, 403, 403, 200, 200]
@ -665,7 +665,7 @@ def test_task_action_bulk_create(client, data):
"bulk_tasks": "test1\ntest2", "bulk_tasks": "test1\ntest2",
"us_id": data.private_task1.user_story.pk, "us_id": data.private_task1.user_story.pk,
"project_id": data.private_task1.project.pk, "project_id": data.private_task1.project.pk,
"sprint_id": data.private_task1.milestone.pk, "milestone_id": data.private_task1.milestone.pk,
}) })
results = helper_test_http_method(client, 'post', url, bulk_data, users) results = helper_test_http_method(client, 'post', url, bulk_data, users)
assert results == [401, 403, 403, 200, 200] assert results == [401, 403, 403, 200, 200]
@ -674,7 +674,7 @@ def test_task_action_bulk_create(client, data):
"bulk_tasks": "test1\ntest2", "bulk_tasks": "test1\ntest2",
"us_id": data.private_task2.user_story.pk, "us_id": data.private_task2.user_story.pk,
"project_id": data.private_task2.project.pk, "project_id": data.private_task2.project.pk,
"sprint_id": data.private_task2.milestone.pk, "milestone_id": data.private_task2.milestone.pk,
}) })
results = helper_test_http_method(client, 'post', url, bulk_data, users) results = helper_test_http_method(client, 'post', url, bulk_data, users)
assert results == [401, 403, 403, 200, 200] assert results == [401, 403, 403, 200, 200]
@ -683,7 +683,7 @@ def test_task_action_bulk_create(client, data):
"bulk_tasks": "test1\ntest2", "bulk_tasks": "test1\ntest2",
"us_id": data.blocked_task.user_story.pk, "us_id": data.blocked_task.user_story.pk,
"project_id": data.blocked_task.project.pk, "project_id": data.blocked_task.project.pk,
"sprint_id": data.blocked_task.milestone.pk, "milestone_id": data.blocked_task.milestone.pk,
}) })
results = helper_test_http_method(client, 'post', url, bulk_data, users) results = helper_test_http_method(client, 'post', url, bulk_data, users)
assert results == [401, 403, 403, 451, 451] assert results == [401, 403, 403, 451, 451]