Skip to content

Commit 4c687cf

Browse files
committed
Tests to exercise the remaining branches in file_browser/index.html
1 parent d73319d commit 4c687cf

File tree

1 file changed

+44
-8
lines changed

1 file changed

+44
-8
lines changed

tests/integration/test_views.py

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,14 @@ def test_workspace_view_with_file(client_with_permission, ui_options):
6666
assert "foobar" in response.rendered_content
6767

6868

69+
def test_workspace_view_with_html_file(client_with_permission, ui_options):
70+
factories.write_workspace_file(
71+
"workspace", "file.html", "<html><body>foobar</body></html>"
72+
)
73+
response = client_with_permission.get("/workspaces/view/workspace/file.html")
74+
assert "foobar" in response.rendered_content
75+
76+
6977
def test_workspace_view_with_404(client_with_permission):
7078
factories.create_workspace("workspace")
7179
response = client_with_permission.get("/workspaces/view/workspace/no_such_file.txt")
@@ -80,6 +88,14 @@ def test_workspace_view_redirects_to_directory(client_with_permission):
8088
assert response.headers["Location"] == "/workspaces/view/workspace/some_dir/"
8189

8290

91+
def test_workspace_view_directory_with_sub_directory(client_with_permission):
92+
workspace = factories.create_workspace("workspace")
93+
factories.write_workspace_file(workspace, "sub_dir/file.txt")
94+
response = client_with_permission.get("/workspaces/view/workspace", follow=True)
95+
assert "sub_dir" in response.rendered_content
96+
assert "file.txt" in response.rendered_content
97+
98+
8399
def test_workspace_view_redirects_to_file(client_with_permission):
84100
factories.write_workspace_file("workspace", "file.txt")
85101
response = client_with_permission.get("/workspaces/view/workspace/file.txt/")
@@ -309,9 +325,7 @@ def test_request_view_with_file(client_with_permission, ui_options):
309325
release_request = factories.create_release_request("workspace")
310326
factories.write_workspace_file("workspace", "file.txt", "foobar")
311327
factories.create_filegroup(
312-
release_request,
313-
group_name="default_group",
314-
filepaths=["file.txt"]
328+
release_request, group_name="default_group", filepaths=["file.txt"]
315329
)
316330

317331
response = client_with_permission.get(
@@ -322,14 +336,32 @@ def test_request_view_with_file(client_with_permission, ui_options):
322336

323337

324338
def test_request_view_with_submitted_request(client_with_permission, ui_options):
325-
release_request = factories.create_release_request("workspace", status=Status.SUBMITTED)
339+
release_request = factories.create_release_request(
340+
"workspace", status=Status.SUBMITTED
341+
)
326342
response = client_with_permission.get(
327343
f"/requests/view/{release_request.id}", follow=True
328344
)
329345
assert "Reject Request" in response.rendered_content
330346
assert "Release Files" in response.rendered_content
331347

332348

349+
def test_request_view_with_authored_request_file(client_with_permission, ui_options):
350+
release_request = factories.create_release_request(
351+
"workspace",
352+
user=User.from_session(client_with_permission.session),
353+
status=Status.SUBMITTED,
354+
)
355+
factories.write_workspace_file("workspace", "file.txt", "foobar")
356+
factories.create_filegroup(
357+
release_request, group_name="default_group", filepaths=["file.txt"]
358+
)
359+
response = client_with_permission.get(
360+
f"/requests/view/{release_request.id}/file.txt", follow=True
361+
)
362+
assert "Remove this file" in response.rendered_content
363+
364+
333365
def test_request_view_with_404(client_with_permission):
334366
release_request = factories.create_release_request("workspace")
335367
response = client_with_permission.get(
@@ -521,12 +553,16 @@ def test_requests_release_jobserver_403(client_with_permission, release_files_st
521553
"content_type,content,should_contain_iframe",
522554
[
523555
("text/plain", b"An error from job-server", False),
524-
("text/html", b"<p>An error from job-server</p>", True)
525-
]
556+
("text/html", b"<p>An error from job-server</p>", True),
557+
],
526558
)
527559
def test_requests_release_jobserver_403_with_debug(
528-
client_with_permission, release_files_stubber, settings,
529-
content_type, content, should_contain_iframe
560+
client_with_permission,
561+
release_files_stubber,
562+
settings,
563+
content_type,
564+
content,
565+
should_contain_iframe,
530566
):
531567
settings.DEBUG = True
532568
release_request = factories.create_release_request(

0 commit comments

Comments
 (0)