def test_get_type(self): """ Test for get_type method """ # None item_none = [] # Dict item_dict = {'dict':'dict'} # SQLalchemy object item_sql = Task('id', 'id') # Task-Object item_task = self.create_dummy() directlyProvides(item_task, ITask) # Others item_obj = self.create_dummy() self.replay() view = Overview(self.mock_context, self.mock_request) self.assertEqual(view.get_type(item_none), None) self.assertEqual(view.get_type(item_dict), 'dict') self.assertEqual(view.get_type(item_sql), 'task') self.assertEqual(view.get_type(item_task), 'task') self.assertEqual(view.get_type(item_obj), 'obj')
def test_task_state_wrapper(self): """ Wrap the state-class arount a text """ # SQLalchemy object item_sql = Task('id', 'id') mock_item_sql = self.mocker.proxy(item_sql, spec=False) self.expect(mock_item_sql.review_state).result('state-sql') # Task-Object item_task = self.create_dummy() directlyProvides(item_task, ITask) # Others item_obj = self.create_dummy() mock_wftool = self.mocker.mock() self.mock_tool(mock_wftool, 'portal_workflow') self.expect(mock_wftool.getInfoFor(ANY, ANY)).result('state-task') self.replay() view = Overview(self.mock_context, self.mock_request) sql = view._task_state_wrapper(mock_item_sql, 'wraptext') task = view._task_state_wrapper(item_task, 'wraptext') obj = view._task_state_wrapper(item_obj, 'wraptext') self.assertEqual(obj, '') self.assertEqual(sql, '<span class="wf-state-sql">wraptext</span>') self.assertEqual(task, '<span class="wf-state-task">wraptext</span>')
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_get_predecessor_task(self): """ Get the predecessor in a list """ context_with = self.create_dummy() directlyProvides(context_with, ISuccessorTaskController) mock_context_with = self.mocker.proxy(context_with, spec=False) self.expect(mock_context_with.get_predecessor()).result('predecessor') context_without = self.create_dummy() directlyProvides(context_without, ISuccessorTaskController) mock_context_without = self.mocker.proxy(context_without, spec=False) self.expect(mock_context_without.get_predecessor()).result(None) self.replay() view_with = Overview(mock_context_with, self.mock_request) view_without = Overview(mock_context_without, self.mock_request) result_with = view_with.get_predecessor_task() result_without = view_without.get_predecessor_task() # We need a list self.assertTrue(isinstance(result_with, list)) self.assertTrue(isinstance(result_without, list)) # Check number of items self.assertTrue(len(result_with) == 1) self.assertTrue(len(result_without) == 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_css_class(self): item = self.mocker.mock(count=False) self.expect(item.portal_type).result('testtype') id_normalizer = self.mocker.mock() self.expect(id_normalizer(ANY)).call(lambda x: x) self.expect(id_normalizer.normalize).result(id_normalizer) self.mock_utility(id_normalizer, IIDNormalizer) self.replay() view = Overview(self.mock_context, self.mock_request) # Check the string self.assertEqual(view.get_css_class(item), "rollover-breadcrumb contenttype-testtype")
def test_get_css_class(self): item = self.mocker.mock(count=False) self.expect(item.portal_type).result('testtype') id_normalizer = self.mocker.mock() self.expect(id_normalizer(ANY)).call(lambda x: x) self.expect(id_normalizer.normalize).result(id_normalizer) self.mock_utility(id_normalizer, IIDNormalizer) self.replay() view = Overview(self.mock_context, self.mock_request) # Check the string self.assertEqual( view.get_css_class(item), "rollover-breadcrumb contenttype-testtype" )
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_get_task_info(self): # Task-Object item_task = self.create_dummy() directlyProvides(item_task, ITask) mock_item_task = self.mocker.proxy(item_task, spec=False, count=False) self.expect(mock_item_task.responsible_client).result('client_name') self.expect(mock_item_task.responsible).result('user1') # Task-Object wihout responsible client item_task_without = self.create_dummy() directlyProvides(item_task_without, ITask) mock_item_task_without = self.mocker.proxy(item_task_without, spec=False, count=False) self.expect(mock_item_task_without.responsible_client).result(None) self.expect(mock_item_task_without.responsible).result('user2') # Others item_obj = self.create_dummy() # Contactinfo utility contact_info = self.mocker.mock(count=False) self.mock_utility(contact_info, IContactInformation) self.expect(contact_info.get_clients()).result(['c1', 'c2']) self.expect(contact_info.get_client_by_id(ANY)).result(None) self.expect(contact_info.describe(ANY)).call(lambda x: x) self.expect(contact_info.render_link(ANY)).call(lambda x: x) self.replay() view = Overview(self.mock_context, self.mock_request) info_obj = view.get_task_info(item_obj) info_with = view.get_task_info(mock_item_task) info_without = view.get_task_info(mock_item_task_without) self.assertEqual(info_obj, '') self.assertEqual(info_with, 'client_name / user1') self.assertEqual(info_without, 'user2')
def test_get_type(self): """ Test for get_type method """ # None item_none = [] # Dict item_dict = {'dict': 'dict'} # SQLalchemy object item_sql = Task('id', 'id') # Task-Object item_task = self.create_dummy() directlyProvides(item_task, ITask) # Others item_obj = self.create_dummy() self.replay() view = Overview(self.mock_context, self.mock_request) self.assertEqual(view.get_type(item_none), None) self.assertEqual(view.get_type(item_dict), 'dict') self.assertEqual(view.get_type(item_sql), 'task') self.assertEqual(view.get_type(item_task), 'task') self.assertEqual(view.get_type(item_obj), 'obj')
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_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)