Skip to content

Commit

Permalink
Integrates seantis.plonetools
Browse files Browse the repository at this point in the history
  • Loading branch information
href committed Jan 28, 2014
1 parent 99430b1 commit 6d63010
Show file tree
Hide file tree
Showing 6 changed files with 117 additions and 30 deletions.
6 changes: 6 additions & 0 deletions docs/HISTORY.txt
@@ -1,6 +1,12 @@

# Changelog

1.7.1 (unreleased)
------------------

- Integrates seantis.plonetools.
[href]

1.7
---
- Update to seantis.dir.base 1.7
Expand Down
47 changes: 47 additions & 0 deletions seantis/dir/roadworks/testing.py
@@ -0,0 +1,47 @@
from plone.app.testing import PloneSandboxLayer
from plone.app.testing import PLONE_FIXTURE
from plone.app.testing import IntegrationTesting
from plone.app.testing import FunctionalTesting
from plone.app.testing import applyProfile
from plone.app.testing import quickInstallProduct

from plone.testing import z2
from Testing import ZopeTestCase


class TestLayer(PloneSandboxLayer):

default_bases = (PLONE_FIXTURE,)

class Session(dict):
def set(self, key, value):
self[key] = value

def setUpZope(self, app, configurationContext):

# Set up sessioning objects
app.REQUEST['SESSION'] = self.Session()
ZopeTestCase.utils.setupCoreSessions(app)

import seantis.dir.roadworks
self.loadZCML(package=seantis.dir.roadworks)

def setUpPloneSite(self, portal):
quickInstallProduct(portal, 'seantis.dir.roadworks')
applyProfile(portal, 'seantis.dir.roadworks:default')

def tearDownZope(self, app):
z2.uninstallProduct(app, 'seantis.dir.roadworks')


TESTFIXTURE = TestLayer()

INTEGRATION_TESTING = IntegrationTesting(
bases=(TESTFIXTURE, ),
name="Testfixture:Integration"
)

FUNCTIONAL_TESTING = FunctionalTesting(
bases=(TESTFIXTURE, ),
name="Testfixture:Functional"
)
31 changes: 21 additions & 10 deletions seantis/dir/roadworks/tests/__init__.py
@@ -1,14 +1,25 @@
from seantis.dir.roadworks.tests.layer import Layer
from Products.PloneTestCase.ptc import PloneTestCase
from zope.security.management import newInteraction, endInteraction

from seantis.plonetools.testing import TestCase
from seantis.dir.roadworks.testing import (
INTEGRATION_TESTING,
FUNCTIONAL_TESTING
)

class IntegrationTestCase(PloneTestCase):
layer = Layer

def add_directory(self, name='Directory'):
self.folder.invokeFactory('seantis.dir.roadworks.directory', name)
return self.folder[name]
# to use with integration where security interactions need to be done manually
class IntegrationTestCase(TestCase):
layer = INTEGRATION_TESTING

def add_item(self, directory, name='DirectoryItem'):
directory.invokeFactory('seantis.dir.roadworks.item', name)
return directory[name]
def setUp(self):
super(IntegrationTestCase, self).setUp()
newInteraction()

def tearDown(self):
endInteraction()
super(IntegrationTestCase, self).tearDown()


# to use with the browser which does its own security interactions
class FunctionalTestCase(TestCase):
layer = FUNCTIONAL_TESTING
12 changes: 0 additions & 12 deletions seantis/dir/roadworks/tests/layer.py

This file was deleted.

46 changes: 40 additions & 6 deletions seantis/dir/roadworks/tests/test_item.py
@@ -1,8 +1,11 @@
from unittest import TestCase
from os import path
from zope.interface import Invalid

from plone import api
from plone.namedfile import NamedFile
from plone.namedfile import NamedImage

from seantis.dir.base.interfaces import IMapMarker
from seantis.dir.roadworks.item import validate_image
from seantis.dir.roadworks.item import View
Expand All @@ -29,8 +32,18 @@ def test_validate_image(self):
class TestView(IntegrationTestCase):

def test_details(self):
directory = self.add_directory()
item = self.add_item(directory)
self.login('admin')

directory = api.content.create(
container=self.new_temporary_folder(),
type='seantis.dir.roadworks.directory',
title='directory'
)
item = api.content.create(
container=directory,
type='seantis.dir.roadworks.item',
title='item'
)

view = View(item, self.portal.REQUEST)
self.assertEqual([], view.details())
Expand All @@ -39,8 +52,19 @@ def test_details(self):
self.assertEqual([(u'Road', u'Unter der Egg')], view.details())

def test_details_attachment(self):
directory = self.add_directory()
item = self.add_item(directory)
self.login('admin')

directory = api.content.create(
container=self.new_temporary_folder(),
type='seantis.dir.roadworks.directory',
title='directory'
)
item = api.content.create(
container=directory,
type='seantis.dir.roadworks.item',
title='item'
)

item.road = u'Unter der Egg'
item.attachment = NamedFile('Dummy content', filename=u'test.txt')

Expand All @@ -53,8 +77,18 @@ def test_details_attachment(self):
class TestRoadworkMapMarker(IntegrationTestCase):

def test_url(self):
directory = self.add_directory()
item = self.add_item(directory)
self.login('admin')

directory = api.content.create(
container=self.new_temporary_folder(),
type='seantis.dir.roadworks.directory',
title='directory'
)
item = api.content.create(
container=directory,
type='seantis.dir.roadworks.item',
title='item'
)

marker = IMapMarker(item)
url = marker.url('A')
Expand Down
5 changes: 3 additions & 2 deletions setup.py
@@ -1,7 +1,7 @@
from setuptools import setup, find_packages
import os

version = '1.7'
version = '1.7.1'

setup(name='seantis.dir.roadworks',
version=version,
Expand Down Expand Up @@ -32,7 +32,8 @@
'collective.autopermission',
'collective.testcaselayer',
'collective.dexteritytextindexer',
'seantis.dir.base>=1.7'
'seantis.dir.base>=1.7',
'seantis.plonetools>=0.9'
],
entry_points="""
[z3c.autoinclude.plugin]
Expand Down

0 comments on commit 6d63010

Please sign in to comment.