funkwhale/api/tests/test_tasks.py

34 wiersze
749 B
Python

import pytest
from funkwhale_api.taskapp import celery
class Dummy:
@staticmethod
def noop(instance):
pass
def test_require_instance_decorator(factories, mocker):
user = factories['users.User']()
@celery.require_instance(user.__class__, 'user')
def t(user):
Dummy.noop(user)
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):
user = factories['users.User'](is_active=False)
qs = user.__class__.objects.filter(is_active=True)
@celery.require_instance(qs, 'user')
def t(user):
pass
with pytest.raises(user.__class__.DoesNotExist):
t(user_id=user.pk)