def create_app(self, window_class, app_name): self.user = api.get_current_user(self.store) # FIXME: Perhaps we should just ignore permission checking, it'll # save quite a few selects settings = self.store.find(ProfileSettings, app_dir_name=app_name, user_profile=self.user.profile).one() if settings is None: settings = self.create_profile_settings(self.user.profile, app_name) api.user_settings.set(u'actual-version', stoq.stoq_version) self.shell = mock.Mock() self.options = mock.Mock(spec=[u'debug']) self.options.debug = False self.window = ShellWindow(self.options, self.shell, store=self.store) self.window.in_ui_test = True self.window.add_info_bar = lambda *x: None self.window.statusbar.push(0, u'Test Statusbar test') shell_app = self.window.run_application(app_name) assert shell_app is not None return shell_app
def create_window(self): """ Creates a new shell window. Note that it will not contain any applications and it will be hidden. :returns: the shell_window """ from stoq.gui.shell.shellwindow import ShellWindow from stoqlib.database.runtime import get_default_store shell_window = ShellWindow(self._options, shell=self, store=get_default_store()) self.windows.append(shell_window) self._maybe_correct_demo_position(shell_window) return shell_window
class BaseGUITest(GUITest): def setUp(self): original_refresh = ShellApp.refresh # We need to do do this mock since the store here doesn't get # confirmed, so an action to an item that results in the results # getting refreshed would make the results disapear self._refresh_mock = mock.patch( 'stoq.gui.shell.shellapp.ShellApp.refresh', new=lambda s: original_refresh(s, rollback=False)) self._refresh_mock.start() super(BaseGUITest, self).setUp() def tearDown(self): super(BaseGUITest, self).tearDown() self._refresh_mock.stop() def create_app(self, window_class, app_name): self.user = api.get_current_user(self.store) # FIXME: Perhaps we should just ignore permission checking, it'll # save quite a few selects settings = self.store.find(ProfileSettings, app_dir_name=app_name, user_profile=self.user.profile).one() if settings is None: settings = self.create_profile_settings(self.user.profile, app_name) api.user_settings.set(u'actual-version', stoq.stoq_version) self.shell = mock.Mock() self.options = mock.Mock(spec=[u'debug']) self.options.debug = False self.window = ShellWindow(self.options, self.shell, store=self.store) self.window.in_ui_test = True self.window.add_info_bar = lambda *x: None self.window.statusbar.push(0, u'Test Statusbar test') shell_app = self.window.run_application(app_name) assert shell_app is not None return shell_app