46 lines
2.0 KiB
Python
46 lines
2.0 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)
|
|
|
|
def test_sku_information_sections_use_bordered_tables_with_colored_headers(self):
|
|
self.assertIn('class="sku-info-basic-table"', APP_JS)
|
|
self.assertIn('class="sku-info-transit-table"', APP_JS)
|
|
self.assertIn('border:1px solid #b8c8db', APP_JS)
|
|
self.assertIn('border:1px solid #b9cdbf', APP_JS)
|
|
self.assertIn('background:#eef6ff', APP_JS)
|
|
self.assertIn('background:#edf8f0', APP_JS)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|