"""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()