import types
import subprocess
from pathlib import Path
from domin8.git_ops import apply_diff
class DummyResult:
def __init__(self, returncode=0, stdout='', stderr=''):
self.returncode = returncode
self.stdout = stdout
self.stderr = stderr
def test_apply_diff_patch_success(tmp_path, monkeypatch):
original = 'line1\nline2\n'
diff = 'dummy'
# Create a temp orig file path that apply_diff will write to
# We'll rely on apply_diff creating temp files, but monkeypatch subprocess.run to 'succeed'
monkeypatch.setattr('subprocess.run', lambda *a, **k: DummyResult(returncode=0))
res = apply_diff(original, diff)
# On success we expect returned content to be original (since patch didn't change files)
assert res == original