""" Share API tests — Wave 0 xfail stubs for Phase 4. All tests in this file are xfail stubs. They will be implemented in Plan 04-05. The stubs ensure pytest collects them and keeps CI green before implementation code exists. """ from __future__ import annotations import os import pytest # --------------------------------------------------------------------------- # SHARE-01: Share a document # --------------------------------------------------------------------------- @pytest.mark.xfail(strict=False) async def test_share_success(async_client, auth_user): """POST /api/shares grants share; recipient can see doc via GET /api/shares/received.""" pytest.xfail("not implemented yet") @pytest.mark.xfail(strict=False) async def test_share_handle_not_found(async_client, auth_user): """POST /api/shares with unknown handle returns 404.""" pytest.xfail("not implemented yet") # --------------------------------------------------------------------------- # SHARE-02: List shared-with-me # --------------------------------------------------------------------------- @pytest.mark.xfail(strict=False) async def test_shared_with_me(async_client, auth_user): """GET /api/shares/received lists docs shared with current user.""" pytest.xfail("not implemented yet") # --------------------------------------------------------------------------- # SHARE-03: Quota isolation # --------------------------------------------------------------------------- @pytest.mark.xfail(strict=False) async def test_share_no_quota_impact(async_client, auth_user): """Share does not increment recipient's quota used_bytes.""" pytest.xfail("not implemented yet") # --------------------------------------------------------------------------- # SHARE-04: Revoke share # --------------------------------------------------------------------------- @pytest.mark.xfail(strict=False) async def test_revoke_share(async_client, auth_user): """DELETE /api/shares/{id} removes share; GET /api/shares/received no longer lists the doc.""" pytest.xfail("not implemented yet") @pytest.mark.xfail(strict=False) async def test_share_revoke_wrong_owner_404(async_client, auth_user): """DELETE /api/shares/{id} by non-owner returns 404.""" pytest.xfail("not implemented yet") # --------------------------------------------------------------------------- # SHARE-05: Duplicate share # --------------------------------------------------------------------------- @pytest.mark.xfail(strict=False) async def test_share_duplicate(async_client, auth_user): """POST /api/shares same doc+recipient twice returns 409.""" pytest.xfail("not implemented yet")