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)
Exemplo n.º 3
0
 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")
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
 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)
Exemplo n.º 12
0
 def testToStringJustYear(self):
     daterange = AlexDateRange(1940000001, None)
     self.assertEqual(str(daterange), "1940")
Exemplo n.º 13
0
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)))
Exemplo n.º 14
0
 def testToStringBothYearAndMonth(self):
     daterange = AlexDateRange(1940040001, 1942080000)
     self.assertEqual(str(daterange), "April 1940 - August 1942")
Exemplo n.º 15
0
 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)
Exemplo n.º 18
0
 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)
Exemplo n.º 20
0
 def __init__(self):
     event1 = Event(1940000001)
     event1.daterange = AlexDateRange(1940000001, None)
     self.events = {}
     self.events[1] = [event1]
Exemplo n.º 21
0
 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)