Adding permission tests for epic related user stories
parent
7313dfd996
commit
544cdc00d0
|
@ -136,11 +136,12 @@ def update_epic_related_userstories_order_in_bulk(bulk_data: list, epic: object)
|
||||||
[{'us_id': <value>, 'order': <value>}, ...]
|
[{'us_id': <value>, 'order': <value>}, ...]
|
||||||
"""
|
"""
|
||||||
related_user_stories = epic.relateduserstory_set.all()
|
related_user_stories = epic.relateduserstory_set.all()
|
||||||
|
# select_related
|
||||||
rus_orders = {rus.id: rus.order for rus in related_user_stories}
|
rus_orders = {rus.id: rus.order for rus in related_user_stories}
|
||||||
|
|
||||||
rus_conversion = {rus.user_story_id: rus.id for rus in related_user_stories}
|
rus_conversion = {rus.user_story_id: rus.id for rus in related_user_stories}
|
||||||
new_rus_orders = {rus_conversion[e["us_id"]]: e["order"] for e in bulk_data
|
new_rus_orders = {rus_conversion[e["us_id"]]: e["order"] for e in bulk_data
|
||||||
if e["us_id"] in rus_conversion}
|
if e["us_id"] in rus_conversion}
|
||||||
|
|
||||||
apply_order_updates(rus_orders, new_rus_orders)
|
apply_order_updates(rus_orders, new_rus_orders)
|
||||||
|
|
||||||
|
@ -274,7 +275,8 @@ def _get_epics_assigned_to(project, queryset):
|
||||||
FROM projects_membership
|
FROM projects_membership
|
||||||
LEFT OUTER JOIN counters ON ("projects_membership"."user_id" = "counters"."assigned_to_id")
|
LEFT OUTER JOIN counters ON ("projects_membership"."user_id" = "counters"."assigned_to_id")
|
||||||
INNER JOIN "users_user" ON ("projects_membership"."user_id" = "users_user"."id")
|
INNER JOIN "users_user" ON ("projects_membership"."user_id" = "users_user"."id")
|
||||||
WHERE "projects_membership"."project_id" = %s AND "projects_membership"."user_id" IS NOT NULL
|
WHERE "projects_membership"."project_id" = %s
|
||||||
|
AND "projects_membership"."user_id" IS NOT NULL
|
||||||
|
|
||||||
-- unassigned epics
|
-- unassigned epics
|
||||||
UNION
|
UNION
|
||||||
|
@ -336,7 +338,8 @@ def _get_epics_owners(project, queryset):
|
||||||
FROM projects_membership
|
FROM projects_membership
|
||||||
LEFT OUTER JOIN counters ON ("projects_membership"."user_id" = "counters"."owner_id")
|
LEFT OUTER JOIN counters ON ("projects_membership"."user_id" = "counters"."owner_id")
|
||||||
INNER JOIN "users_user" ON ("projects_membership"."user_id" = "users_user"."id")
|
INNER JOIN "users_user" ON ("projects_membership"."user_id" = "users_user"."id")
|
||||||
WHERE "projects_membership"."project_id" = %s AND "projects_membership"."user_id" IS NOT NULL
|
WHERE "projects_membership"."project_id" = %s
|
||||||
|
AND "projects_membership"."user_id" IS NOT NULL
|
||||||
|
|
||||||
-- System users
|
-- System users
|
||||||
UNION
|
UNION
|
||||||
|
|
|
@ -675,34 +675,6 @@ def test_epic_action_bulk_create(client, data):
|
||||||
assert results == [401, 403, 403, 451, 451]
|
assert results == [401, 403, 403, 451, 451]
|
||||||
|
|
||||||
|
|
||||||
def test_bulk_create_related_userstories(client, data):
|
|
||||||
public_url = reverse('epics-related-userstories-bulk-create', args=[data.public_epic.pk])
|
|
||||||
private_url1 = reverse('epics-related-userstories-bulk-create', args=[data.private_epic1.pk])
|
|
||||||
private_url2 = reverse('epics-related-userstories-bulk-create', args=[data.private_epic2.pk])
|
|
||||||
blocked_url = reverse('epics-related-userstories-bulk-create', args=[data.blocked_epic.pk])
|
|
||||||
|
|
||||||
users = [
|
|
||||||
None,
|
|
||||||
data.registered_user,
|
|
||||||
data.project_member_without_perms,
|
|
||||||
data.project_member_with_perms,
|
|
||||||
data.project_owner
|
|
||||||
]
|
|
||||||
|
|
||||||
bulk_data = json.dumps({
|
|
||||||
"userstories": "test1\ntest2",
|
|
||||||
})
|
|
||||||
|
|
||||||
results = helper_test_http_method(client, 'post', public_url, bulk_data, users)
|
|
||||||
assert results == [401, 403, 403, 200, 200]
|
|
||||||
results = helper_test_http_method(client, 'post', private_url1, bulk_data, users)
|
|
||||||
assert results == [401, 403, 403, 200, 200]
|
|
||||||
results = helper_test_http_method(client, 'post', private_url2, bulk_data, users)
|
|
||||||
assert results == [401, 403, 403, 200, 200]
|
|
||||||
results = helper_test_http_method(client, 'post', blocked_url, bulk_data, users)
|
|
||||||
assert results == [401, 403, 403, 451, 451]
|
|
||||||
|
|
||||||
|
|
||||||
def test_epic_action_upvote(client, data):
|
def test_epic_action_upvote(client, data):
|
||||||
public_url = reverse('epics-upvote', kwargs={"pk": data.public_epic.pk})
|
public_url = reverse('epics-upvote', kwargs={"pk": data.public_epic.pk})
|
||||||
private_url1 = reverse('epics-upvote', kwargs={"pk": data.private_epic1.pk})
|
private_url1 = reverse('epics-upvote', kwargs={"pk": data.private_epic1.pk})
|
||||||
|
|
Loading…
Reference in New Issue