def test_apply_patcher_file( mock_ensure_no_menu_mod: MagicMock, mock_create_pak_backups: MagicMock, mock_add_menu_mod_to_files: MagicMock, mock_run_with_args: MagicMock, mock_apply_patches: MagicMock, mock_create_progress_update_from_successive_messages: MagicMock, include_menu_mod: bool, has_backup_path: bool, ): # Setup game_root = MagicMock(spec=Path()) backup_files_path = MagicMock() if has_backup_path else None game_specific = MagicMock() progress_update = MagicMock() status_update = mock_create_progress_update_from_successive_messages.return_value patcher_data = { "menu_mod": include_menu_mod, "user_preferences": EchoesUserPreferences().as_json, "default_items": { "foo": "bar" }, } # Run claris_randomizer.apply_patcher_file(game_root, backup_files_path, patcher_data, game_specific, progress_update) # Assert mock_create_progress_update_from_successive_messages.assert_called_once_with( progress_update, 400 if include_menu_mod else 100) mock_ensure_no_menu_mod.assert_called_once_with(game_root, backup_files_path, status_update) if has_backup_path: mock_create_pak_backups.assert_called_once_with( game_root, backup_files_path, status_update) else: mock_create_pak_backups.assert_not_called() mock_run_with_args.assert_called_once_with( claris_randomizer._base_args(game_root), json.dumps(patcher_data), "Randomized!", status_update) mock_apply_patches.assert_called_once_with(game_root, game_specific, EchoesUserPreferences(), {"foo": "bar"}) if include_menu_mod: mock_add_menu_mod_to_files.assert_called_once_with( game_root, status_update) else: mock_add_menu_mod_to_files.assert_not_called()
def test_base_args(mock_get_data_path: MagicMock, mock_validate_game_files_path: MagicMock, ): # Setup mock_get_data_path.return_value = Path("data") game_root = Path("root") # Run results = claris_randomizer._base_args(game_root) # Assert expected_results = [ Path("data", "ClarisPrimeRandomizer", "Randomizer.exe"), Path("root"), ] assert results == expected_results mock_validate_game_files_path.assert_called_once_with(Path("root", "files"))
def test_base_args(mock_get_data_path: MagicMock, mock_validate_game_files_path: MagicMock, hud_memo_popup_removal: bool ): # Setup mock_get_data_path.return_value = Path("data") game_root = Path("root") # Run results = claris_randomizer._base_args(game_root, hud_memo_popup_removal) # Assert expected_results = [ Path("data", "ClarisPrimeRandomizer", "Randomizer.exe"), Path("root", "files"), ] if hud_memo_popup_removal: expected_results.append("-h") assert results == expected_results mock_validate_game_files_path.assert_called_once_with(Path("root", "files"))