Exemple #1
0
    def test_get_content_states(self):
        """ To test content states we need to setup workflow and use real content types."""
        from voteit.core.models.meeting import Meeting
        from voteit.core.models.agenda_item import AgendaItem
        self.config.include('pyramid_zcml')
        self.config.load_zcml('voteit.core:configure.zcml')

        meeting = Meeting()
        meeting.title = 'Hello Meeting'
        ai1 = AgendaItem()
        ai1.title = 'Stuff to do'
        ai2 = AgendaItem()
        ai2.title = 'More important things'
        meeting['ai1'] = ai1
        meeting['ai2'] = ai2
        meeting['b1'] = self._cut()

        self.assertEqual(
            meeting.get_content(sort_on='title', states='private'), (ai2, ai1))
        self.assertEqual(
            meeting.get_content(sort_on='title',
                                states=('private', 'upcoming')), (ai2, ai1))
        request = testing.DummyRequest()
        ai1.set_workflow_state(request, 'upcoming')
        self.assertEqual(
            meeting.get_content(sort_on='title', states='private'), (ai2, ))
        self.assertEqual(
            meeting.get_content(sort_on='title',
                                states=('private', 'some_other')), (ai2, ))
        self.assertEqual(
            meeting.get_content(sort_on='title',
                                states=(
                                    'private',
                                    'upcoming',
                                )), (ai2, ai1))
 def test_get_content_by_interface(self):
     from voteit.core.models.meeting import Meeting
     from voteit.core.models.agenda_item import AgendaItem
     from voteit.core.models.interfaces import IAgendaItem
     from voteit.core.models.interfaces import IBaseContent
     meeting = Meeting()
     meeting['ai1'] = AgendaItem()
     meeting['ai2'] = AgendaItem()
     meeting['b1'] = self._cut()
     res = meeting.get_content(iface = IAgendaItem)
     self.assertEqual(len(res), 2)
     #IAgendaItem subclasses IBaseContent
     res = meeting.get_content(iface = IBaseContent)
     self.assertEqual(len(res), 3)
 def test_get_content_specific_content_type(self):
     from voteit.core.models.meeting import Meeting
     from voteit.core.models.agenda_item import AgendaItem
     meeting = Meeting()
     meeting['ai1'] = AgendaItem()
     meeting['ai2'] = AgendaItem()
     meeting['b1'] = self._cut()
     res = meeting.get_content(content_type = 'AgendaItem')
     self.assertEqual(len(res), 2)
    def test_get_content_states(self):
        """ To test content states we need to setup workflow and use real content types."""
        from voteit.core.models.meeting import Meeting
        from voteit.core.models.agenda_item import AgendaItem
        self.config.include('pyramid_zcml')
        self.config.load_zcml('voteit.core:configure.zcml')

        meeting = Meeting()
        meeting.title = 'Hello Meeting'
        ai1 = AgendaItem()
        ai1.title = 'Stuff to do'
        ai2 = AgendaItem()
        ai2.title = 'More important things'
        meeting['ai1'] = ai1
        meeting['ai2'] = ai2
        meeting['b1'] = self._cut()
        
        self.assertEqual(meeting.get_content(sort_on = 'title', states='private'), (ai2, ai1))
        self.assertEqual(meeting.get_content(sort_on = 'title', states=('private', 'upcoming')), (ai2, ai1))
        request = testing.DummyRequest()
        ai1.set_workflow_state(request, 'upcoming')
        self.assertEqual(meeting.get_content(sort_on = 'title', states='private'), (ai2,))
        self.assertEqual(meeting.get_content(sort_on = 'title', states=('private', 'some_other')), (ai2,))
        self.assertEqual(meeting.get_content(sort_on = 'title', states=('private', 'upcoming',)), (ai2, ai1))