dy-dashboard/tests/test_planning_bom_remark_expand.py
2026-10-28 11:14:17 +08:00

27 lines
1.5 KiB
Python

"""Planning BOM order remarks can be expanded and edited with the shared viewer."""
from pathlib import Path
import unittest
class PlanningBomRemarkExpandTest(unittest.TestCase):
def test_planning_order_remark_uses_permission_aware_expand_editor(self):
source = (Path(__file__).resolve().parents[1] / 'static/js/app.js').read_text()
self.assertIn('class="pending-remark-field" style="display:block;position:relative;width:400px', source)
self.assertIn('class="form-input bom-remark"', source)
self.assertIn('aria-label="展开编辑包材下单备注"', source)
self.assertIn("openPendingRemarkViewer(this,\\'包材下单备注\\')", source)
self.assertIn("data-material=\"' + matCode + '\" placeholder=\"备注\"' + (window._canEditField && window._canEditField('planning','下单备注')", source)
def test_bottom_save_still_persists_the_same_bom_remark_field(self):
source = (Path(__file__).resolve().parents[1] / 'static/js/app.js').read_text()
save_start = source.index('window.saveBomData = function(productCode)')
save_end = source.index('\n};', save_start)
save_function = source[save_start:save_end]
self.assertIn("document.querySelector('.bom-remark[data-material=\"' + matCode + '\"]')", save_function)
self.assertIn("remark: remarkInput ? remarkInput.value.trim() : ''", save_function)
self.assertIn("fetch('/api/purchase/update_pending'", save_function)
if __name__ == '__main__':
unittest.main()