@@ -90,3 +90,52 @@ def test_services_api_detail_queries_are_bounded(
9090 )
9191
9292 assert response .status_code == 200
93+
94+
95+ def test_disabled_dora_form_di_structures_api_requires_authentication (api_client ):
96+ response = api_client .get (reverse ("emplois:disabled-dora-form-di-structure-list" ))
97+
98+ assert response .status_code == 401
99+
100+
101+ def test_disabled_dora_form_di_structures_api_requires_emplois_email (api_client ):
102+ user = baker .make ("users.User" , is_valid = True , email = "other@example.com" )
103+ api_client .force_authenticate (user = user )
104+
105+ response = api_client .get (reverse ("emplois:disabled-dora-form-di-structure-list" ))
106+
107+ assert response .status_code == 403
108+
109+
110+ @pytest .mark .parametrize (
111+ "method,use_detail,data" ,
112+ [
113+ ("post" , False , {"source" : "foobar" , "structure_id" : "structure-1" }),
114+ ("patch" , True , {"comment" : "Commentaire" }),
115+ ("delete" , True , None ),
116+ ],
117+ ids = ["post" , "patch" , "delete" ],
118+ )
119+ def test_disabled_dora_form_di_structures_api_is_read_only (
120+ emplois_user ,
121+ api_client ,
122+ method ,
123+ use_detail ,
124+ data ,
125+ ):
126+ item = baker .make ("structures.DisabledDoraFormDIStructure" )
127+
128+ if use_detail :
129+ url = reverse (
130+ "emplois:disabled-dora-form-di-structure-detail" , kwargs = {"pk" : item .id }
131+ )
132+ else :
133+ url = reverse ("emplois:disabled-dora-form-di-structure-list" )
134+
135+ client_method = getattr (api_client , method )
136+ if data is not None :
137+ response = client_method (url , data = data )
138+ else :
139+ response = client_method (url )
140+
141+ assert response .status_code == 403
0 commit comments