mirror of
https://github.com/Hopiu/django-imagekit.git
synced 2026-03-16 21:30:23 +00:00
Separate source group tests; signal counting util
This commit is contained in:
parent
397a79ba56
commit
4ff55724dc
2 changed files with 30 additions and 21 deletions
|
|
@ -1,27 +1,7 @@
|
|||
from django.core.files import File
|
||||
from imagekit.signals import source_saved
|
||||
from imagekit.specs.sourcegroups import ImageFieldSourceGroup
|
||||
from imagekit.utils import get_nonabstract_descendants
|
||||
from nose.tools import eq_
|
||||
from . models import (AbstractImageModel, ConcreteImageModel,
|
||||
ConcreteImageModelSubclass)
|
||||
from .utils import get_image_file
|
||||
|
||||
|
||||
def test_source_saved_signal():
|
||||
source_group = ImageFieldSourceGroup(AbstractImageModel, 'original_image')
|
||||
count = [0]
|
||||
|
||||
def receiver(sender, *args, **kwargs):
|
||||
if sender is source_group:
|
||||
count[0] += 1
|
||||
|
||||
source_saved.connect(receiver, dispatch_uid='test_source_saved')
|
||||
instance = ConcreteImageModel()
|
||||
img = File(get_image_file())
|
||||
instance.original_image.save('test_source_saved_signal.jpg', img)
|
||||
|
||||
eq_(count[0], 1)
|
||||
ConcreteImageModelSubclass)
|
||||
|
||||
|
||||
def test_nonabstract_descendants_generator():
|
||||
|
|
|
|||
29
tests/test_sourcegroups.py
Normal file
29
tests/test_sourcegroups.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
from django.core.files import File
|
||||
from imagekit.signals import source_saved
|
||||
from imagekit.specs.sourcegroups import ImageFieldSourceGroup
|
||||
from nose.tools import eq_
|
||||
from . models import AbstractImageModel, ConcreteImageModel
|
||||
from .utils import get_image_file
|
||||
|
||||
|
||||
def make_counting_receiver(source_group):
|
||||
def receiver(sender, *args, **kwargs):
|
||||
if sender is source_group:
|
||||
receiver.count += 1
|
||||
receiver.count = 0
|
||||
return receiver
|
||||
|
||||
|
||||
def test_abstract_model_signals():
|
||||
"""
|
||||
Source groups created for abstract models must cause signals to be
|
||||
dispatched on their concrete subclasses.
|
||||
|
||||
"""
|
||||
source_group = ImageFieldSourceGroup(AbstractImageModel, 'original_image')
|
||||
receiver = make_counting_receiver(source_group)
|
||||
source_saved.connect(receiver)
|
||||
instance = ConcreteImageModel()
|
||||
img = File(get_image_file())
|
||||
instance.original_image.save('test_source_saved_signal.jpg', img)
|
||||
eq_(receiver.count, 1)
|
||||
Loading…
Reference in a new issue