@@ -261,3 +261,84 @@ def test_get_remodel_allowlist_general_error(
261261 self .assertEqual (response .status_code , 500 )
262262 self .assertFalse (data ["success" ])
263263 self .assertEqual (data ["message" ], "Internal server error" )
264+
265+
266+ class TestCreateRemodelAllowlist (TestModelServiceEndpoints ):
267+ @patch (
268+ "canonicalwebteam.store_api.publishergw.PublisherGW"
269+ + ".create_remodel_allowlist"
270+ )
271+ def test_create_remodel_allowlist_success (
272+ self , mock_create_remodel_allowlist
273+ ):
274+ mock_create_remodel_allowlist .return_value = None
275+
276+ payload = {
277+ "description" : "Test remodel allowlist" ,
278+ "from-model" : "test-from-model" ,
279+ "from-serial" : "test-from-serial" ,
280+ "to-model" : "test-to-model" ,
281+ }
282+
283+ response = self .client .post (
284+ "/api/store/1/models/remodel-allowlist" , json = payload
285+ )
286+ data = response .json
287+
288+ self .assertEqual (response .status_code , 201 )
289+ self .assertTrue (data ["success" ])
290+ mock_create_remodel_allowlist .assert_called_once ()
291+
292+ @patch (
293+ "canonicalwebteam.store_api.publishergw.PublisherGW"
294+ + ".create_remodel_allowlist"
295+ )
296+ def test_create_remodel_allowlist_store_not_found (
297+ self , mock_create_remodel_allowlist
298+ ):
299+ mock_create_remodel_allowlist .side_effect = StoreApiResponseErrorList (
300+ "Store not found" , 404 , [{"message" : "Store not found" }]
301+ )
302+
303+ payload = {
304+ "description" : "Test remodel allowlist" ,
305+ "from-model" : "test-from-model" ,
306+ "to-model" : "test-to-model" ,
307+ }
308+
309+ response = self .client .post (
310+ "/api/store/999/models/remodel-allowlist" , json = payload
311+ )
312+ data = response .json
313+
314+ self .assertEqual (response .status_code , 404 )
315+ self .assertFalse (data ["success" ])
316+ self .assertEqual (data ["message" ], "Store not found" )
317+
318+ @patch (
319+ "canonicalwebteam.store_api.publishergw.PublisherGW"
320+ + ".create_remodel_allowlist"
321+ )
322+ def test_create_remodel_allowlist_general_error (
323+ self , mock_create_remodel_allowlist
324+ ):
325+ mock_create_remodel_allowlist .side_effect = StoreApiResponseErrorList (
326+ "Internal server error" ,
327+ 500 ,
328+ [{"message" : "An error occurred" }],
329+ )
330+
331+ payload = {
332+ "description" : "Test remodel allowlist" ,
333+ "from-model" : "test-from-model" ,
334+ "to-model" : "test-to-model" ,
335+ }
336+
337+ response = self .client .post (
338+ "/api/store/999/models/remodel-allowlist" , json = payload
339+ )
340+ data = response .json
341+
342+ self .assertEqual (response .status_code , 500 )
343+ self .assertFalse (data ["success" ])
344+ self .assertEqual (data ["message" ], "An error occurred" )
0 commit comments