Skip to content
Snippets Groups Projects
test_serializers.py 1.08 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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_upload=False,
            permission_federation=True,
            permission_settings=True,
            is_active=True,
        )
        s = serializers.ManageUserSerializer(
            user,
    
    Eliot Berriot's avatar
    Eliot Berriot committed
            data={
                "is_active": False,
                "permissions": {"federation": False, "upload": True},
                "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_federation is False
        assert user.permission_upload is True
        assert user.permission_library is False
        assert user.permission_settings is True