Skip to content
Snippets Groups Projects
test_serializers.py 1.55 KiB
Newer Older
from funkwhale_api.manage import serializers


Eliot Berriot's avatar
Eliot Berriot committed
def test_manage_upload_action_delete(factories):
    uploads = factories["music.Upload"](size=5)
    s = serializers.ManageUploadActionSerializer(queryset=None)
Eliot Berriot's avatar
Eliot Berriot committed
    s.handle_delete(uploads.__class__.objects.all())
Eliot Berriot's avatar
Eliot Berriot committed
    assert uploads.__class__.objects.count() == 0


def test_user_update_permission(factories):
    user = factories["users.User"](
        permission_library=False,
        permission_settings=True,
        is_active=True,
    )
    s = serializers.ManageUserSerializer(
        user,
Eliot Berriot's avatar
Eliot Berriot committed
        data={
            "is_active": False,
            "permissions": {"moderation": True, "settings": False},
Eliot Berriot's avatar
Eliot Berriot committed
            "upload_quota": 12,
        },
    )
    s.is_valid(raise_exception=True)
    s.save()
    user.refresh_from_db()

    assert user.is_active is False
Eliot Berriot's avatar
Eliot Berriot committed
    assert user.upload_quota == 12
    assert user.permission_moderation is True
    assert user.permission_library is False
    assert user.permission_settings is False


def test_manage_domain_serializer(factories, now):
    domain = factories["federation.Domain"]()
    setattr(domain, "actors_count", 42)
    setattr(domain, "outbox_activities_count", 23)
    setattr(domain, "last_activity_date", now)
    expected = {
        "name": domain.name,
        "creation_date": domain.creation_date.isoformat().split("+")[0] + "Z",
        "last_activity_date": now,
        "actors_count": 42,
        "outbox_activities_count": 23,
    }
    s = serializers.ManageDomainSerializer(domain)

    assert s.data == expected