Beispiel #1
0
    def test_nondefault_value(self):
        class OrderByFilter(listfilter.django.single.select.AbstractOrderBy):
            def get_ordering_options(self):
                return [
                    ('', {
                        'label': 'asc',
                        'order_by': ['mydatetimefield'],
                    }),
                    ('desc', {
                        'label': 'desc',
                        'order_by': ['-mydatetimefield'],
                    }),
                ]

        testfilter = OrderByFilter(slug='orderby')
        testfilter.set_values(values=['desc'])
        testitem2 = baker.make(
            'cradmin_viewhelpers_testapp.FilterTestModel',
            mydatetimefield=datetimeutils.default_timezone_datetime(
                2016, 1, 2))
        testitem1 = baker.make(
            'cradmin_viewhelpers_testapp.FilterTestModel',
            mydatetimefield=datetimeutils.default_timezone_datetime(
                2015, 1, 2))
        self.assertEqual(
            [testitem2, testitem1],
            list(testfilter.filter(queryobject=FilterTestModel.objects.all())))
Beispiel #2
0
 def test_this_month_match(self):
     testfilter = listfilter.django.single.select.DateTime(
         slug='mydatetimefield')
     testfilter.set_values(values=['this_month'])
     start_of_month = baker.make(
         'cradmin_viewhelpers_testapp.FilterTestModel',
         mydatetimefield=datetimeutils.default_timezone_datetime(
             2015, 12, 1))
     middle_of_month = baker.make(
         'cradmin_viewhelpers_testapp.FilterTestModel',
         mydatetimefield=datetimeutils.default_timezone_datetime(
             2015, 12, 24))
     end_of_month = baker.make(
         'cradmin_viewhelpers_testapp.FilterTestModel',
         mydatetimefield=datetimeutils.default_timezone_datetime(
             2015, 12, 31, 23))
     with mock.patch(
             'cradmin_legacy.viewhelpers.listfilter.basefilters.single.abstractselect.timezone.now',
             lambda: datetimeutils.default_timezone_datetime(
                 2015, 12, 7, 12, 30)):
         self.assertEqual(
             {start_of_month, middle_of_month, end_of_month},
             set(
                 testfilter.filter(
                     queryobject=FilterTestModel.objects.all())))
Beispiel #3
0
 def test_yesterday_nomatch(self):
     testfilter = listfilter.django.single.select.DateTime(
         slug='mydatetimefield')
     testfilter.set_values(values=['yesterday'])
     baker.make('cradmin_viewhelpers_testapp.FilterTestModel',
                mydatetimefield=datetimeutils.default_timezone_datetime(
                    2015, 1, 10))
     with mock.patch(
             'cradmin_legacy.viewhelpers.listfilter.basefilters.single.abstractselect.timezone.now',
             lambda: datetimeutils.default_timezone_datetime(2015, 1, 12)):
         self.assertFalse(
             testfilter.filter(
                 queryobject=FilterTestModel.objects.all()).exists())
Beispiel #4
0
 def test_last_seven_days_match(self):
     testfilter = listfilter.django.single.select.DateTime(
         slug='mydatetimefield')
     testfilter.set_values(values=['last_seven_days'])
     testitem = baker.make(
         'cradmin_viewhelpers_testapp.FilterTestModel',
         mydatetimefield=datetimeutils.default_timezone_datetime(
             2015, 1, 3))
     with mock.patch(
             'cradmin_legacy.viewhelpers.listfilter.basefilters.single.abstractselect.timezone.now',
             lambda: datetimeutils.default_timezone_datetime(
                 2015, 1, 10, 12, 30)):
         self.assertEqual(
             {testitem},
             set(
                 testfilter.filter(
                     queryobject=FilterTestModel.objects.all())))
Beispiel #5
0
 def test_is_null(self):
     testfilter = listfilter.django.single.select.NullDateTime(
         slug='mynulldatetimefield')
     testfilter.set_values(values=['is_null'])
     baker.make('cradmin_viewhelpers_testapp.FilterTestModel',
                mynulldatetimefield=datetimeutils.default_timezone_datetime(
                    2014, 12, 31))
     isnull = baker.make('cradmin_viewhelpers_testapp.FilterTestModel',
                         mynulldatetimefield=None)
     self.assertEqual(
         {isnull},
         set(testfilter.filter(queryobject=FilterTestModel.objects.all())))
    def test_datetime_field_with_default_with_instance(self):
        class MyModelForm(automodelform.ModelForm):
            class Meta:
                model = AutoFormTestModel
                fields = ['datetimefield_with_default']

        autoformtestmodelobject = baker.make(
            'cradmin_automodelform_testapp.AutoFormTestModel',
            datetimefield_with_default=datetimeutils.default_timezone_datetime(
                2015, 12, 24, 12, 0, 0))
        selector = htmls.S(
            MyModelForm(instance=autoformtestmodelobject).as_ul())
        self.assertEqual(
            '2015-12-24 12:00:00',
            selector.one(
                'input[type="text"][name="datetimefield_with_default"]')
            ['value'])
        self.assertTrue(
            selector.exists('.cradmin-legacy-datepicker-triggerbutton'))