def test_case_search_config(self): from corehq.apps.case_search.models import CaseSearchConfig, FuzzyProperties expected_object_counts = Counter({ CaseSearchConfig: 1, }) pre_config, created = CaseSearchConfig.objects.get_or_create( pk=self.domain_name) pre_config.enabled = True fuzzies = [ FuzzyProperties(domain=self.domain, case_type='dog', properties=['breed', 'color']), FuzzyProperties(domain=self.domain, case_type='owner', properties=['name']), ] for fuzzy in fuzzies: fuzzy.save() pre_config.fuzzy_properties = fuzzies pre_config.save() self._dump_and_load(expected_object_counts) post_config = CaseSearchConfig.objects.get(domain=self.domain_name) self.assertTrue(post_config.enabled) self.assertEqual(pre_config.fuzzy_properties, post_config.fuzzy_properties)
def setUpClass(cls): super(BaseLinkedCaseClaimTest, cls).setUpClass() cls.search_config = CaseSearchConfig(domain=cls.domain, enabled=True) cls.search_config.save() fuzzy_property = FuzzyProperties(domain=cls.domain, case_type='case', properties=['a', 'b', 'c']) fuzzy_property.save() ignore_patterns = IgnorePatterns(domain=cls.domain, case_type='case', case_property='a', regex='+') ignore_patterns.save() cls.search_config.fuzzy_properties.add(fuzzy_property) cls.search_config.ignore_patterns.add(ignore_patterns)
def test_link_enables_case_search(self): existing_search_config = CaseSearchConfig(domain=self.domain_link.linked_domain, enabled=False) existing_search_config.save() fuzzy_property = FuzzyProperties(domain=self.domain_link.linked_domain, case_type='case', properties=['a', 'b', 'd']) fuzzy_property.save() existing_search_config.fuzzy_properties.add(fuzzy_property) update_case_search_config(self.domain_link) search_config = (CaseSearchConfig.objects .prefetch_related('fuzzy_properties') .get(domain=self.domain_link.linked_domain)) self.assertTrue(search_config.enabled) # overwrites the existing fuzzy properties settings self.assertEqual(1, search_config.fuzzy_properties.count()) self.assertEqual(['a', 'b', 'c'], search_config.fuzzy_properties.all()[0].properties) self.assertNotEqual(search_config.pk, self.search_config.pk)