Files
Pinry/core/tests/helpers.py

44 lines
1.0 KiB
Python

from django.conf import settings
from django.core.files.images import ImageFile
from django_images.models import Thumbnail
from taggit.models import Tag
from core.models import Pin, Image
from users.models import User
TEST_IMAGE_PATH = 'logo.png'
def create_user(username):
user, _ = User.objects.get_or_create(
username='user_{}'.format(username),
defaults={
"email": 'user_{}@example.com'.format(username)
}
)
user.set_password("password")
user.save()
return user
def create_tag(name):
return Tag.objects.get_or_create(
name='tag_{}'.format(name),
slug='tag_{}'.format(name),
)
def create_image():
image = Image.objects.create(image=ImageFile(open(TEST_IMAGE_PATH, 'rb')))
for size in settings.IMAGE_SIZES.keys():
Thumbnail.objects.get_or_create_at_size(image, size)
return image
def create_pin(user, image, tags):
pin = Pin.objects.create(submitter=user, image=image)
pin.tags.set(*tags)
return pin