@@ -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+ 
6977def  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+ 
8399def  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
324338def  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+ 
333365def  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) 
527559def  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