Beispiel #1
0
    def test_ListOfDefaultDates( self ):
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        d = friendly.defaultDateOptions()
        self.assertEqual( d[0][0], 0 )
        self.assertEqual( d[1][0], 1 )
        self.assertEqual( d[2][0], 2 )
Beispiel #2
0
    def test_Clear( self ):
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.edit( value=None )
        self.assertEqual( friendly.value, None )
        self.assertEqual( friendly.operation, 'min' )
        self.assertEqual( friendly.daterange, 'old' )
Beispiel #3
0
    def test_Basic( self ):
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.apply( self.lessThanFiveDaysOld )
        self.assertEqual( friendly.value, 4 )
        self.assertEqual( friendly.operation, 'min' )
        self.assertEqual( friendly.daterange, 'old' )
Beispiel #4
0
    def test_ListOfDefaultDates( self ):

        from Products.CMFTopic.DateCriteria import FriendlyDateCriterion
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        d = friendly.defaultDateOptions()
        self.assertEqual( d[0][0], 0 )
        self.assertEqual( d[1][0], 1 )
        self.assertEqual( d[2][0], 2 )
Beispiel #5
0
    def test_Empty( self ):
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        self.assertEqual( friendly.getId(), 'foo' )
        self.assertEqual( friendly.field, 'foofield' )
        self.assertEqual( friendly.value, None )
        self.assertEqual( friendly.operation, 'min' )
        self.assertEqual( friendly.daterange, 'old' )
        self.assertEqual( len( friendly.getCriteriaItems() ), 0 )
Beispiel #6
0
    def test_Clear( self ):

        from Products.CMFTopic.DateCriteria import FriendlyDateCriterion
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.edit( value=None )
        self.assertEqual( friendly.value, None )
        self.assertEqual( friendly.operation, 'min' )
        self.assertEqual( friendly.daterange, 'old' )
Beispiel #7
0
    def test_OneMonthAhead( self ):
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.apply( self.lessThanOneMonthAhead )
        self.assertEqual( friendly.daterange, 'ahead' )

        result = friendly.getCriteriaItems()
        self.assertEqual( result[0][1]['query'].Date(),
                          ( DateTime() + 30 ).Date() )
        self.assertEqual( result[0][1]['range'], 'max' )
Beispiel #8
0
    def test_OneMonthAhead( self ):

        from Products.CMFTopic.DateCriteria import FriendlyDateCriterion
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.apply( self.lessThanOneMonthAhead )
        self.assertEqual( friendly.daterange, 'ahead' )

        result = friendly.getCriteriaItems()
        self.assertEqual( result[0][1].Date(), ( DateTime() + 30 ).Date() )
        self.assertEqual( result[1][1], 'range:max' )
Beispiel #9
0
    def test_FiveDaysOld( self ):
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.apply( self.lessThanFiveDaysOld )
        self.assertEqual( friendly.daterange, 'old' )

        result = friendly.getCriteriaItems()
        self.assertEqual( len(result), 1 )
        self.assertEqual( result[0][0], 'foofield' )
        self.assertEqual( result[0][1]['query'].Date(),
                          ( DateTime() - 4 ).Date() )
        self.assertEqual( result[0][1]['range'], 'min' )
Beispiel #10
0
    def test_FiveDaysOld( self ):

        from Products.CMFTopic.DateCriteria import FriendlyDateCriterion
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.apply( self.lessThanFiveDaysOld )
        self.assertEqual( friendly.daterange, 'old' )

        result = friendly.getCriteriaItems()
        self.assertEqual( len( result ), 2 )
        self.assertEqual( result[0][0], 'foofield' )
        self.assertEqual( result[0][1].Date(), ( DateTime() - 4 ).Date() )
        self.assertEqual( result[1][0], 'foofield_usage' )
        self.assertEqual( result[1][1], 'range:min' )
Beispiel #11
0
    def test_Today( self ):
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.apply( self.today )
        self.assertEqual( friendly.daterange, 'ahead' )

        now = DateTime()

        result = friendly.getCriteriaItems()
        self.assertEqual( len(result), 1 )
        self.assertEqual( result[0][0], 'foofield' )
        self.assertEqual( result[0][1]['query'],
                          ( now.earliestTime(), now.latestTime() ) )
        self.assertEqual( result[0][1]['range'], 'min:max' )
Beispiel #12
0
    def test_FiveDaysOld(self):

        from Products.CMFTopic.DateCriteria import FriendlyDateCriterion
        friendly = FriendlyDateCriterion('foo', 'foofield')

        friendly.apply(self.lessThanFiveDaysOld)
        self.assertEqual(friendly.daterange, 'old')

        result = friendly.getCriteriaItems()
        self.assertEqual(len(result), 2)
        self.assertEqual(result[0][0], 'foofield')
        self.assertEqual(result[0][1].Date(), (DateTime() - 4).Date())
        self.assertEqual(result[1][0], 'foofield_usage')
        self.assertEqual(result[1][1], 'range:min')
Beispiel #13
0
    def test_Today(self):

        from Products.CMFTopic.DateCriteria import FriendlyDateCriterion
        friendly = FriendlyDateCriterion('foo', 'foofield')

        friendly.apply(self.today)
        self.assertEqual(friendly.daterange, 'ahead')

        now = DateTime()

        result = friendly.getCriteriaItems()
        self.assertEqual(len(result), 2)
        self.assertEqual(result[0][0], 'foofield')
        self.assertEqual(result[0][1], (now.earliestTime(), now.latestTime()))
        self.assertEqual(result[1][0], 'foofield_usage')
        self.assertEqual(result[1][1], 'range:min:max')
Beispiel #14
0
    def test_Today( self ):

        from Products.CMFTopic.DateCriteria import FriendlyDateCriterion
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.apply( self.today )
        self.assertEqual( friendly.daterange, 'ahead' )

        now = DateTime()

        result = friendly.getCriteriaItems()
        self.assertEqual( len( result ), 2 )
        self.assertEqual( result[0][0], 'foofield' )
        self.assertEqual( result[0][1], ( now.earliestTime()
                                        , now.latestTime() ) )
        self.assertEqual( result[1][0], 'foofield_usage' )
        self.assertEqual( result[1][1], 'range:min:max' )
Beispiel #15
0
    def test_StringAsValue(self):
        friendly = FriendlyDateCriterion('foo', 'foofield')

        friendly.edit('4')
        self.assertEqual(friendly.value, 4)

        friendly.edit('-4')
        self.assertEqual(friendly.value, -4)

        friendly.edit('')
        self.assertEqual(friendly.value, None)
Beispiel #16
0
    def test_StringAsValue(self):

        from Products.CMFTopic.DateCriteria import FriendlyDateCriterion
        friendly = FriendlyDateCriterion('foo', 'foofield')

        friendly.edit('4')
        self.assertEqual(friendly.value, 4)

        friendly.edit('-4')
        self.assertEqual(friendly.value, -4)

        friendly.edit('')
        self.assertEqual(friendly.value, None)
Beispiel #17
0
    def test_BadInput(self):
        friendly = FriendlyDateCriterion('foo', 'foofield')

        # Bogus value
        self.assertRaises(ValueError, friendly.edit, 'blah')

        # Bogus operation
        self.assertRaises(ValueError, friendly.edit, 4, 'min:max', 'old')

        # Bogus daterange
        self.assertRaises(ValueError, friendly.edit, 4, 'max', 'new')
Beispiel #18
0
    def test_StringAsValue( self ):
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.edit( '4' )
        self.assertEqual( friendly.value, 4 )

        friendly.edit( '-4' )
        self.assertEqual( friendly.value, -4 )

        friendly.edit( '' )
        self.assertEqual( friendly.value, None )
Beispiel #19
0
    def test_StringAsValue( self ):

        from Products.CMFTopic.DateCriteria import FriendlyDateCriterion
        friendly = FriendlyDateCriterion( 'foo', 'foofield' )

        friendly.edit( '4' )
        self.assertEqual( friendly.value, 4 )

        friendly.edit( '-4' )
        self.assertEqual( friendly.value, -4 )

        friendly.edit( '' )
        self.assertEqual( friendly.value, None )