Пример #1
0
def test_how_is_printed_the_menu(capsys):
    """🔬 expect the menu is printed correctly on the terminal (strict test)"""
    Menu().print_the_menu()
    out, err = capsys.readouterr()
    assert "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓" in out
    assert "┃ >>> What do you need from the installer ❓ ┃" in out
    assert "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩" in out
    assert "│ (C)heck the system requirements            │" in out
    assert "│ (T)est miniK8s                             │" in out
    assert "│ (I)nstall miniK8s                          │" in out
    assert "│ (E)xit                                     │" in out
    assert "└────────────────────────────────────────────┘" in out
Пример #2
0
def test_perform_the_action_exit(monkeypatch, capsys):
    """🔬 expect to spy an os.exit after selecting 'e' (Exit)"""
    monkeypatch.setattr("builtins.input", lambda _: "e")
    monkeypatch.setattr("os._exit", lambda _: print("Exit request caught."))
    menu = Menu()
    menu.wait_the_answer()
    menu.perform_the_action()
    out, err = capsys.readouterr()
    assert "Exit request caught." in out
    assert "Goodbye!" in out
Пример #3
0
class Installer:
    def __init__(self):
        self.console = Console()
        self.menu = Menu()
        self.title = Title()

    def start(self, fake_action_class=None):
        self.title.print_welcome_message()
        self.menu.print_the_menu()
        self.menu.wait_the_answer()
        self.menu.perform_the_action(fake_action_class)
Пример #4
0
 def __init__(self):
     self.console = Console()
     self.menu = Menu()
     self.title = Title()
Пример #5
0
def menu_after_user_selection(monkeypatch, user_selection):
    print(user_selection)
    monkeypatch.setattr("builtins.input", lambda _: user_selection)
    menu = Menu()
    menu.wait_the_answer()
    return menu
Пример #6
0
def invalid_user_selection_stdout(capsys, monkeypatch):
    monkeypatch.setattr("builtins.input", lambda _: "exit")
    Menu().wait_the_answer()
    out, err = capsys.readouterr()
    return out
Пример #7
0
def valid_user_selection_key_stroke(monkeypatch):
    monkeypatch.setattr("builtins.input", lambda _: "e")
    return Menu().wait_the_answer()
Пример #8
0
def menu() -> Menu:
    return Menu()