Files
HartOMat/backend/tests/integration/test_media_batch_delete.py
T

31 lines
972 B
Python

from __future__ import annotations
import uuid
import pytest
@pytest.mark.asyncio
async def test_batch_delete_assets_awaits_global_admin_guard(client, auth_headers, monkeypatch):
guard_calls: list[str] = []
deleted_asset_ids: list[str] = []
async def _guard(user):
guard_calls.append(str(user.id))
return user
async def _delete_media_asset(_db, asset_id):
deleted_asset_ids.append(str(asset_id))
return True
monkeypatch.setattr("app.utils.auth.require_global_admin", _guard)
monkeypatch.setattr("app.domains.media.service.delete_media_asset", _delete_media_asset)
asset_ids = [str(uuid.uuid4()), str(uuid.uuid4())]
response = await client.post("/api/media/batch-delete", json=asset_ids, headers=auth_headers)
assert response.status_code == 200, response.text
assert len(guard_calls) == 1
assert deleted_asset_ids == asset_ids
assert response.json() == {"deleted": 2, "requested": 2}