Add basic robot test setup and a first test.
This commit is contained in:
parent
fa17c51a7b
commit
f894d47d62
@ -1,11 +1,17 @@
|
||||
from Products.CMFCore.utils import getToolByName
|
||||
|
||||
from plone.app.testing import PloneSandboxLayer
|
||||
from plone.app.testing import applyProfile
|
||||
from plone.app.contenttypes.testing import PLONE_APP_CONTENTTYPES_FIXTURE
|
||||
from plone.app.discussion.interfaces import IDiscussionSettings
|
||||
from plone.app.robotframework.testing import REMOTE_LIBRARY_ROBOT_TESTING
|
||||
from plone.app.testing import IntegrationTesting
|
||||
from plone.app.testing import FunctionalTesting
|
||||
from plone.app.testing import PloneSandboxLayer
|
||||
from plone.app.testing import applyProfile
|
||||
|
||||
from plone.testing import z2
|
||||
from plone.registry.interfaces import IRegistry
|
||||
|
||||
from zope.component import queryUtility
|
||||
from zope.configuration import xmlconfig
|
||||
|
||||
try:
|
||||
@ -72,6 +78,16 @@ class PloneAppDiscussion(PloneSandboxLayer):
|
||||
[],
|
||||
)
|
||||
|
||||
|
||||
class PloneAppDiscussionRobot(PloneAppDiscussion):
|
||||
|
||||
def setUpPloneSite(self, portal):
|
||||
registry = queryUtility(IRegistry)
|
||||
settings = registry.forInterface(IDiscussionSettings)
|
||||
settings.globally_enabled = True
|
||||
|
||||
|
||||
PLONE_APP_DISCUSSION_ROBOT_FIXTURE = PloneAppDiscussionRobot()
|
||||
PLONE_APP_DISCUSSION_FIXTURE = PloneAppDiscussion()
|
||||
PLONE_APP_DISCUSSION_INTEGRATION_TESTING = IntegrationTesting(
|
||||
bases=(PLONE_APP_DISCUSSION_FIXTURE,),
|
||||
@ -79,3 +95,10 @@ PLONE_APP_DISCUSSION_INTEGRATION_TESTING = IntegrationTesting(
|
||||
PLONE_APP_DISCUSSION_FUNCTIONAL_TESTING = FunctionalTesting(
|
||||
bases=(PLONE_APP_DISCUSSION_FIXTURE,),
|
||||
name="PloneAppDiscussion:Functional")
|
||||
PLONE_APP_DISCUSSION_ROBOT_TESTING = FunctionalTesting(
|
||||
bases=(
|
||||
PLONE_APP_DISCUSSION_ROBOT_FIXTURE,
|
||||
REMOTE_LIBRARY_ROBOT_TESTING
|
||||
),
|
||||
name="PloneAppDiscussion:Robot"
|
||||
)
|
||||
|
62
plone/app/discussion/tests/robot/test_discussion.robot
Normal file
62
plone/app/discussion/tests/robot/test_discussion.robot
Normal file
@ -0,0 +1,62 @@
|
||||
# bin/robot-server plone.app.discussion.testing.PLONE_APP_DISCUSSION_ROBOT_TESTING
|
||||
# $ bin/robot src/plone.app.discussion/src/plone/app/discussion/tests/robot/test_discussion.robot
|
||||
|
||||
*** Settings ***
|
||||
|
||||
Resource plone/app/robotframework/selenium.robot
|
||||
|
||||
Library Remote ${PLONE_URL}/RobotRemote
|
||||
|
||||
Test Setup Open test browser
|
||||
Test Teardown Close all browsers
|
||||
|
||||
*** Test Cases ***
|
||||
|
||||
Enable Discussion on Document
|
||||
Given a logged-in Site Administrator
|
||||
and a document
|
||||
When I enable discussion on the document
|
||||
Then I can see a comment form on the document
|
||||
|
||||
#Post Comment on Document
|
||||
# Given a logged-in Site Administrator
|
||||
# and a document with discussion enabled
|
||||
# When I post a comment
|
||||
# Then I can see the comment below the document
|
||||
|
||||
#Reply to comment on Document
|
||||
# Given a logged-in Site Administrator
|
||||
# and a document with discussion enabled
|
||||
|
||||
#Delete Comment
|
||||
# Given a logged-in Site Administrator
|
||||
# and a document with discussion enabled
|
||||
|
||||
|
||||
*** Keywords ***
|
||||
|
||||
# Given
|
||||
|
||||
a logged-in Site Administrator
|
||||
Enable autologin as Site Administrator
|
||||
|
||||
a document
|
||||
Create content type=Document id=my-document title=My Document
|
||||
|
||||
# When
|
||||
|
||||
I enable discussion on the document
|
||||
Go To ${PLONE_URL}/my-document/edit
|
||||
Wait until page contains Settings
|
||||
Click Link Settings
|
||||
Wait until element is visible name=form.widgets.IAllowDiscussion.allow_discussion:list
|
||||
Select From List name=form.widgets.IAllowDiscussion.allow_discussion:list True
|
||||
Click Button Save
|
||||
|
||||
# Then
|
||||
|
||||
I can see a comment form on the document
|
||||
Go To ${PLONE_URL}/my-document/view
|
||||
Wait until page contains My Document
|
||||
Page should contain Add comment
|
||||
Page should contain element id=form-widgets-comment-text
|
27
plone/app/discussion/tests/test_robot.py
Normal file
27
plone/app/discussion/tests/test_robot.py
Normal file
@ -0,0 +1,27 @@
|
||||
from plone.app.discussion.testing import PLONE_APP_DISCUSSION_ROBOT_TESTING
|
||||
from plone.app.testing import ROBOT_TEST_LEVEL
|
||||
from plone.testing import layered
|
||||
import os
|
||||
import unittest
|
||||
import robotsuite
|
||||
|
||||
|
||||
def test_suite():
|
||||
suite = unittest.TestSuite()
|
||||
current_dir = os.path.abspath(os.path.dirname(__file__))
|
||||
robot_dir = os.path.join(current_dir, 'robot')
|
||||
robot_tests = [
|
||||
os.path.join('robot', doc) for doc in
|
||||
os.listdir(robot_dir) if doc.endswith('.robot') and
|
||||
doc.startswith('test_')
|
||||
]
|
||||
for robot_test in robot_tests:
|
||||
robottestsuite = robotsuite.RobotTestSuite(robot_test)
|
||||
robottestsuite.level = ROBOT_TEST_LEVEL
|
||||
suite.addTests([
|
||||
layered(
|
||||
robottestsuite,
|
||||
layer=PLONE_APP_DISCUSSION_ROBOT_TESTING
|
||||
),
|
||||
])
|
||||
return suite
|
Loading…
Reference in New Issue
Block a user