combo/tests/test_gallery_cell.py

54 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
import os
import pytest
from django.core.urlresolvers import reverse
from combo.data.models import Page
from combo.apps.gallery.models import GalleryCell, Image
from .test_manager import login
TESTS_DATA_DIR = os.path.join(os.path.dirname(__file__), 'data')
pytestmark = pytest.mark.django_db
def test_adding_gallery_images(app, admin_user):
page = Page(title='Pictures', slug='test_gallery_cell', template_name='standard')
page.save()
cell = GalleryCell(page=page, placeholder='content', order=0)
cell.save()
app.post(reverse('combo-gallery-image-add', kwargs={'gallery_pk': cell.id}), params={'image': ['foo'], 'title': 'white'}, status=403)
app = login(app)
resp = app.get(reverse('combo-manager-page-edit-cell', kwargs={'page_pk': page.id, 'cell_reference': cell.get_reference()}), status=200)
assert '<ul class="gallery"' in resp.text
assert 'js/combo.gallery.js' in resp.text
assert len(cell.image_set.all()) == 0
form = app.get(reverse('combo-gallery-image-add', kwargs={'gallery_pk': cell.id})).form
form['image'] = [os.path.join(TESTS_DATA_DIR, 'black.jpeg')]
form['title'] = 'black'
form.submit()
form = app.get(reverse('combo-gallery-image-add', kwargs={'gallery_pk': cell.id})).form
form['image'] = [os.path.join(TESTS_DATA_DIR, 'black.jpeg')]
form['title'] = 'white'
form.submit()
assert len(cell.image_set.all()) == 2
image_2 = cell.image_set.all()[1]
form = app.get(reverse('combo-gallery-image-edit', kwargs={'gallery_pk': cell.id, 'pk': image_2.id})).form
form['title'] = 'pink'
form.submit()
assert len(cell.image_set.filter(title='pink')) == 1
resp = app.get('/%s/' % page.slug, status=200)
assert 'pink' in resp.text
resp = app.get(reverse('combo-gallery-image-delete', kwargs={'gallery_pk': cell.id, 'pk': image_2.id}), status=302)
assert len(cell.image_set.all()) == 1
resp = app.get('/%s/' % page.slug, status=200)
assert 'pink' not in resp.text