测试:同步移除物理删除权限契约
This commit is contained in:
@@ -1940,7 +1940,7 @@ class TestInboundController(unittest.TestCase):
|
|||||||
self.assertLess(paths.index('/business/inbound/warehouse-options'), detail_index)
|
self.assertLess(paths.index('/business/inbound/warehouse-options'), detail_index)
|
||||||
self.assertLess(paths.index('/business/inbound/scan/{qr_token}'), detail_index)
|
self.assertLess(paths.index('/business/inbound/scan/{qr_token}'), detail_index)
|
||||||
|
|
||||||
def test_each_route_has_exact_permission_and_six_unique_permission_values(self) -> None:
|
def test_each_route_has_exact_permission_and_five_unique_permission_values(self) -> None:
|
||||||
expected = {
|
expected = {
|
||||||
('/business/inbound/list', 'GET'): 'business:inbound:list',
|
('/business/inbound/list', 'GET'): 'business:inbound:list',
|
||||||
('/business/inbound/warehouse-options', 'GET'): 'business:inbound:query',
|
('/business/inbound/warehouse-options', 'GET'): 'business:inbound:query',
|
||||||
@@ -1948,7 +1948,7 @@ class TestInboundController(unittest.TestCase):
|
|||||||
('/business/inbound/{inbound_id}', 'GET'): 'business:inbound:query',
|
('/business/inbound/{inbound_id}', 'GET'): 'business:inbound:query',
|
||||||
('/business/inbound', 'POST'): 'business:inbound:add',
|
('/business/inbound', 'POST'): 'business:inbound:add',
|
||||||
('/business/inbound', 'PUT'): 'business:inbound:edit',
|
('/business/inbound', 'PUT'): 'business:inbound:edit',
|
||||||
('/business/inbound/{inbound_ids}', 'DELETE'): 'business:inbound:remove',
|
('/business/inbound/{inbound_ids}', 'DELETE'): 'business:inbound:list',
|
||||||
('/business/inbound/{inbound_id}/confirm', 'PUT'): 'business:inbound:confirm',
|
('/business/inbound/{inbound_id}/confirm', 'PUT'): 'business:inbound:confirm',
|
||||||
}
|
}
|
||||||
actual = {}
|
actual = {}
|
||||||
@@ -1968,7 +1968,6 @@ class TestInboundController(unittest.TestCase):
|
|||||||
'business:inbound:query',
|
'business:inbound:query',
|
||||||
'business:inbound:add',
|
'business:inbound:add',
|
||||||
'business:inbound:edit',
|
'business:inbound:edit',
|
||||||
'business:inbound:remove',
|
|
||||||
'business:inbound:confirm',
|
'business:inbound:confirm',
|
||||||
},
|
},
|
||||||
set(actual.values()),
|
set(actual.values()),
|
||||||
|
|||||||
@@ -990,7 +990,7 @@ class TestMasterControllers(unittest.TestCase):
|
|||||||
(f'/master/{resource}/{{{resource}_id}}', 'GET'): f'master:{resource}:query',
|
(f'/master/{resource}/{{{resource}_id}}', 'GET'): f'master:{resource}:query',
|
||||||
(f'/master/{resource}', 'POST'): f'master:{resource}:add',
|
(f'/master/{resource}', 'POST'): f'master:{resource}:add',
|
||||||
(f'/master/{resource}', 'PUT'): f'master:{resource}:edit',
|
(f'/master/{resource}', 'PUT'): f'master:{resource}:edit',
|
||||||
(f'/master/{resource}/{{{resource}_ids}}', 'DELETE'): f'master:{resource}:remove',
|
(f'/master/{resource}/{{{resource}_ids}}', 'DELETE'): f'master:{resource}:list',
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1313,7 +1313,7 @@ class TestPalletAndAssignmentControllers(unittest.IsolatedAsyncioTestCase):
|
|||||||
('/master/pallet/{pallet_id}', 'GET'): 'master:pallet:query',
|
('/master/pallet/{pallet_id}', 'GET'): 'master:pallet:query',
|
||||||
('/master/pallet', 'POST'): 'master:pallet:add',
|
('/master/pallet', 'POST'): 'master:pallet:add',
|
||||||
('/master/pallet', 'PUT'): 'master:pallet:edit',
|
('/master/pallet', 'PUT'): 'master:pallet:edit',
|
||||||
('/master/pallet/{pallet_ids}', 'DELETE'): 'master:pallet:remove',
|
('/master/pallet/{pallet_ids}', 'DELETE'): 'master:pallet:list',
|
||||||
('/master/pallet/{pallet_id}/qrcode', 'GET'): 'master:pallet:print',
|
('/master/pallet/{pallet_id}/qrcode', 'GET'): 'master:pallet:print',
|
||||||
('/master/warehouse/{warehouse_id}/users', 'GET'): 'master:warehouse:assign',
|
('/master/warehouse/{warehouse_id}/users', 'GET'): 'master:warehouse:assign',
|
||||||
('/master/warehouse/{warehouse_id}/users', 'PUT'): 'master:warehouse:assign',
|
('/master/warehouse/{warehouse_id}/users', 'PUT'): 'master:warehouse:assign',
|
||||||
@@ -1333,7 +1333,7 @@ class TestPalletAndAssignmentControllers(unittest.IsolatedAsyncioTestCase):
|
|||||||
actual_permissions[key] = dependencies[0].perm
|
actual_permissions[key] = dependencies[0].perm
|
||||||
|
|
||||||
self.assertEqual(expected_permissions, actual_permissions)
|
self.assertEqual(expected_permissions, actual_permissions)
|
||||||
self.assertEqual(8, len(set(actual_permissions.values())))
|
self.assertEqual(7, len(set(actual_permissions.values())))
|
||||||
|
|
||||||
def test_write_routes_have_log_and_current_user(self) -> None:
|
def test_write_routes_have_log_and_current_user(self) -> None:
|
||||||
write_routes = (
|
write_routes = (
|
||||||
|
|||||||
@@ -464,7 +464,7 @@ class ShipmentControllerContractTest(unittest.TestCase):
|
|||||||
('/business/shipment/{shipment_id}', 'GET'): 'business:shipment:query',
|
('/business/shipment/{shipment_id}', 'GET'): 'business:shipment:query',
|
||||||
('/business/shipment', 'POST'): 'business:shipment:add',
|
('/business/shipment', 'POST'): 'business:shipment:add',
|
||||||
('/business/shipment', 'PUT'): 'business:shipment:edit',
|
('/business/shipment', 'PUT'): 'business:shipment:edit',
|
||||||
('/business/shipment/{shipment_ids}', 'DELETE'): 'business:shipment:remove',
|
('/business/shipment/{shipment_ids}', 'DELETE'): 'business:shipment:list',
|
||||||
('/business/shipment/{shipment_id}/confirm', 'PUT'): 'business:shipment:confirm',
|
('/business/shipment/{shipment_id}/confirm', 'PUT'): 'business:shipment:confirm',
|
||||||
}
|
}
|
||||||
actual = {}
|
actual = {}
|
||||||
@@ -488,7 +488,7 @@ class ShipmentControllerContractTest(unittest.TestCase):
|
|||||||
actual[key] = permissions[0].perm
|
actual[key] = permissions[0].perm
|
||||||
|
|
||||||
self.assertEqual(expected, actual)
|
self.assertEqual(expected, actual)
|
||||||
self.assertEqual(6, len(set(actual.values())))
|
self.assertEqual(5, len(set(actual.values())))
|
||||||
|
|
||||||
def test_controller_defines_no_scan_or_export_permission(self) -> None:
|
def test_controller_defines_no_scan_or_export_permission(self) -> None:
|
||||||
source = inspect.getsource(shipment_controller_module)
|
source = inspect.getsource(shipment_controller_module)
|
||||||
|
|||||||
Reference in New Issue
Block a user