mirror of
https://github.com/umap-project/umap.git
synced 2025-04-28 19:42:36 +02:00
chore: add test for template_list view
This commit is contained in:
parent
6de878551b
commit
e3c6dcf3fa
2 changed files with 60 additions and 1 deletions
|
@ -528,3 +528,62 @@ def test_can_find_small_usernames(client):
|
||||||
data = json.loads(response.content)["data"]
|
data = json.loads(response.content)["data"]
|
||||||
assert len(data) == 1
|
assert len(data) == 1
|
||||||
assert data[0]["label"] == "JoeJoe"
|
assert data[0]["label"] == "JoeJoe"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_templates_list(client, user, user2):
|
||||||
|
public = MapFactory(
|
||||||
|
owner=user,
|
||||||
|
name="A public template",
|
||||||
|
share_status=Map.PUBLIC,
|
||||||
|
is_template=True,
|
||||||
|
)
|
||||||
|
link_only = MapFactory(
|
||||||
|
owner=user,
|
||||||
|
name="A link-only template",
|
||||||
|
share_status=Map.OPEN,
|
||||||
|
is_template=True,
|
||||||
|
)
|
||||||
|
private = MapFactory(
|
||||||
|
owner=user,
|
||||||
|
name="A link-only template",
|
||||||
|
share_status=Map.PRIVATE,
|
||||||
|
is_template=True,
|
||||||
|
)
|
||||||
|
someone_else = MapFactory(
|
||||||
|
owner=user2,
|
||||||
|
name="A public template from someone else",
|
||||||
|
share_status=Map.PUBLIC,
|
||||||
|
is_template=True,
|
||||||
|
)
|
||||||
|
staff = UserFactory(username="Staff", is_staff=True)
|
||||||
|
Star.objects.create(by=staff, map=someone_else)
|
||||||
|
client.login(username=user.username, password="123123")
|
||||||
|
url = reverse("template_list")
|
||||||
|
|
||||||
|
# Ask for mine
|
||||||
|
response = client.get(f"{url}?source=mine")
|
||||||
|
templates = json.loads(response.content)["templates"]
|
||||||
|
ids = [t["id"] for t in templates]
|
||||||
|
assert public.pk in ids
|
||||||
|
assert link_only.pk in ids
|
||||||
|
assert private.pk in ids
|
||||||
|
assert someone_else.pk not in ids
|
||||||
|
|
||||||
|
# Ask for staff ones
|
||||||
|
response = client.get(f"{url}?source=staff")
|
||||||
|
templates = json.loads(response.content)["templates"]
|
||||||
|
ids = [t["id"] for t in templates]
|
||||||
|
assert public.pk not in ids
|
||||||
|
assert link_only.pk not in ids
|
||||||
|
assert private.pk not in ids
|
||||||
|
assert someone_else.pk in ids
|
||||||
|
|
||||||
|
# Ask for community ones
|
||||||
|
response = client.get(f"{url}?source=community")
|
||||||
|
templates = json.loads(response.content)["templates"]
|
||||||
|
ids = [t["id"] for t in templates]
|
||||||
|
assert public.pk in ids
|
||||||
|
assert link_only.pk not in ids
|
||||||
|
assert private.pk not in ids
|
||||||
|
assert someone_else.pk in ids
|
||||||
|
|
|
@ -1471,6 +1471,6 @@ class TemplateList(ListView):
|
||||||
"description": m.description,
|
"description": m.description,
|
||||||
"url": m.get_absolute_url(),
|
"url": m.get_absolute_url(),
|
||||||
}
|
}
|
||||||
for m in qs
|
for m in qs.order_by("-modified_at")
|
||||||
]
|
]
|
||||||
return simple_json_response(templates=templates)
|
return simple_json_response(templates=templates)
|
||||||
|
|
Loading…
Reference in a new issue