Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test querystring widget #52

Merged
merged 1 commit into from
Feb 13, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ addons:
- access_key: $SAUCE_ACCESS_KEY
install:
- mkdir -p buildout-cache/downloads
- mkdir src
- git clone git://github.com/plone/plone.app.contenttypes.git -b mockup-issue-220 src/plone.app.contenttypes
- git clone git://github.com/plone/plone.app.contenttypes.git -b mockup-issue-220
- python bootstrap.py -c travis.cfg
- bin/buildout -N -t 3 -c travis.cfg
script:
Expand Down
7 changes: 6 additions & 1 deletion plone/app/widgets/tests/robot/common.robot
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,14 @@ I edit
# Content
# ----------------------------------------------------------------------------

I create a collection
[Arguments] ${title}
Go to ${PLONE_URL}/++add++Collection
Wait until page contains Add Collection
Input text name=form.widgets.IDublinCore.title ${title}

I create a folder
[Arguments] ${title}
Go to ${PLONE_URL}/++add++Folder
Wait until page contains Add Folder
Input text name=form.widgets.IDublinCore.title ${title}

116 changes: 116 additions & 0 deletions plone/app/widgets/tests/robot/test_querystring_widget.robot
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
*** Settings ***

Resource common.robot

Test Setup Open SauceLabs test browser
Test Teardown Run keywords Report test status Close all browsers

*** Variables ***
${querywidget_selector} \#formfield-form-widgets-ICollection-query

*** Test Cases ***

Querystring Widget rows appear and disappear correctly
Given I'm logged in as a 'Site Administrator'
And I create a collection My Collection
Page should contain Element css=${querywidget_selector} .querystring-criteria-wrapper:nth-child(1)
Page should not contain Element css=${querywidget_selector} .querystring-criteria-wrapper:nth-child(2)
When I select criteria index in row 1 Expiration date
Page should contain Element css=${querywidget_selector} .querystring-criteria-wrapper:nth-child(2)
When Click Element css=${querywidget_selector} .querystring-criteria-wrapper:nth-child(2) .querystring-criteria-remove
Page should contain Element css=${querywidget_selector} .querystring-criteria-wrapper:nth-child(2)
When Click Element css=${querywidget_selector} .querystring-criteria-wrapper:nth-child(1) .querystring-criteria-remove
Page should not contain Element css=${querywidget_selector} .querystring-criteria-wrapper:nth-child(2)


Querystring Widget date criteria master/select behaviour is correct
Given I'm logged in as a 'Site Administrator'
And I create a collection My Collection
When I select criteria index in row 1 Expiration date
Date criteria operators are functional 1
When I select criteria index in row 1 Event end date
Date criteria operators are functional 1
When I select criteria index in row 1 Effective date
Date criteria operators are functional 1
When I select criteria index in row 1 Event start date
Date criteria operators are functional 1
When I select criteria index in row 1 Creation date
Date criteria operators are functional 1
When I select criteria index in row 1 Modification date
Date criteria operators are functional 1


Querystring Widget text criteria master/select behaviour is correct
Given I'm logged in as a 'Site Administrator'
And I create a collection My Collection
When I select criteria index in row 1 Description
Operator slave field becomes visible 1 .querystring-criteria-value-StringWidget
When I select criteria index in row 1 Title
Operator slave field becomes visible 1 .querystring-criteria-value-StringWidget
When I select criteria index in row 1 Searchable text
Operator slave field becomes visible 1 .querystring-criteria-value-StringWidget
When I select criteria index in row 1 Tag
Operator slave field becomes visible 1 .querystring-criteria-value-MultipleSelectionWidget


Querystring Widget metadata criteria master/select behaviour is correct
Given I'm logged in as a 'Site Administrator'
And I create a collection My Collection
When I select criteria index in row 1 Type
Operator slave field becomes visible 1 .querystring-criteria-value-MultipleSelectionWidget
When I select criteria index in row 1 Short name
Operator slave field becomes visible 1 .querystring-criteria-value-StringWidget
When I select criteria index in row 1 Creator
And I select criteria operator in row 1 Is
Operator slave field becomes visible 1 .querystring-criteria-value-StringWidget
When I select criteria index in row 1 Location
And I select criteria operator in row 1 Relative path
Operator slave field becomes visible 1 .querystring-criteria-value-RelativePathWidget
When I select criteria index in row 1 Location
And I select criteria operator in row 1 Absolute path
Operator slave field becomes visible 1 .querystring-criteria-value-ReferenceWidget
When I select criteria index in row 1 Review state
Operator slave field becomes visible 1 .querystring-criteria-value-MultipleSelectionWidget


Collection Creation works
Given I'm logged in as a 'Site Administrator'
And I create a collection My Collection
When I select criteria index in row 1 Location
And I select criteria operator in row 1 Absolute path
And I save
Page should contain Element jquery=.contenttype-collection:contains(My Collection)


*** Keywords ***

I select criteria index in row
[Arguments] ${number} ${label}
${criteria_row} = Convert to String ${querywidget_selector} .querystring-criteria-wrapper:nth-child(${number})
Click Element css=${criteria_row} .querystring-criteria-index .select2-container a
Press Key jquery=:focus ${label}\n

I select criteria operator in row
[Arguments] ${number} ${label}
${criteria_selector} = Convert to String ${querywidget_selector} .querystring-criteria-wrapper:nth-child(${number}) .querystring-criteria-operator select
Select From List By Label css=${criteria_selector} ${label}

Operator slave field becomes visible
[Arguments] ${number} ${selector}
${criteria_row} = Convert to String ${querywidget_selector} .querystring-criteria-wrapper:nth-child(${number})
Page should contain Element css=${criteria_row} .querystring-criteria-value ${selector}

Date criteria operators are functional
[Arguments] ${number}
I select criteria operator in row ${number} Today
I select criteria operator in row ${number} Within last
Operator slave field becomes visible ${number} .querystring-criteria-value-RelativeDateWidget
I select criteria operator in row ${number} Before date
Operator slave field becomes visible ${number} .querystring-criteria-value-DateWidget
I select criteria operator in row ${number} After date
Then Operator slave field becomes visible ${number} .querystring-criteria-value-DateWidget
I select criteria operator in row ${number} Within next
Then Operator slave field becomes visible ${number} .querystring-criteria-value-RelativeDateWidget
I select criteria operator in row ${number} Before today
I select criteria operator in row ${number} Between dates
Then Operator slave field becomes visible ${number} .querystring-criteria-value-DateRangeWidget
13 changes: 7 additions & 6 deletions plone/app/widgets/tests/test_at.py
Original file line number Diff line number Diff line change
Expand Up @@ -405,12 +405,13 @@ def test_widget(self):
self.assertEqual(base_args['name'], 'fieldname')
self.assertEqual(base_args['value'], 'fieldvalue')
self.assertEqual(base_args['pattern'], 'tinymce')
self.assertEqual(base_args['pattern_options']['prependToUrl'],
'resolveuid/')
self.assertEqual(base_args['pattern_options']['prependToUrl'],
'resolveuid/')
self.assertEqual(base_args['pattern_options']['anchorSelector'],
self.portal.portal_tinymce.anchor_selector)
# TODO: remove those lines
#self.assertEqual(base_args['pattern_options']['prependToUrl'],
#'resolveuid/')
#self.assertEqual(base_args['pattern_options']['prependToUrl'],
#'resolveuid/')
#self.assertEqual(base_args['pattern_options']['anchorSelector'],
#self.portal.portal_tinymce.anchor_selector)


class ArchetypesVocabularyPermissionTests(unittest.TestCase):
Expand Down
4 changes: 2 additions & 2 deletions plone/app/widgets/tests/test_dx.py
Original file line number Diff line number Diff line change
Expand Up @@ -889,10 +889,10 @@ class IMockSchema(Interface):
'disallowed_field': u'zope2.ViewManagementScreens',
'custom_widget_field': u'zope2.View',
'adapted_widget_field': u'zope2.View',
})
})
IMockSchema.setTaggedValue(WIDGETS_KEY, {
'custom_widget_field': _custom_field_widget,
})
})


class RichTextWidgetTests(unittest.TestCase):
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
'test': [
'plone.app.robotframework',
'plone.app.widgets[archetypes, dexterity]',
'plone.app.testing',
'plone.app.testing>=4.2.4', # we need ROBOT_TEST_LEVEL
'mock',
],
'archetypes': [
Expand All @@ -51,7 +51,7 @@
'dexterity': [
'pytz',
'plone.app.dexterity',
'plone.app.contenttypes>=1.0.99',
'plone.app.contenttypes>=1.1a2.dev0',
'plone.app.event',
],
},
Expand Down
5 changes: 2 additions & 3 deletions travis.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ package-name = plone.app.widgets
package-extras = [test,archetypes,dexterity]
test-eggs = Pillow
parts += extra

develop += src/plone.app.contenttypes
develop += plone.app.contenttypes

[extra]
recipe = zc.recipe.egg
Expand All @@ -22,4 +21,4 @@ eggs =
[versions]
coverage = 3.7
plone.app.robotframework = 0.7.5
plone.app.contenttypes =
plone.app.contenttypes =
6 changes: 3 additions & 3 deletions versions.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@ extends = https://raw.github.com/plone/plone.app.event/master/versions.cfg
versions = versions

[versions]
plone.app.contenttypes = 1.1a1
#plone.app.contenttypes = 1.1a1
plone.app.event = 1.1a1
plone.app.jquery = 1.8.3
plone.app.portlets = 2.5a1
plone.app.querystring = 1.1.0
plone.app.testing = 4.2.4
plone.app.vocabularies = 2.1.12
plone.formwidget.querystring = 1.1.0
plone.formwidget.recurrence = 1.1

# versions copied from https://github.com/plone/buildout.coredev/blob/5.0/versions.cfg#L39
plone.app.robotframework = 0.7.5
plone.app.testing = 4.2.4
robotframework = 2.8.4
robotframework-selenium2library = 1.5.0
robotsuite = 1.4.3
Expand All @@ -26,4 +26,4 @@ pep8 = 1.4.6
Babel = 1.3
robotframework-selenium2screenshots = 0.4.0
sphinxcontrib-robotframework = 0.4.3
Pygments = 1.6
Pygments = 1.6