def test_confirm(self): app = make_app() c = RecoveryChooserConfirmController(app) c.model = mock.Mock(selection='selection') c.confirm() app.respond.assert_called_with('selection') app.exit.assert_called()
def test_confirm_view(self, ccv): app = make_app() c = RecoveryChooserConfirmController(app) c.model = make_model() c.model.select(c.model.systems[0], c.model.systems[0].actions[0]) c.make_ui() ccv.assert_called()
def setUp(self): self.geoip = GeoIP(make_app()) async def fn(): self.assertTrue(await self.geoip.lookup()) run_coro(fn())
def test_back(self): app = make_app() c = RecoveryChooserConfirmController(app) c.model = mock.Mock(selection='selection') c.back() app.respond.assert_not_called() app.exit.assert_not_called() app.prev_screen.assert_called() c.model.unselect.assert_called()
def test_current_ui_first(self, cv, ccsv): app = make_app(model=make_model()) c = RecoveryChooserController(app) # current system view is constructed ccsv.assert_called_with(c, c.model.current, has_more=True) # as well as all systems view cv.assert_called_with(c, c.model.systems) v = c.make_ui() self.assertEqual(v, 'current') # user selects more options and the view is replaced c.more_options() c.ui.set_body.assert_called_with('all')
def test_select(self): app = make_app(model=make_model()) c = RecoveryChooserController(app) c.select(c.model.systems[0], c.model.systems[0].actions[0]) exp = SelectedSystemAction(system=c.model.systems[0], action=c.model.systems[0].actions[0]) self.assertEqual(c.model.selection, exp) app.next_screen.assert_called() app.respond.assert_not_called() app.exit.assert_not_called()
def test_only_one_and_current(self, cv, ccsv): model = RecoverySystemsModel.from_systems([model2_current]) app = make_app(model=model) c = RecoveryChooserController(app) # both views are constructed ccsv.assert_called_with(c, c.model.current, has_more=False) cv.assert_called_with(c, c.model.systems) v = c.make_ui() self.assertEqual(v, 'current') # going back does nothing c.back() c.ui.set_body.not_called()
def test_all_systems_first_no_current(self, cv, ccsv): model = RecoverySystemsModel.from_systems([model1_non_current]) app = make_app(model=model) c = RecoveryChooserController(app) # sanity self.assertIsNone(c.model.current) # we get the all-systems view now cv.assert_called() # current system view is not constructed at all ccsv.assert_not_called() v = c.make_ui() self.assertEqual(v, 'all')
def test_current_current_all_there_and_back(self, cv, ccsv): app = make_app(model=make_model()) c = RecoveryChooserController(app) # sanity ccsv.assert_called_with(c, c.model.current, has_more=True) cv.assert_called_with(c, c.model.systems) v = c.make_ui() self.assertEqual(v, 'current') # user selects more options and the view is replaced c.more_options() c.ui.set_body.assert_called_with('all') # go back now c.back() c.ui.set_body.assert_called_with('current') # nothing c.back() c.ui.set_body.not_called()
def setUp(self): self.geoip = GeoIP(make_app())