dy-dashboard/tests/test_packaging_loading_and_sku_modal.py

38 lines
1.5 KiB
Python

"""包材订单首屏加载与订单 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()