mirror of
https://github.com/Hopiu/django-imagekit.git
synced 2026-03-17 05:40:25 +00:00
30 lines
959 B
Python
30 lines
959 B
Python
|
|
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)
|