54 lines
2.0 KiB
Python
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)
|
|
mgr = 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 mgr.content
|
|
assert 'js/combo.gallery.js' in mgr.content
|
|
|
|
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
|
|
|
|
data = app.get('/%s/' % page.slug, status=200)
|
|
assert 'pink' in data.content
|
|
|
|
mgr = 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
|
|
|
|
data = app.get('/%s/' % page.slug, status=200)
|
|
assert 'pink' not in data.content
|