import click from click.testing import CliRunner from pytest_mock import MockerFixture def test_gen_spec( mocker: MockerFixture, cli: click.Group, cli_runner: CliRunner ) -> None: dump_schema_mock = mocker.patch("preference_center.cli.commands.api.dump_schema") result = cli_runner.invoke(cli, ["api", "gen-spec"]) assert result.exit_code == 0 dump_schema_mock.assert_called() def test_check_spec( mocker: MockerFixture, cli: click.Group, cli_runner: CliRunner ) -> None: check_schema_mock = mocker.patch( "preference_center.cli.commands.api.check_schema", return_value=True, ) result = cli_runner.invoke(cli, ["api", "check-spec"]) assert result.exit_code == 0 check_schema_mock.assert_called() def test_check_spec_failed( mocker: MockerFixture, cli: click.Group, cli_runner: CliRunner ) -> None: check_schema_mock = mocker.patch( "preference_center.cli.commands.api.check_schema", return_value=False, ) result = cli_runner.invoke(cli, ["api", "check-spec"]) assert result.exit_code == 1 check_schema_mock.assert_called()