Example #1
0
    def test_main_exit(self):
        with patch('builtins.input') as handle_input:
            handle_input.return_value = "4"
            menu_dict = mailroom.main_menu_dict

            with self.assertRaises(SystemExit):
                mailroom.menu_system(menu_dict, "Test Menu", "Test Prompt")
Example #2
0
    def test_thank_return_to_main(self):
        with patch('builtins.input') as handle_input:
            handle_input.return_value = "2"
            menu_dict = mailroom.list_dict

            mailroom.menu_system(menu_dict,
                                 "Test Menu",
                                 "Test Prompt",
                                 include_main=True,
                                 invalid_opt=invalid_option_raise_error)
Example #3
0
    def test_thanks_exit(self):
        with patch('builtins.input') as handle_input:
            handle_input.return_value = "3"
            menu_dict = mailroom.list_dict

            with self.assertRaises(SystemExit):
                mailroom.menu_system(menu_dict,
                                     "Test Menu",
                                     "Test Prompt",
                                     include_main=True,
                                     invalid_opt=mailroom.accept_donation)
Example #4
0
    def test_invalid_option_not_overridden(self):
        interceptor, hold_stdout = intercept_stdout()

        with patch('builtins.input') as handle_input:
            handle_input.side_effect = ["200", "4"]
            menu_dict = mailroom.main_menu_dict

            with self.assertRaises(SystemExit):
                mailroom.menu_system(menu_dict, "Test Menu", "Test Prompt")

            assert interceptor.getvalue().strip().count(
                "Invalid choice.  Please select from available options.") == 1

        sys.stdout = hold_stdout
Example #5
0
    def test_invalid_option_overriden(self):
        exception_msg = "this should throw exception"
        with patch('builtins.input') as handle_input:
            handle_input.return_value = exception_msg
            menu_dict = mailroom.list_dict

            try:
                mailroom.menu_system(menu_dict,
                                     "Test Menu",
                                     "Test Prompt",
                                     include_main=True,
                                     invalid_opt=invalid_option_raise_error)
            except Exception as e:
                assert str(e).count(exception_msg) == 1
Example #6
0
    def test_menu_print_donors_logic(self):
        interceptor, hold_stdout = intercept_stdout()

        with patch('builtins.input') as handle_input:
            handle_input.side_effect = ["1", "3"]
            menu_dict = mailroom.list_dict

            with self.assertRaises(SystemExit):
                mailroom.menu_system(menu_dict,
                                     "Test Menu",
                                     "Test Prompt",
                                     include_main=True,
                                     invalid_opt=mailroom.accept_donation)

            assert interceptor.getvalue().strip().count(expected_donors) == 1

        sys.stdout = hold_stdout