coulomb-social/tests/usecases/test_sharing_browser.py
tegwick dd83c90d73
Some checks failed
Use-case regression gate / usecase-regressions (push) Failing after 6m43s
Implement space sharing, member portability and recoverable content edits
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a119cf-56d0-7fa3-840b-eb8732e1db0b
2026-10-08 09:17:31 +02:00

35 lines
1.4 KiB
Python

"""Candidate sharing/portability journey; synthetic app-only browser checks."""
import subprocess
from pathlib import Path
import pytest
from coulomb_social.apps.spaces.services import create_space, put_space_page
from tests.test_space_permissions import make_member
@pytest.mark.browser
@pytest.mark.django_db(transaction=True)
def test_sharing_conflict_and_account_exit_through_ui(tmp_path, settings, request):
settings.DEBUG = True
settings.OIDC_ENABLED = False
settings.USER_ENGINE_BASE_URL = ""
settings.FLEX_AUTH_BASE_URL = ""
settings.FORGEJO_BASE_URL = ""
settings.CONTENT_ROOT = str(tmp_path / "content")
owner = make_member("sharing-owner", tenant="tenant:sharing-test")
reader = make_member("sharing-reader", tenant="tenant:sharing-test")
# Dev login uses this same exact issuer/subject association.
for member in (owner, reader):
member.issuer = "https://local.dev/issuer"
member.save()
space = create_space(owner, title="Synthetic shared work", slug="shared-browser")
put_space_page(owner, space, "notes", title="Notes", body="Original notes")
server = request.getfixturevalue("live_server")
root = Path(__file__).resolve().parents[2]
result = subprocess.run(
["node", str(root / "scripts/test-sharing-browser.mjs"), str(server)],
cwd=root, capture_output=True, text=True, timeout=120,
)
assert result.returncode == 0, result.stdout + result.stderr