Skip to content

Commit 4c1951e

Browse files
committed
Fixed tests for changlist editable dashboards, refs #130, refs #131
1 parent 1fb3f15 commit 4c1951e

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

django_sql_dashboard/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ def get_editable_by_user(cls, user):
114114
cls.objects.filter(
115115
models.Q(owned_by=user)
116116
| models.Q(edit_policy__in=allowed_policies)
117-
| models.Q(view_policy=cls.EditPolicies.GROUP, edit_group__user=user)
117+
| models.Q(edit_policy=cls.EditPolicies.GROUP, edit_group__user=user)
118118
)
119119
).distinct()
120120

test_project/test_dashboard_permissions.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,24 @@ def test_user_can_edit(
334334
user.save()
335335
assert dashboard_obj.user_can_edit(user) == expected_if_staff
336336
assert can_user_edit_using_admin(client, user, dashboard_obj) == expected_if_staff
337+
338+
# Confirm that staff user can see the correct dashboards listed
339+
client.force_login(user)
340+
dashboard_change_list_response = client.get(
341+
"/admin/django_sql_dashboard/dashboard/"
342+
)
343+
change_list_soup = BeautifulSoup(dashboard_change_list_response.content, "html5lib")
344+
visible_in_change_list = [
345+
a.text for a in change_list_soup.select("th.field-slug a")
346+
]
347+
assert set(visible_in_change_list) == {
348+
"owned_by_other_staff",
349+
"owned_by_other_group_member",
350+
"owned_by_other_loggedin",
351+
"owned_by_user",
352+
}
353+
354+
# Promote to superuser
337355
user.is_superuser = True
338356
user.save()
339357
assert dashboard_obj.user_can_edit(user) == expected_if_superuser

0 commit comments

Comments
 (0)