Package elisa :: Package plugins :: Package good :: Package xmlmenu :: Package tests :: Module test_activity_node_builder
[hide private]
[frames] | no frames]

Source Code for Module elisa.plugins.good.xmlmenu.tests.test_activity_node_builder

 1   
 2  from node_builder_test import NodeBuilderTest, StupidModel 
 3  from elisa.core.tests.elisa_test_case import ElisaTestCase 
 4   
 5  from elisa.extern.coherence.et import parse_xml 
 6   
 7  import os 
 8   
9 -class StupidActivity(object):
10 # Ugly Hack! 11 player_model = None 12 dvd_player_model = None 13 slideshow_model = None
14
15 -class ActivityNodeBuilderTest(NodeBuilderTest, ElisaTestCase):
16 component_path = 'xmlmenu:activity_node_builder' 17 entry_identifiers = ['activity_node'] 18
19 - def test_get_entries(self):
20 data = """ 21 <MenuEntry type='activity_node'> 22 <Label translate-domain='elisa-base'>Services</Label> 23 <Icon>services_icon</Icon> 24 <Activity>base:service_activity</Activity> 25 </MenuEntry> 26 """ 27 28 xml = parse_xml(data) 29 test_entry = xml.getroot() 30 31 def done_callback(data): 32 self.assertEquals(len(data), 1) 33 service_model = data[0] 34 self.assertEquals(service_model.theme_icon,'service_icon') 35 self.failIf(service_model.activity == self.component)
36 37 test_model = StupidModel() 38 test_model.activity = StupidActivity() 39 dfr = self.component.build_menu_entry(test_model, test_entry) 40 dfr.addCallback(done_callback) 41 return dfr
42
43 - def test_missing_activity_name(self):
44 data = """ 45 <MenuEntry type='activity_node'> 46 <Label translate-domain='elisa-base'>Services</Label> 47 <Icon>services_icon</Icon> 48 </MenuEntry> 49 """ 50 51 xml = parse_xml(data) 52 test_entry = xml.getroot() 53 54 def done_callback(data): 55 self.assertEquals(len(data), 0)
56 57 test_model = StupidModel() 58 test_model.activity = StupidActivity() 59 dfr = self.component.build_menu_entry(test_model, test_entry) 60 dfr.addCallback(done_callback) 61 return dfr 62
63 - def test_wrong_activity(self):
64 data = """ 65 <MenuEntry type='activity_node'> 66 <Label translate-domain='elisa-base'>Services</Label> 67 <Icon>services_icon</Icon> 68 <Activity>foo:bar_acitivity_that_is_missing</Activity> 69 </MenuEntry> 70 """ 71 72 xml = parse_xml(data) 73 test_entry = xml.getroot() 74 75 def done_callback(data): 76 self.assertEquals(len(data), 0)
77 78 test_model = StupidModel() 79 test_model.activity = StupidActivity() 80 dfr = self.component.build_menu_entry(test_model, test_entry) 81 dfr.addCallback(done_callback) 82 return dfr 83 84 # FIXME: add a test for the menu_model wrapping 85