import unittest
from agent import safe_profile
from visual_controls import approved_targets
from form_completion import _country

class ProfileFlowTests(unittest.TestCase):
 def test_approved_values_survive_worker_boundary(self):
  source={'full_name':'Example Candidate','email':'candidate@example.test','location':'Bengaluru','country':'India','phone_country_code':'+91'}
  forwarded=safe_profile(source)
  self.assertEqual(forwarded['country'],'India')
  self.assertEqual(forwarded['phone_country_code'],'+91')
  self.assertEqual(approved_targets(forwarded),('India','+91'))
  self.assertEqual(_country(forwarded),'India')
 def test_country_not_inferred_from_city(self):
  self.assertEqual(_country({'location':'Bengaluru'}),'')
 def test_unapproved_code_not_inferred_from_phone(self):
  self.assertEqual(approved_targets({'phone':'07022617433'}),('',''))

if __name__=='__main__':unittest.main()
