Co-authored-by: Albert Jiang <aj@mistral.ai> Co-authored-by: Clément Drouin <clement.drouin@mistral.ai> Co-authored-by: Laure Hugo <201583486+laure0303@users.noreply.github.com> Co-authored-by: Mathias Gesbert <mathias.gesbert@mistral.ai> Co-authored-by: Mert Unsal <mert.unsal@mistral.ai> Co-authored-by: Michel Thomazo <51709227+michelTho@users.noreply.github.com> Co-authored-by: Paul VEZIA <166131032+le-codeur-rapide@users.noreply.github.com> Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai> Co-authored-by: Quentin <quentin.torroba@mistral.ai> Co-authored-by: Mistral Vibe <vibe@mistral.ai>
59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
from __future__ import annotations
|
|
|
|
import pytest
|
|
|
|
from vibe.cli.entrypoint import parse_arguments
|
|
|
|
|
|
def test_help_shows_auto_approve_flag(
|
|
monkeypatch: pytest.MonkeyPatch, capsys: pytest.CaptureFixture[str]
|
|
) -> None:
|
|
monkeypatch.setattr("sys.argv", ["vibe", "--help"])
|
|
|
|
with pytest.raises(SystemExit) as exc_info:
|
|
parse_arguments()
|
|
|
|
assert exc_info.value.code == 0
|
|
output = capsys.readouterr().out
|
|
assert "--auto-approve" in output
|
|
assert "--yolo" in output
|
|
assert "Approves all tool calls without prompting" in output
|
|
assert "selected agent" in output
|
|
|
|
|
|
def test_help_shows_check_upgrade_flag(
|
|
monkeypatch: pytest.MonkeyPatch, capsys: pytest.CaptureFixture[str]
|
|
) -> None:
|
|
monkeypatch.setattr("sys.argv", ["vibe", "--help"])
|
|
|
|
with pytest.raises(SystemExit) as exc_info:
|
|
parse_arguments()
|
|
|
|
assert exc_info.value.code == 0
|
|
output = capsys.readouterr().out
|
|
assert "--check-upgrade" in output
|
|
assert "Check for a Vibe update now" in output
|
|
|
|
|
|
# def test_auto_approve_conflicts_with_agent(
|
|
# monkeypatch: pytest.MonkeyPatch, capsys: pytest.CaptureFixture[str]
|
|
|
|
|
|
def test_yolo_alias_selects_auto_approve(monkeypatch: pytest.MonkeyPatch) -> None:
|
|
monkeypatch.setattr("sys.argv", ["vibe", "--yolo"])
|
|
|
|
args = parse_arguments()
|
|
|
|
assert args.auto_approve is True
|
|
|
|
|
|
@pytest.mark.parametrize("flag", ["--auto-approve", "--yolo"])
|
|
def test_auto_approve_aliases_can_be_combined_with_agent(
|
|
flag: str, monkeypatch: pytest.MonkeyPatch
|
|
) -> None:
|
|
monkeypatch.setattr("sys.argv", ["vibe", "--agent", "lean", flag])
|
|
|
|
args = parse_arguments()
|
|
|
|
assert args.agent == "lean"
|
|
assert args.auto_approve is True
|