"""包材订单首屏加载与订单 SKU 弹窗布局回归测试。""" import unittest from pathlib import Path APP_JS = (Path(__file__).resolve().parents[1] / 'static/js/app.js').read_text(encoding='utf-8') class PackagingLoadingAndSkuModalTest(unittest.TestCase): def test_packaging_list_does_not_wait_for_auxiliary_requests(self): start = APP_JS.index('function loadPackagingOrdersPage(container)') end = APP_JS.index('function packagingLoadFilters()', start) page_loader = APP_JS[start:end] list_call = page_loader.rindex('packagingLoadOrders(1);') filter_call = page_loader.rindex('packagingLoadFilters();') follower_call = page_loader.rindex('loadOrderFollowers();') self.assertLess(list_call, filter_call) self.assertLess(list_call, follower_call) self.assertNotIn("packagingLoadFilters().then(function()", page_loader) def test_packaging_errors_replace_permanent_loading_state(self): self.assertIn("throw new Error(res.msg || '包材订单加载失败')", APP_JS) self.assertIn('加载失败:', APP_JS) self.assertIn('重新加载', APP_JS) def test_domestic_and_overseas_sku_modal_use_card_layout(self): self.assertIn('class="modal sku-info-modal"', APP_JS) self.assertIn('📋 基础信息', APP_JS) self.assertIn('关联包材', APP_JS) self.assertIn('订单在途', APP_JS) self.assertIn('grid-template-columns:repeat(2,minmax(0,1fr))', APP_JS) if __name__ == '__main__': unittest.main()