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()
Exemple #10
0
 def setUp(self):
     self.geoip = GeoIP(make_app())