import unittest
from discovery import queries,family
from matching import score
class MatchingV3Tests(unittest.TestCase):
 def test_queries_expand(self):
  self.assertEqual(len(queries('Director QA','Bengaluru',1)),1)
  self.assertEqual(len(queries('Director QA','Bengaluru',2)),3)
  self.assertEqual(len(queries('Director QA','Bengaluru',3)),7)
 def test_families(self):
  self.assertEqual(family('Senior Director QA'),'senior_director')
  self.assertEqual(family('Senior QA Manager'),'senior_manager')
 def test_rcm_excluded(self):
  x=score({'title':'Director QA - RCM','description':'Lead medical billing claims processing','location':'Bengaluru'},[],'Director QA','Bengaluru')
  self.assertEqual(x['match_status'],'excluded')
 def test_missing_description_review(self):
  x=score({'title':'Director Quality Engineering','description':'','location':'Bengaluru'},[],'Director QA','Bengaluru')
  self.assertEqual(x['match_status'],'review')
 def test_software_director(self):
  x=score({'title':'Director Quality Engineering','description':'Lead software test automation teams and quality strategy. Manage QA engineering organization, CI/CD and release quality. Minimum 12 years experience.','location':'Bengaluru'},['automation'],'Director QA','Bengaluru',15)
  self.assertEqual(x['domain_class'],'software_qe')
if __name__=='__main__':unittest.main()
