-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathtest_unlisted.py
128 lines (102 loc) · 3.74 KB
/
test_unlisted.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
from django.urls import reverse
import pytest
from filingcabinet import get_document_model, get_documentcollection_model
from .factories import DocumentCollectionFactory, DocumentFactory
Document = get_document_model()
DocumentCollection = get_documentcollection_model()
@pytest.mark.django_db
def test_unlisted_document_needs_slug(client, dummy_user):
doc = DocumentFactory.create(user=dummy_user, public=True, listed=False)
url = reverse(
"filingcabinet:document-detail_short",
kwargs={
"pk": doc.pk,
},
)
response = client.get(url)
assert response.status_code == 404
url = reverse(
"filingcabinet:document-detail", kwargs={"pk": doc.pk, "slug": doc.slug}
)
response = client.get(url)
assert response.status_code == 200
client.force_login(dummy_user)
url = reverse(
"filingcabinet:document-detail_short",
kwargs={
"pk": doc.pk,
},
)
response = client.get(url)
assert response.status_code == 302
@pytest.mark.django_db
def test_list_unlisted_document_api(client, dummy_user):
DocumentFactory.create(user=dummy_user, public=True, listed=False)
url = reverse("api:document-list")
response = client.get(url)
assert len(response.json()["objects"]) == 0
client.force_login(dummy_user)
response = client.get(url)
assert len(response.json()["objects"]) == 1
@pytest.mark.django_db
def test_retrieve_unlisted_document_api(client, dummy_user):
doc = DocumentFactory.create(user=dummy_user, public=True, listed=False)
url = reverse("api:document-detail", kwargs={"pk": doc.pk})
response = client.get(url)
assert response.status_code == 403
url = reverse("api:document-detail", kwargs={"pk": doc.pk})
response = client.get(url + "?uid=" + str(doc.uid))
assert response.status_code == 200
client.force_login(dummy_user)
response = client.get(url)
assert response.status_code == 200
@pytest.mark.django_db
def test_unlisted_documentcollection_needs_slug(client, dummy_user):
collection = DocumentCollectionFactory.create(
user=dummy_user, public=True, listed=False
)
url = reverse(
"filingcabinet:document-collection_short",
kwargs={
"pk": collection.pk,
},
)
response = client.get(url)
assert response.status_code == 404
url = reverse(
"filingcabinet:document-collection",
kwargs={"pk": collection.pk, "slug": collection.slug},
)
response = client.get(url)
assert response.status_code == 200
client.force_login(dummy_user)
url = reverse(
"filingcabinet:document-collection_short",
kwargs={
"pk": collection.pk,
},
)
response = client.get(url)
assert response.status_code == 302
@pytest.mark.django_db
def test_list_unlisted_documentcollection_api(client, dummy_user):
DocumentCollectionFactory.create(user=dummy_user, public=True, listed=False)
url = reverse("api:documentcollection-list")
response = client.get(url)
assert len(response.json()["objects"]) == 0
client.force_login(dummy_user)
response = client.get(url)
assert len(response.json()["objects"]) == 1
@pytest.mark.django_db
def test_retrieve_unlisted_documentcollection_api(client, dummy_user):
collection = DocumentCollectionFactory.create(
user=dummy_user, public=True, listed=False
)
url = reverse("api:documentcollection-detail", kwargs={"pk": collection.pk})
response = client.get(url)
assert response.status_code == 403
response = client.get(url + "?uid=" + str(collection.uid))
assert response.status_code == 200
client.force_login(dummy_user)
response = client.get(url)
assert response.status_code == 200