Example #1
0
    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 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)
    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)