Esempio n. 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 )
Esempio n. 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' )
Esempio n. 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' )
Esempio n. 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 )
Esempio n. 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 )
Esempio n. 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' )
Esempio n. 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' )
Esempio n. 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' )
Esempio n. 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' )
Esempio n. 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' )
Esempio n. 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' )
Esempio n. 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')
Esempio n. 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')
Esempio n. 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' )
Esempio n. 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)
Esempio n. 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)
Esempio n. 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')
Esempio n. 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 )
Esempio n. 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 )