Changeset 47425

Show
Ignore:
Timestamp:
07/25/06 17:25:45 (2 years ago)
Author:
ogrisel
Message:

added regression test to reproduce #1707 (not fixed yet)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Zope2/CalZope/trunk/tests/test_icalendar.py

    r47412 r47425  
    2525# but hard to reuse doctests in Zope 2 context.. 
    2626import unittest 
    27 from datetime import datetime, timedelta 
     27from datetime import datetime 
    2828 
    2929from zope.app import zapi 
    3030 
    3131from calendartest import CalendarTestCase 
    32 from calcore import cal, recurrent 
    33 from calcore.interfaces import IStorageManager 
    3432from Products.CalZope.interfaces import IZopeAttendeeSource 
    3533 
     
    139137        self.failUnlessEqual(event.document, None) 
    140138 
     139    # XXX:fixme the reindexation does not work 
     140    def broken_test_simpleimport_export_changedate_import(self): 
     141        # regression test for http://svn.nuxeo.org/trac/pub/ticket/1707 
     142        calendar = self.folder.martijn_cal 
     143        calendar.import_(icalsimple) 
     144        event = calendar.getEvent('simpleevent') 
     145        self.failUnlessEqual(event.title, 'A simple event.') 
     146        self.failUnlessEqual(event.document, None) 
     147 
     148        # this event is indexed on the 20th of october 
     149        day_20 = (datetime(2005, 10, 20, 0, 0), datetime(2005, 10, 20, 23, 59)) 
     150        result = calendar.getEvents(period=day_20) 
     151        self.failUnlessEqual(result, [event]) 
     152 
     153        # and no event is registered on the 21st 
     154        day_21 = (datetime(2005, 10, 21, 0, 0), datetime(2005, 10, 21, 23, 59)) 
     155        result = calendar.getEvents(period=day_20) 
     156        self.failUnlessEqual(result, []) 
     157 
     158        # export the calendar, and move the event the next day and reimport it 
     159        text = calendar.export() 
     160        changed_text = text.replace('20051020', '20051021') 
     161        calendar.import_(changed_text) 
     162 
     163        # the date of the event has been updated to the 21st of october: 
     164        self.failUnlessEqual(event.dtstart, datetime(2005, 10, 21, 11, 55)) 
     165        dtend = event.dtstart + event.duration 
     166        self.failUnlessEqual(dtend, datetime(2005, 10, 21, 12, 55)) 
     167 
     168        # the event was also reindexed to that date 
     169        result = calendar.getEvents(period=day_21) 
     170        self.failUnlessEqual(result, [event]) 
     171 
     172        # and it's no longer indexed on the 20st 
     173        result = calendar.getEvents(period=day_20) 
     174        self.failUnlessEqual(result, []) 
     175 
     176 
     177 
    141178 
    142179def test_suite():