def setUp(self): from c2cgeoportal.models import DBSession, Layer, Theme layer = Layer(name=u'__test_layer') mobile_only_layer = Layer(name=u'__test_mobile_only_layer') mobile_only_layer.inDesktopViewer = False desktop_only_layer = Layer(name=u'__test_desktop_only_layer') desktop_only_layer.inMobileViewer = False theme = Theme(name=u'__test_theme') theme.children = [layer, mobile_only_layer, desktop_only_layer] theme.inMobileViewer = True mobile_only_theme = Theme(name=u'__test_mobile_only_theme') mobile_only_theme.children = [layer] mobile_only_theme.inDesktopViewer = False mobile_only_theme.inMobileViewer = True desktop_only_theme = Theme(name=u'__test_desktop_only_theme') desktop_only_theme.children = [layer] desktop_only_theme.inMobileViewer = False # the following theme should not appear in the list of themes on desktop # nor on mobile # It should be accessible by explicitely loading it in mobile though mobile_private_theme = Theme(name=u'__test_mobile_private_theme') mobile_private_theme.children = [layer] mobile_private_theme.inDesktopViewer = False mobile_private_theme.inMobileViewer = False DBSession.add_all([ layer, mobile_only_layer, desktop_only_layer, theme, mobile_only_theme, desktop_only_theme, mobile_private_theme ]) transaction.commit()