from funkwhale_api.manage import serializers def test_manage_upload_action_delete(factories): uploads = factories["music.Upload"](size=5) s = serializers.ManageUploadActionSerializer(queryset=None) s.handle_delete(uploads.__class__.objects.all()) assert uploads.__class__.objects.count() == 0 def test_user_update_permission(factories): user = factories["users.User"]( permission_library=False, permission_moderation=False, permission_settings=True, is_active=True, ) s = serializers.ManageUserSerializer( user, data={ "is_active": False, "permissions": {"moderation": True, "settings": False}, "upload_quota": 12, }, ) s.is_valid(raise_exception=True) s.save() user.refresh_from_db() assert user.is_active is False 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