def test_plain_filter_or(self):
     """Convert OrGroupFilter to plain object."""
     filt = ContactsFilter(partner=OrGroupFilter([
         MatchFilter(1),
         MatchFilter(2),
     ]))
     self.assertEqual({'partner': [1, 2]}, plain_filter(filt))
 def test_plain_filter_or(self):
     """Convert OrGroupFilter to plain object."""
     filt = ContactsFilter(
         partner=OrGroupFilter([
             MatchFilter(1),
             MatchFilter(2),
         ]))
     self.assertEqual({'partner': [1, 2]}, plain_filter(filt))
 def test_plain_filter_unlinked(self):
     """Convert unlinked filter to plain object."""
     filt = ContactsFilter(tags=UnlinkedFilter())
     self.assertEqual({
         'tags': {
             'nolink': True
         },
     }, plain_filter(filt))
 def test__plain_filter_date_range(self):
     """Convert date range to plain object."""
     filt = ContactsFilter(
         date=DateRangeFilter([
             datetime(2015, 9, 1),
             datetime(2015, 9, 30)]))
     self.assertEqual({
         'date': [datetime(2015, 9, 1), datetime(2015, 9, 30)],
     }, plain_filter(filt))
 def test__plain_filter_date_range(self):
     """Convert date range to plain object."""
     filt = ContactsFilter(date=DateRangeFilter(
         [datetime(2015, 9, 1), datetime(2015, 9, 30)]))
     self.assertEqual(
         {
             'date': [datetime(2015, 9, 1),
                      datetime(2015, 9, 30)],
         }, plain_filter(filt))
예제 #6
0
    def get_default_filter(self, data_type, company):
        """Get a filter object with default values prepopulated.

        data_type: name of query variant, i.e. unaggregated, per_year
        company: company model object for this run.

        returns:
            an adorned filter with default values
            see adorn_filter
        """
        return plain_filter(self.ds.get_default_filter(data_type, company))
예제 #7
0
    def adorn_filter(self, company, filter_spec):
        """Get a version of the filter help added where available.

        company: company model object for this run.
        filter_spec: string with json object for the current user filter.

        returns:
            a json object shaped like filter_spec
            values on fields with help available will be replaced with help
        """
        filter_obj = self.build_filter(filter_spec)
        return plain_filter(adorn_filter(company, self.ds, filter_obj))
 def test_plain_filter_composite_and(self):
     """Convert CompositeAndFilter to plain object."""
     filt = ContactsFilter(
         locations=CompositeAndFilter({
             'city': MatchFilter('indy'),
             'state': MatchFilter('IN'),
         }))
     self.assertEqual({
         'locations': {
             'city': 'indy',
             'state': 'IN',
         },
     }, plain_filter(filt))
 def test_plain_filter_and(self):
     """Convert AndGroupFilter to plain object."""
     filt = ContactsFilter(
         tags=AndGroupFilter([
             OrGroupFilter([
                 MatchFilter(1),
                 MatchFilter(2),
             ]),
             OrGroupFilter([
                 MatchFilter(3),
                 MatchFilter(4),
             ])]))
     self.assertEqual({'tags': [[1, 2], [3, 4]]}, plain_filter(filt))
예제 #10
0
 def test_plain_filter_composite_and(self):
     """Convert CompositeAndFilter to plain object."""
     filt = ContactsFilter(
         locations=CompositeAndFilter({
             'city': MatchFilter('indy'),
             'state': MatchFilter('IN'),
         }))
     self.assertEqual({
         'locations': {
             'city': 'indy',
             'state': 'IN',
         },
     }, plain_filter(filt))
예제 #11
0
 def test_plain_filter_and(self):
     """Convert AndGroupFilter to plain object."""
     filt = ContactsFilter(tags=AndGroupFilter([
         OrGroupFilter([
             MatchFilter(1),
             MatchFilter(2),
         ]),
         OrGroupFilter([
             MatchFilter(3),
             MatchFilter(4),
         ])
     ]))
     self.assertEqual({'tags': [[1, 2], [3, 4]]}, plain_filter(filt))
 def test_plain_filter_unlinked(self):
     """Convert unlinked filter to plain object."""
     filt = ContactsFilter(tags=UnlinkedFilter())
     self.assertEqual({
         'tags': {'nolink': True},
     }, plain_filter(filt))
 def test_plain_filter_match(self):
     """Convert MatchFilter to plain object."""
     filt = PartnersFilter(uri=MatchFilter('www'))
     self.assertEqual({
         'uri': 'www',
     }, plain_filter(filt))
예제 #14
0
 def test_plain_filter_match(self):
     """Convert MatchFilter to plain object."""
     filt = PartnersFilter(uri=MatchFilter('www'))
     self.assertEqual({
         'uri': 'www',
     }, plain_filter(filt))