def test_boxes(self):
        """ Test the boxlayout. We don't check the content, just the layout
        because we test the content in other tests
        """
        self.replay()

        view = Overview(self.mock_context, self.mock_request)
        view.get_main_attributes = lambda : 'box'
        view.documents = lambda : 'box'
        view.get_containing_task = lambda : 'box'
        view.get_sub_tasks = lambda : 'box'
        view.get_predecessor_task = lambda : 'box'
        view.get_successor_tasks = lambda : 'box'

        boxes = view.boxes()

        # Rows
        self.assertTrue(len(boxes) == 2)

        # Left row
        self.assertTrue(len(boxes[0]) == 2)

        # Right row
        self.assertTrue(len(boxes[1]) == 4)

        # The rows contains dicts
        items = boxes[0] + boxes[1]
        for item in items:
            self.assertTrue(type(item) == dict)
    def test_boxes(self):
        """ Test the boxlayout. We don't check the content, just the layout
        because we test the content in other tests
        """
        self.replay()

        view = Overview(self.mock_context, self.mock_request)
        view.get_main_attributes = lambda: 'box'
        view.documents = lambda: 'box'
        view.get_containing_task = lambda: 'box'
        view.get_sub_tasks = lambda: 'box'
        view.get_predecessor_task = lambda: 'box'
        view.get_successor_tasks = lambda: 'box'

        boxes = view.boxes()

        # Rows
        self.assertTrue(len(boxes) == 2)

        # Left row
        self.assertTrue(len(boxes[0]) == 2)

        # Right row
        self.assertTrue(len(boxes[1]) == 4)

        # The rows contains dicts
        items = boxes[0] + boxes[1]
        for item in items:
            self.assertTrue(type(item) == dict)
    def test_documents(self):

        doc_cat_1 = self.mocker.mock(count=False)
        self.expect(doc_cat_1.getObject()).result(doc_cat_1)
        self.expect(doc_cat_1.modified()).result(datetime(2012, 6, 1))

        doc_cat_2 = self.mocker.mock(count=False)
        self.expect(doc_cat_2.getObject()).result(doc_cat_2)
        self.expect(doc_cat_2.modified()).result(datetime(2012, 1, 1))

        doc_rel_1 = self.create_dummy()
        doc_rel_1 = self.mocker.proxy(doc_rel_1, spec=False, count=False)
        self.expect(doc_rel_1.to_object).result(doc_rel_1)
        self.expect(
            doc_rel_1.portal_type).result('opengever.document.document')
        self.expect(doc_rel_1.modified()).result(datetime(2012, 3, 1))

        doc_rel_2 = self.create_dummy()
        doc_rel_2 = self.mocker.proxy(doc_rel_2, spec=False, count=False)
        self.expect(doc_rel_2.to_object).result(doc_rel_2)
        self.expect(doc_rel_2.portal_type).result('ftw.mail.mail')
        self.expect(doc_rel_2.modified()).result(datetime(2012, 2, 1))

        mock_catalog = self.mocker.mock()
        self.mock_tool(mock_catalog, 'portal_catalog')
        self.expect(mock_catalog(path=ANY, portal_type=ANY)).result(
            [doc_cat_1, doc_cat_2])

        self.expect(self.mock_context.relatedItems).result(
            [doc_rel_1, doc_rel_2])
        self.expect(self.mock_context.getPhysicalPath()).result('google')

        self.replay()

        view = Overview(self.mock_context, self.mock_request)
        docs = view.documents()

        # Look for sort-order
        self.assertEqual(docs[0].modified(), datetime(2012, 6, 1))
        self.assertEqual(docs[1].modified(), datetime(2012, 3, 1))
        self.assertEqual(docs[2].modified(), datetime(2012, 2, 1))
        self.assertEqual(docs[3].modified(), datetime(2012, 1, 1))
    def test_documents(self):

        doc_cat_1 = self.mocker.mock(count=False)
        self.expect(doc_cat_1.getObject()).result(doc_cat_1)
        self.expect(doc_cat_1.modified()).result(datetime(2012, 6, 1))

        doc_cat_2 = self.mocker.mock(count=False)
        self.expect(doc_cat_2.getObject()).result(doc_cat_2)
        self.expect(doc_cat_2.modified()).result(datetime(2012, 1, 1))

        doc_rel_1 = self.create_dummy()
        doc_rel_1 = self.mocker.proxy(doc_rel_1, spec=False, count=False)
        self.expect(doc_rel_1.to_object).result(doc_rel_1)
        self.expect(doc_rel_1.portal_type).result('opengever.document.document')
        self.expect(doc_rel_1.modified()).result(datetime(2012, 3, 1))

        doc_rel_2 = self.create_dummy()
        doc_rel_2 = self.mocker.proxy(doc_rel_2, spec=False, count=False)
        self.expect(doc_rel_2.to_object).result(doc_rel_2)
        self.expect(doc_rel_2.portal_type).result('ftw.mail.mail')
        self.expect(doc_rel_2.modified()).result(datetime(2012, 2, 1))

        mock_catalog = self.mocker.mock()
        self.mock_tool(mock_catalog, 'portal_catalog')
        self.expect(mock_catalog(path=ANY, portal_type=ANY)).result([doc_cat_1, doc_cat_2])

        self.expect(self.mock_context.relatedItems).result([doc_rel_1, doc_rel_2])
        self.expect(self.mock_context.getPhysicalPath()).result('google')

        self.replay()

        view = Overview(self.mock_context, self.mock_request)
        docs = view.documents()

        # Look for sort-order
        self.assertEqual(docs[0].modified(), datetime(2012, 6, 1))
        self.assertEqual(docs[1].modified(), datetime(2012, 3, 1))
        self.assertEqual(docs[2].modified(), datetime(2012, 2, 1))
        self.assertEqual(docs[3].modified(), datetime(2012, 1, 1))