Skip to content
Snippets Groups Projects
test_tasks.py 750 B
Newer Older
  • Learn to ignore specific revisions
  • import pytest
    
    from funkwhale_api.taskapp import celery
    
    
    class Dummy:
        @staticmethod
        def noop(instance):
            pass
    
    
    def test_require_instance_decorator(factories, mocker):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        user = factories["users.User"]()
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        @celery.require_instance(user.__class__, "user")
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        m = mocker.patch.object(Dummy, "noop")
    
        t(user_id=user.pk)
    
        m.assert_called_once_with(user)
    
    
    def test_require_instance_decorator_accepts_qs(factories, mocker):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        user = factories["users.User"](is_active=False)
    
        qs = user.__class__.objects.filter(is_active=True)
    
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        @celery.require_instance(qs, "user")
    
    Eliot Berriot's avatar
    Eliot Berriot committed
    
    
        with pytest.raises(user.__class__.DoesNotExist):
            t(user_id=user.pk)