Update role filter data
parent
610938c026
commit
8e01fbc97b
|
@ -719,8 +719,11 @@ def _get_userstories_roles(project, queryset):
|
||||||
ON ("userstories_userstory"."project_id" = "projects_project"."id")
|
ON ("userstories_userstory"."project_id" = "projects_project"."id")
|
||||||
LEFT OUTER JOIN "epics_relateduserstory"
|
LEFT OUTER JOIN "epics_relateduserstory"
|
||||||
ON "userstories_userstory"."id" = "epics_relateduserstory"."user_story_id"
|
ON "userstories_userstory"."id" = "epics_relateduserstory"."user_story_id"
|
||||||
|
LEFT OUTER JOIN "userstories_userstory_assigned_users"
|
||||||
|
ON "userstories_userstory_assigned_users"."userstory_id" = "userstories_userstory"."id"
|
||||||
LEFT OUTER JOIN "projects_membership"
|
LEFT OUTER JOIN "projects_membership"
|
||||||
ON "projects_membership"."user_id" = "userstories_userstory"."assigned_to_id"
|
ON "projects_membership"."user_id" = "userstories_userstory"."assigned_to_id"
|
||||||
|
OR "projects_membership"."user_id" = "userstories_userstory_assigned_users"."user_id"
|
||||||
WHERE {where}
|
WHERE {where}
|
||||||
),
|
),
|
||||||
"counters" AS (
|
"counters" AS (
|
||||||
|
|
|
@ -1007,6 +1007,64 @@ def test_api_filters_data_with_assigned_users(client):
|
||||||
response.data["assigned_users"]))["count"] == 1
|
response.data["assigned_users"]))["count"] == 1
|
||||||
|
|
||||||
|
|
||||||
|
def test_api_filters_data_roles_with_assigned_users(client):
|
||||||
|
project = f.ProjectFactory.create()
|
||||||
|
|
||||||
|
role1 = f.RoleFactory.create(project=project)
|
||||||
|
role2 = f.RoleFactory.create(project=project)
|
||||||
|
|
||||||
|
user1 = f.UserFactory.create(is_superuser=True)
|
||||||
|
f.MembershipFactory.create(user=user1, project=project, role=role1)
|
||||||
|
user2 = f.UserFactory.create(is_superuser=True)
|
||||||
|
f.MembershipFactory.create(user=user2, project=project, role=role2)
|
||||||
|
user3 = f.UserFactory.create(is_superuser=True)
|
||||||
|
f.MembershipFactory.create(user=user3, project=project, role=role1)
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
# | US | Owner | Assigned To | Assigned Users | Role |
|
||||||
|
# |-------#--------#-------------#----------------#---------------
|
||||||
|
# | 0 | user2 | user2 | user2, user3 | role2, role1 |
|
||||||
|
# | 1 | user1 | None | None | None |
|
||||||
|
# | 2 | user1 | user1 | user1 | role1 |
|
||||||
|
# ----------------------------------------------------------------
|
||||||
|
|
||||||
|
us0 = f.UserStoryFactory.create(project=project, owner=user2,
|
||||||
|
assigned_to=user2,
|
||||||
|
assigned_users=[user2, user3],)
|
||||||
|
f.RelatedUserStory.create(user_story=us0)
|
||||||
|
us1 = f.UserStoryFactory.create(project=project, owner=user1,
|
||||||
|
assigned_to=None)
|
||||||
|
us2 = f.UserStoryFactory.create(project=project, owner=user1,
|
||||||
|
assigned_to=user1,
|
||||||
|
assigned_users=[user1],)
|
||||||
|
|
||||||
|
url = reverse("userstories-filters-data") + "?project={}".format(project.id)
|
||||||
|
|
||||||
|
client.login(user1)
|
||||||
|
|
||||||
|
# No filter
|
||||||
|
response = client.get(url)
|
||||||
|
assert response.status_code == 200
|
||||||
|
|
||||||
|
assert next(filter(lambda i: i['id'] == user1.id, response.data["owners"]))["count"] == 2
|
||||||
|
assert next(filter(lambda i: i['id'] == user2.id, response.data["owners"]))["count"] == 1
|
||||||
|
|
||||||
|
assert next(filter(lambda i: i['id'] is None, response.data["assigned_to"]))["count"] == 1
|
||||||
|
assert next(filter(lambda i: i['id'] == user1.id, response.data["assigned_to"]))["count"] == 1
|
||||||
|
assert next(filter(lambda i: i['id'] == user2.id, response.data["assigned_to"]))["count"] == 1
|
||||||
|
|
||||||
|
assert next(filter(lambda i: i['id'] == user1.id,
|
||||||
|
response.data["assigned_users"]))["count"] == 1
|
||||||
|
assert next(filter(lambda i: i['id'] == user2.id,
|
||||||
|
response.data["assigned_users"]))["count"] == 1
|
||||||
|
|
||||||
|
assert next(filter(lambda i: i['id'] == role1.id,
|
||||||
|
response.data["roles"]))["count"] == 2
|
||||||
|
assert next(filter(lambda i: i['id'] == role2.id,
|
||||||
|
response.data["roles"]))["count"] == 1
|
||||||
|
|
||||||
|
|
||||||
def test_get_invalid_csv(client):
|
def test_get_invalid_csv(client):
|
||||||
url = reverse("userstories-csv")
|
url = reverse("userstories-csv")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue