def test_get_containing_task(self):
        """ We get the parent in a list, if its a task.
        """
        parent_task = self.create_dummy()
        directlyProvides(parent_task, ITask)
        mock_parent_task = self.mocker.proxy(
            parent_task, spec=False, count=False)
        self.expect(mock_parent_task.portal_type).result('task')

        context_task = self.mocker.mock(count=False)
        self.expect(context_task.__parent__).result(mock_parent_task)
        self.expect(context_task.portal_type).result('task')

        parent_obj = self.mocker.mock(count=False)
        self.expect(parent_obj.portal_type).result('obj')

        context_obj = self.mocker.mock(count=False)
        self.expect(context_obj.__parent__).result(parent_obj)
        self.expect(context_obj.portal_type).result('task')

        self.replay()

        view_task = Overview(context_task, self.mock_request)
        view_obj = Overview(context_obj, self.mock_request)

        result_task = view_task.get_containing_task()
        result_obj = view_obj.get_containing_task()

        # We need a list
        self.assertTrue(isinstance(result_task, list))
        self.assertTrue(isinstance(result_obj, list))

        # Check number of items
        self.assertTrue(len(result_task) == 1)
        self.assertTrue(len(result_obj) == 0)
    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_get_containing_task(self):
        """ We get the parent in a list, if its a task.
        """
        parent_task = self.create_dummy()
        directlyProvides(parent_task, ITask)
        mock_parent_task = self.mocker.proxy(parent_task,
                                             spec=False,
                                             count=False)
        self.expect(mock_parent_task.portal_type).result('task')

        context_task = self.mocker.mock(count=False)
        self.expect(context_task.__parent__).result(mock_parent_task)
        self.expect(context_task.portal_type).result('task')

        parent_obj = self.mocker.mock(count=False)
        self.expect(parent_obj.portal_type).result('obj')

        context_obj = self.mocker.mock(count=False)
        self.expect(context_obj.__parent__).result(parent_obj)
        self.expect(context_obj.portal_type).result('task')

        self.replay()

        view_task = Overview(context_task, self.mock_request)
        view_obj = Overview(context_obj, self.mock_request)

        result_task = view_task.get_containing_task()
        result_obj = view_obj.get_containing_task()

        # We need a list
        self.assertTrue(isinstance(result_task, list))
        self.assertTrue(isinstance(result_obj, list))

        # Check number of items
        self.assertTrue(len(result_task) == 1)
        self.assertTrue(len(result_obj) == 0)