Edgewall Software

Ticket #1942: ct-tests.patch

File ct-tests.patch, 2.3 KB (added by shoffmann, 6 months ago)

1st attempt on implementation-specific unit tests

  • trac/ticket/tests/api.py

    # HG changeset patch
    # Parent 5ffda3c2392c73b914c902e4ea0303ee5d462a19
    Add some tests for custom time fields implementation.
    
    diff --git a/trac/ticket/tests/api.py b/trac/ticket/tests/api.py
    a b  
    7070                          'order': 0, 'format': 'wiki', 'custom': True}, 
    7171                         fields[0]) 
    7272 
     73    def test_custom_field_time(self): 
     74        self.env.config.set('ticket-custom', 'test', 'time') 
     75        self.env.config.set('ticket-custom', 'test.label', 'Test') 
     76        self.env.config.set('ticket-custom', 'test.value', '') 
     77        fields = TicketSystem(self.env).get_custom_fields() 
     78        self.assertEqual({'name': 'test', 'type': 'time', 'label': 'Test', 
     79                          'value': '', 'order': 0, 'format': 'datetime', 
     80                          'custom': True}, 
     81                         fields[0]) 
     82 
    7383    def test_custom_field_order(self): 
    7484        self.env.config.set('ticket-custom', 'test1', 'text') 
    7585        self.env.config.set('ticket-custom', 'test1.order', '2') 
  • trac/ticket/tests/model.py

    diff --git a/trac/ticket/tests/model.py b/trac/ticket/tests/model.py
    a b  
    298298        self.assertEqual('on', ticket['cbon']) 
    299299        self.assertEqual('0', ticket['cboff']) 
    300300 
     301    def test_custom_time(self): 
     302        # Add a custom field of type 'time' 
     303        self.env.config.set('ticket-custom', 'due', 'time') 
     304        ticket = Ticket(self.env) 
     305        self.assertFalse('due' in ticket.std_fields) 
     306        self.assertTrue('due' in ticket.time_fields) 
     307        ticket['reporter'] = 'john' 
     308        ticket['summary'] = 'Task1' 
     309        tktid = ticket.insert() 
     310        ticket = Ticket(self.env, tktid) 
     311        # Empty string is default value, but not a time stamp 
     312        self.assertEqual(None, ticket['due']) 
     313        ts = datetime(2011, 11, 11, 0, 0, 0, 0, utc) 
     314        ticket['due'] = ts 
     315        ticket.save_changes('joe') 
     316        self.assertEqual(ts, ticket['due']) 
     317        ticket['due'] = '' 
     318        ticket.save_changes('joe') 
     319        self.assertEqual('', ticket['due']) 
     320 
    301321    def test_changelog(self): 
    302322        tkt_id = self._insert_ticket('Test', reporter='joe', component='foo', 
    303323                                     milestone='bar')