@@ -262,3 +262,56 @@ def test_get_remodel_allowlist_general_error(
262262 self .assertEqual (response .status_code , 500 )
263263 self .assertFalse (data ["success" ])
264264 self .assertEqual (data ["message" ], "Internal server error" )
265+
266+
267+ class TestCreateRemodelAllowlist (TestModelServiceEndpoints ):
268+ @patch (
269+ "canonicalwebteam.store_api.publishergw.PublisherGW"
270+ + ".create_remodel_allowlist"
271+ )
272+ def test_create_remodel_allowlist_success (
273+ self , mock_create_remodel_allowlist
274+ ):
275+ mock_create_remodel_allowlist .return_value = None
276+
277+ payload = {
278+ "description" : "Test remodel allowlist" ,
279+ "from-model" : "test-from-model" ,
280+ "from-serial" : "test-from-serial" ,
281+ "to-model" : "test-to-model" ,
282+ }
283+
284+ response = self .client .post (
285+ "/api/store/1/models/remodel-allowlist" , json = payload
286+ )
287+ data = response .json
288+
289+ self .assertEqual (response .status_code , 201 )
290+ self .assertTrue (data ["success" ])
291+ mock_create_remodel_allowlist .assert_called_once ()
292+
293+ @patch (
294+ "canonicalwebteam.store_api.publishergw.PublisherGW"
295+ + ".create_remodel_allowlist"
296+ )
297+ def test_create_remodel_allowlist_store_not_found (
298+ self , mock_create_remodel_allowlist
299+ ):
300+ mock_create_remodel_allowlist .side_effect = StoreApiResponseErrorList (
301+ "Store not found" , 404 , [{"message" : "Store not found" }]
302+ )
303+
304+ payload = {
305+ "description" : "Test remodel allowlist" ,
306+ "from-model" : "test-from-model" ,
307+ "to-model" : "test-to-model" ,
308+ }
309+
310+ response = self .client .post (
311+ "/api/store/999/models/remodel-allowlist" , json = payload
312+ )
313+ data = response .json
314+
315+ self .assertEqual (response .status_code , 500 )
316+ self .assertFalse (data ["success" ])
317+ self .assertEqual (data ["message" ], "Store not found" )
0 commit comments