1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
import os
import sys
from unittest.mock import MagicMock
import pytest
from briefcase.integrations.subprocess import Subprocess
from briefcase.platforms.windows.app import WindowsAppOpenCommand
@pytest.fixture
def open_command(dummy_console, tmp_path, first_app_config):
command = WindowsAppOpenCommand(
console=dummy_console,
base_path=tmp_path / "base_path",
data_path=tmp_path / "briefcase",
)
command.tools.os = MagicMock(spec_set=os)
command.tools.subprocess = MagicMock(spec_set=Subprocess)
return command
@pytest.mark.skipif(sys.platform != "win32", reason="Windows specific test")
def test_open_windows(open_command, first_app_config, tmp_path):
"""On Windows, open invokes `startfile` on the project folder."""
# Create the project folder to mock a created project.
open_command.project_path(first_app_config).mkdir(parents=True)
open_command(first_app_config)
open_command.tools.os.startfile.assert_called_once_with(
tmp_path / "base_path/build/first-app/windows/app"
)
|