更新登录页及优化相关功能
This commit is contained in:
@@ -52,6 +52,7 @@ from module_business.entity.vo.operation_vo import (
|
||||
ShipmentScanQueryModel,
|
||||
ShipmentUpdateModel,
|
||||
)
|
||||
from module_business.entity.vo.shipment_label_vo import ShipmentLabelModel
|
||||
from module_business.service import shipment_service as shipment_service_module
|
||||
from module_business.service.access_service import AccessService
|
||||
from module_business.service.shipment_service import ShipmentService
|
||||
@@ -395,12 +396,12 @@ class ShipmentControllerContractTest(unittest.TestCase):
|
||||
@staticmethod
|
||||
def _routes() -> dict[tuple[str, str], APIRoute]:
|
||||
return {
|
||||
(route.path, next(iter(route.methods))): route
|
||||
(route.path_format, next(iter(route.methods))): route
|
||||
for route in shipment_controller_module.shipment_controller.routes
|
||||
if isinstance(route, APIRoute)
|
||||
}
|
||||
|
||||
def test_openapi_has_nine_operations_aliases_and_response_models(self) -> None:
|
||||
def test_openapi_has_ten_operations_aliases_and_response_models(self) -> None:
|
||||
app = FastAPI()
|
||||
app.include_router(shipment_controller_module.shipment_controller)
|
||||
schema = app.openapi()
|
||||
@@ -410,6 +411,7 @@ class ShipmentControllerContractTest(unittest.TestCase):
|
||||
('/business/shipment/site-options', 'get'),
|
||||
('/business/shipment/scan/{qr_token}', 'get'),
|
||||
('/business/shipment/{shipment_id}', 'get'),
|
||||
('/business/shipment/{shipment_id}/labels', 'get'),
|
||||
('/business/shipment', 'post'),
|
||||
('/business/shipment', 'put'),
|
||||
('/business/shipment/{shipment_ids}', 'delete'),
|
||||
@@ -437,6 +439,10 @@ class ShipmentControllerContractTest(unittest.TestCase):
|
||||
DataResponseModel[ShipmentModel],
|
||||
routes[('/business/shipment/{shipment_id}', 'GET')].response_model,
|
||||
)
|
||||
self.assertEqual(
|
||||
DataResponseModel[list[ShipmentLabelModel]],
|
||||
routes[('/business/shipment/{shipment_id}/labels', 'GET')].response_model,
|
||||
)
|
||||
for key in (
|
||||
('/business/shipment', 'POST'),
|
||||
('/business/shipment', 'PUT'),
|
||||
@@ -446,7 +452,7 @@ class ShipmentControllerContractTest(unittest.TestCase):
|
||||
self.assertEqual(ResponseBaseModel, routes[key].response_model)
|
||||
|
||||
def test_static_options_and_scan_precede_dynamic_detail(self) -> None:
|
||||
paths = [route.path for route in shipment_controller_module.shipment_controller.routes]
|
||||
paths = [route.path_format for route in shipment_controller_module.shipment_controller.routes]
|
||||
detail_index = paths.index('/business/shipment/{shipment_id}')
|
||||
for static_path in (
|
||||
'/business/shipment/warehouse-options',
|
||||
@@ -462,6 +468,7 @@ class ShipmentControllerContractTest(unittest.TestCase):
|
||||
('/business/shipment/site-options', 'GET'): 'business:shipment:query',
|
||||
('/business/shipment/scan/{qr_token}', 'GET'): 'business:shipment:query',
|
||||
('/business/shipment/{shipment_id}', 'GET'): 'business:shipment:query',
|
||||
('/business/shipment/{shipment_id}/labels', 'GET'): 'business:shipment:query',
|
||||
('/business/shipment', 'POST'): 'business:shipment:add',
|
||||
('/business/shipment', 'PUT'): 'business:shipment:edit',
|
||||
('/business/shipment/{shipment_ids}', 'DELETE'): 'business:shipment:list',
|
||||
@@ -1822,8 +1829,8 @@ class ShipmentConfirmServiceTest(unittest.IsolatedAsyncioTestCase):
|
||||
'warehouse-mapping-lock',
|
||||
'site-lock',
|
||||
'site-mapping-lock',
|
||||
'transition-FILLED_IN_WAREHOUSE-AT_SITE_UNUSED',
|
||||
'transition-FILLED_IN_WAREHOUSE-AT_SITE_UNUSED',
|
||||
'transition-FILLED_IN_WAREHOUSE-IN_TRANSIT',
|
||||
'transition-FILLED_IN_WAREHOUSE-IN_TRANSIT',
|
||||
'update-order',
|
||||
'event-2',
|
||||
'event-5',
|
||||
@@ -1843,6 +1850,9 @@ class ShipmentConfirmServiceTest(unittest.IsolatedAsyncioTestCase):
|
||||
self.assertEqual(self.request_hash, shipment.confirm_request_hash)
|
||||
self.assertEqual(7, shipment.confirmed_by)
|
||||
self.assertEqual(self.fixed_time, shipment.confirmed_at)
|
||||
self.assertEqual('PENDING', shipment.receipt_state)
|
||||
self.assertIsNone(shipment.received_by)
|
||||
self.assertIsNone(shipment.received_at)
|
||||
snapshots = {item.pallet_id: (item.active_filling_id, item.package_qty) for item in shipment.items}
|
||||
self.assertEqual({2: (102, 8), 5: (105, 13)}, snapshots)
|
||||
for inventory, original_version, remaining in zip(
|
||||
@@ -1851,7 +1861,8 @@ class ShipmentConfirmServiceTest(unittest.IsolatedAsyncioTestCase):
|
||||
(8, 13),
|
||||
strict=True,
|
||||
):
|
||||
self.assertEqual('AT_SITE_UNUSED', inventory.flow_state)
|
||||
self.assertEqual('IN_TRANSIT', inventory.flow_state)
|
||||
self.assertIsNone(inventory.site_arrived_at)
|
||||
self.assertIsNone(inventory.warehouse_id)
|
||||
self.assertEqual(9, inventory.site_id)
|
||||
self.assertIsNone(inventory.current_line_id)
|
||||
@@ -1865,7 +1876,7 @@ class ShipmentConfirmServiceTest(unittest.IsolatedAsyncioTestCase):
|
||||
self.assertEqual('SHIPMENT', event.source_type)
|
||||
self.assertEqual(12, event.source_id)
|
||||
self.assertEqual('FILLED_IN_WAREHOUSE', event.before_state)
|
||||
self.assertEqual('AT_SITE_UNUSED', event.after_state)
|
||||
self.assertEqual('IN_TRANSIT', event.after_state)
|
||||
self.assertEqual(7, event.before_warehouse_id)
|
||||
self.assertIsNone(event.before_site_id)
|
||||
self.assertIsNone(event.after_warehouse_id)
|
||||
|
||||
Reference in New Issue
Block a user