import unittest
from pathlib import Path

class DynamicAddressRegression(unittest.TestCase):
 def test_dropdown_selected_before_first_text_scan(self):
  src=Path(__file__).with_name('form_completion.py').read_text()
  fn=src[src.index('def complete_form('):]
  self.assertLess(fn.index('dropdown_verified,dropdown_issues=complete_dropdowns'),fn.index('for attempt in range(max_passes)'))
 def test_dynamic_form_rescanned(self):
  src=Path(__file__).with_name('form_completion.py').read_text()
  self.assertIn('page.wait_for_timeout(900)',src)
  self.assertIn('extra_verified,extra_issues=complete_dropdowns',src)
 def test_transport_address(self):
  from agent import safe_profile
  p={k:'Approved' for k in ('address_line1','address_line2','city','state','postal_code')}
  self.assertEqual({k:safe_profile(p)[k] for k in p},p)
if __name__=='__main__':unittest.main()
