def _fetch_return_value(self): try: (start_day, start_month, start_year) = self._basic_input_conversion(0) except Exception as e: # Errormessage is already set return None try: start_date = AlexDate(start_year, start_month, start_day) except InvalidDateException as e: self._view.errormessage = e.args[0] return None if self._view.years[1] == '': return AlexDateRange(start_date, None) try: (end_day, end_month, end_year) = self._basic_input_conversion(1) except Exception as e: # Errormessage is already set return None try: end_date = AlexDate(end_year, end_month, end_day) except InvalidDateException as e: self._view.errormessage = e.args[0] return None return AlexDateRange(start_date, end_date)
def test_equality(self): event1 = Event(1970010155) event1.daterange = AlexDateRange(1970010155, 1970020100) event1.description = "My event" event2 = Event(1970010155) event2.daterange = AlexDateRange(1970010155, 1970020100) event2.description = "My event" self.assertEqual(event1, event2)
def __init__(self): self.events = [] self.events.append(Event(1940010101)) self.events[-1].daterange = AlexDateRange(1940010100, None) self.events[-1].description = "Demo event 1" self.crossreferences = {} self.crossreferences[self.events[-1]] = []
def test_initialization_from_dates(self): start = AlexDate(1970, 1, 1) end = AlexDate(1970, 2, 1) date_range = AlexDateRange(start, end) self.assertEqual( "1. " + _("January") + " 1970 - 1. " + _("February") + " 1970", "%s" % date_range)
def test_string_generation(self): event = Event(1970040155) event.daterange = AlexDateRange(1970040155, 1970090100) event.description = "My event" self.assertEqual("%s" % event, "1. April 1970 - 1. September 1970: My event")
def set_current_event(self, event_id): if event_id is not None: event = self.event_dao.get_by_id(event_id) else: event = Event() event.daterange = AlexDateRange(AlexDate(1936), None) message = Message(CONF_EVENT_CHANGED, event=event) self.message_broker.send_message(message)
def test_range(self): self.view.days = ["1", "31"] self.view.months = ["12", "1"] self.view.years = ["1960", "1961"] self.presenter.ok_action() self.assertEqual(AlexDateRange(1960120100, 1961013100), self.view.return_value)
def test_single_date(self): self.view.days = ["1", ""] self.view.months = ["12", ""] self.view.years = ["1960", ""] self.presenter.ok_action() self.assertEqual(AlexDateRange(1960120100, None), self.view.return_value)
def get_events_for_date(self, alex_date): ''' This just invents some events and adds it to our "database" ''' events = [] for counter in range(1, 3): event = Event(alex_date.as_key(counter)) event.daterange = AlexDateRange(alex_date.as_key(counter), None) event.description = "Demo event %d" % counter events.append(event) self.events.append(event) return events
def test_key_update_event(self): referenced_ids = self.references_dao.fetch_document_ids_for_event_id( 1950000002) self.assertEqual(len(referenced_ids), 0) event = self.dao.get_by_id(1940000001) event.daterange = AlexDateRange(1950000000, None) self.dao.save(event) exception_raised = False try: event = self.dao.get_by_id(1940000001) except NoSuchEntityException: exception_raised = True self.assertTrue(exception_raised) event = self.dao.get_by_id(1950000002) self.assertEqual(event.description, "Erstes Ereignis") referenced_ids = self.references_dao.fetch_document_ids_for_event_id( 1950000002) self.assertTrue(len(referenced_ids) > 0)
def test_save_new(self): exception_raised = False try: self.dao.get_by_id(1951010101) except NoSuchEntityException: exception_raised = True self.assertTrue(exception_raised) event = Event() event.daterange = AlexDateRange(1951010100, 1951010500) event.description = "New description" event.status_id = 1 self.assertFalse(event.id) self.dao.save(event) self.assertTrue(event.id) self.assertEqual(event.id, 1951010101) event = self.dao.get_by_id(1951010101) self.assertTrue(event) self.assertEqual(event.erfasser.name, "Admin") self.assertEqual(event.description, "New description") self.assertEqual(event.status_id, 1)
def testToStringJustYear(self): daterange = AlexDateRange(1940000001, None) self.assertEqual(str(daterange), "1940")
class EventTypeReferencesPresenterTest(BaseIntegrationTest): existing_event = Event(1940000001) non_existing_event = Event() non_existing_event.daterange = AlexDateRange(AlexDate(1930), None) def setUp(self): super().setUp() self.injector = self.get_injector(PresentersModule()) self.event_service = self.injector.get( baseinjectorkeys.EVENT_SERVICE_KEY) self.event_type_dao = self.injector.get( baseinjectorkeys.EVENT_TYPE_DAO_KEY) self.presenter = self.injector.get( guiinjectorkeys.EVENT_TYPE_REFERENCES_PRESENTER_KEY) self.view = MagicMock(spec=DocumentFileReferencesView) self.presenter.view = self.view def receive_message(self, message): BaseIntegrationTest.receive_message(self, message) if message.key == REQ_SAVE_CURRENT_EVENT: self.event_service.save(self.view.current_event) @data([1940000001, 2], [1950000001, 1], [1961050101, 0]) @unpack def test_receive_message_1(self, event_id, number_of_references): ''' Assert that the event types are set on event changes. ''' message = Message(CONF_EVENT_CHANGED, event=self.event_service.get_by_id(event_id)) self.message_broker.send_message(message) self.assertEqual(number_of_references, len(self.view.items)) def test_load_event_types(self): ''' Just an additional test when there is now event set. Can't be done via message. ''' self.presenter._load_event_types(None) self.assertEqual(0, len(self.view.items)) @data([existing_event, 3], [non_existing_event, 1]) @unpack def test_add_event_type(self, event, number_of_references): message = Message(CONF_EVENT_CHANGED, event=event) self.message_broker.send_message(message) self.view.new_event_type = self.event_type_dao.get_by_id( EventTypeIdentifier(3, 2)) self.presenter.add_event_type_reference() self.assertEqual(number_of_references, len(self.event_service.get_event_types(event))) def test_add_event_type_2(self): ''' Trying to readd already added type ''' event = self.event_service.get_by_id(1940000001) event_type = self.event_type_dao.get_by_id(EventTypeIdentifier(5, 2)) message = Message(CONF_EVENT_CHANGED, event=event) self.message_broker.send_message(message) self.view.new_event_type = event_type self.assertEqual(2, len(self.event_service.get_event_types(event))) self.presenter.add_event_type_reference() self.assertEqual(2, len(self.event_service.get_event_types(event))) def test_add_event_type_3(self): ''' Test when no event type is selected ''' event = self.event_service.get_by_id(1940000001) message = Message(CONF_EVENT_CHANGED, event=event) self.message_broker.send_message(message) self.view.new_event_type = None self.assertEqual(2, len(self.event_service.get_event_types(event))) self.presenter.add_event_type_reference() self.assertEqual(2, len(self.event_service.get_event_types(event))) def test_remove_event_type(self): event = self.event_service.get_by_id(1940000001) event_type = self.event_type_dao.get_by_id(EventTypeIdentifier(5, 2)) message = Message(CONF_EVENT_CHANGED, event=event) self.message_broker.send_message(message) self.view.selected_item = event_type self.assertEqual(2, len(self.event_service.get_event_types(event))) self.presenter.remove_event_type_reference() self.assertEqual(1, len(self.event_service.get_event_types(event))) def test_remove_event_type_2(self): ''' Test with no type selected. ''' event = self.event_service.get_by_id(1940000001) message = Message(CONF_EVENT_CHANGED, event=event) self.message_broker.send_message(message) self.view.selected_item = None self.assertEqual(2, len(self.event_service.get_event_types(event))) self.presenter.remove_event_type_reference() self.assertEqual(2, len(self.event_service.get_event_types(event)))
def testToStringBothYearAndMonth(self): daterange = AlexDateRange(1940040001, 1942080000) self.assertEqual(str(daterange), "April 1940 - August 1942")
def testToStringBothYear(self): daterange = AlexDateRange(1940000000, 1941000000) self.assertEqual(str(daterange), "1940 - 1941")
def test_equality_IV(self): date_range1 = AlexDateRange(1970010155, 1970020100) date_range2 = AlexDateRange(1970010155, None) self.assertNotEqual(date_range1, date_range2)
def test_equality_V(self): date_range = AlexDateRange(1970010155, 1970020100) self.assertNotEqual(date_range, None) self.assertNotEqual(None, date_range)
def testToStringBothYearAndMonthAndDar(self): daterange = AlexDateRange(1940041301, 1942081400) self.assertEqual(str(daterange), "13. April 1940 - 14. August 1942")
def test_key_generation(self): date_range = AlexDateRange(1970010155, 1970020100) self.assertEqual(date_range.get_key(), 1970010155)
def __init__(self): event1 = Event(1940000001) event1.daterange = AlexDateRange(1940000001, None) self.events = {} self.events[1] = [event1]
def testToStringYearAndMonthAndDay(self): daterange = AlexDateRange(1940041301, None) self.assertEqual(str(daterange), "13. April 1940")
def test_create_new(self): date_range = AlexDateRange(alex_date_from_key(2015010100), None) event = self.event_service.create_new(date_range) self.assertIsInstance(event, Event) self.assertEqual(event.daterange, date_range)