def test_calendar__CalendarView__1(address_book, FieldFactory, browser): """It allows to select fields for display in the calendar.""" field = FieldFactory( address_book, IEvent, u'Int', u'reservations').__name__ browser.login('cal-editor') browser.open(browser.CALENDAR_MASTERDATA_URL) browser.getLink('Calendar view').click() assert browser.CALENDAR_MASTERDATA_EDIT_DISPLAY_URL == browser.url browser.getControl('Additional event fields').displayValue = [ 'persons', 'reservations', ] browser.getControl('Save').click() assert 'Data successfully updated.' == browser.message browser.open(browser.CALENDAR_MASTERDATA_EDIT_DISPLAY_URL) assert browser.getControl('Additional event fields').displayValue == [ 'persons', 'reservations', ] # It does not break on selected but deleted user defined field: with zope.component.hooks.site(address_book): event_entity = IEntity(IEvent) event_entity.removeField(event_entity.getRawField(field)) browser.open(browser.CALENDAR_MASTERDATA_EDIT_DISPLAY_URL) assert browser.getControl('Additional event fields').displayValue == [ 'persons', ]
def test_calendar__EventDescription__getInfo__2(address_book, EventFactory, DateTime, CategoryFactory, selected_user_field, utc_time_zone_pref): """It ignores a selected but later deleted user defined field.""" ed = IEventDescription( EventFactory( address_book, **{ 'datetime': DateTime.now, 'text': u'Text1', 'category': CategoryFactory(address_book, u'bar'), selected_user_field: 42 })) event_entity = IEntity(IEvent) event_entity.removeField(event_entity.getRawField(selected_user_field)) assert ['Text1'] == ed.getInfo()