Ejemplo 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 )
Ejemplo 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' )
Ejemplo 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' )
Ejemplo 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 )
Ejemplo 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 )
Ejemplo 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' )
Ejemplo 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' )
Ejemplo 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' )
Ejemplo 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' )
Ejemplo 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' )
Ejemplo 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' )
Ejemplo 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')
Ejemplo 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')
Ejemplo 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' )
Ejemplo 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)
Ejemplo 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)
Ejemplo 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')
Ejemplo 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 )
Ejemplo 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 )