Personal tools
You are here: Home Development Development Information Functional testing guidelines (old) Verify Users and Groups Control panel
Document Actions

Verify Users and Groups Control panel

by Encolpe Degoute last modified November 27, 2007 - 17:45

Click here to get the file

Size 6.0 kB - File type text/x-web-intelligent

File contents

Users and Groups control Panel
==============================

A very simple and underdocumented testbrowser test.  This is all about
users and groups control panel.

    >>> from re import compile
    >>> from Products.Five.testbrowser import Browser
    >>> browser = Browser()
    >>> browser.open('http://nohost/plone')


Login Using the Login Portlet
-----------------------------

Login with the right credentials:

    >>> browser.getLink('Home').click()
    >>> browser.url
    'http://nohost/plone'
    >>> browser.getControl('Login Name').value = 'portal_owner'
    >>> browser.getControl('Password').value = 'secret'
    >>> browser.getControl('Log in').click()


Verify that we are given a status message saying we've logged in:

    >>> 'You are now logged in' in browser.contents
    True


Verify we can access to all needed pages
----------------------------------------


Verify that we have a link to site setup:

    >>> 'Site Setup' in browser.contents
    True


Disable mail sending on registration:

    >>> browser.open('http://nohost/plone/@@security-controlpanel')
    >>> browser.getControl(name="form.enable_self_reg").value = "on"
    >>> browser.getControl(name="form.enable_user_pwd_choice").value = "on"
    >>> browser.getControl(name="form.actions.save").click()
    >>> 'Changes saved.' in browser.contents
    True


Verify access for main configuration panels:

    >>> browser.getLink('Site Setup').click()
    >>> browser.url
    'http://nohost/plone/plone_control_panel'

    >>> browser.getLink('Users and Groups').click()
    >>> browser.url
    'http://nohost/plone/prefs_users_overview'

    >>> 'Add New User' in browser.contents
    True

    >>> browser.getLink(compile('^Groups$')).click()
    >>> browser.url
    'http://nohost/plone/prefs_groups_overview'

    >>> 'Add New Group' in browser.contents
    True

    >>> browser.getLink('Settings').click()
    >>> browser.url
    'http://nohost/plone/@@usergroup-controlpanel'

    >>> 'User/Groups settings' in browser.contents
    True


Setup an user and a group
-------------------------


Add a new user to our plone:

    >>> browser.open('http://nohost/plone/prefs_users_overview')
    >>> browser.getControl('Add New User').click()
    >>> browser.url
    'http://nohost/plone/join_form?came_from_prefs=1'
    >>> browser.getControl(name='fullname').value = 'Test User #2'
    >>> browser.getControl(name='username').value = 'test_user_2'
    >>> browser.getControl(name='email').value = 'test_user_2@example.com'
    >>> browser.getControl(name='password').value = 'secret'
    >>> browser.getControl(name='password_confirm').value = 'secret'
    >>> browser.getControl(name='form.button.Register').click()
    >>> 'User added.' in browser.contents
    True


Add a new group to our plone:

    >>> browser.open('http://nohost/plone/prefs_groups_overview')
    >>> browser.getControl('Add New Group').click()
    >>> browser.url
    'http://nohost/plone/prefs_group_details'
    >>> browser.getControl(name='addname').value = 'test_group_2'
    >>> browser.getControl(name='title:string').value = 'Test Group #2'
    >>> browser.getControl(name='email:string').value = 'test_group_2@example.com'
    >>> browser.getControl('Save').click()
    >>> 'Group test_group_2 has been added.' in browser.contents
    True


Add our new user into our new group:

    >>> browser.getLink('test_group_2').click()
    >>> browser.url
    'http://nohost/plone/prefs_group_members?groupname=test_group_2'
    >>> "Members of the Test Group #2 group" in browser.contents
    True
    >>> "There is no group or user attached to this group." in browser.contents
    True
    >>> "Quick search:" in browser.contents
    True
    >>> browser.getControl(name='searchstring').value = 'test'
    >>> browser.getControl(name='form.button.Search').click()
    >>> 'test_group_2' in browser.contents
    True

    >>> browser.getControl(name='add:list').value = 'on'
    >>> browser.getControl(name='form.button.Add').click()
    >>> "Changes made." in browser.contents
    True
    >>> "There is no group or user attached to this group." in browser.contents
    False
    >>> print browser.contents
    <BLANKLINE>
    ...
    ...Changes made...
    ...
    ...summary="Group Members Listing"...
    ...
    ...Group/User name...
    ...E-mail Address...
    ...
    ...prefs_user_details?userid=test_user_2...
    ...
    ...mailto:test_user_2@example.com...
    ...
    <BLANKLINE>


We test if the user is still in users overview

    >>> browser.getLink(compile('Users and Groups')).click()
    >>> browser.url
    'http://nohost/plone/prefs_users_overview'
    >>> "User Search:" in browser.contents
    True
    >>> browser.getControl(name='searchstring').value = 'test'
    >>> browser.getControl(name='form.button.Search').click()
    >>> print browser.contents
    <BLANKLINE>
    ...
    ...test_user_2...
    ...(Test User #2)...
    ...
    <BLANKLINE>


Now we create a new browser to login with the new user

    >>> browser2 = Browser()
    >>> browser2.open('http://nohost/plone')
    >>> browser2.getControl('Login Name').value = 'test_user_2'
    >>> browser2.getControl('Password').value = 'secret'
    >>> browser2.getControl('Log in').click()
    >>> "Welcome! You are now logged in." in browser2.contents
    True
    >>> "Test User #2" in browser2.contents
    True


We test again if we can found the user

    >>> "User Search:" in browser.contents
    True
    >>> browser.getControl(name='searchstring').value = 'test'
    >>> browser.getControl(name='form.button.Search').click()
    >>> print browser.contents
    <BLANKLINE>
    ...
    ...test_user_2...
    ...(Test User #2)...
    ...
    <BLANKLINE>

We now test to Members search to see if we can find the user by searching for a
group containing it

    >>> browser.open('http://nohost/plone/Members/member_search_form')
    >>> browser.getControl(name='login').value = 'test_'
    >>> browser.getControl(name='groupname').value = 'test_group_2'
    >>> browser.getControl(name='submit').click()
    >>> 'No results were found.' not in browser.contents
    True

For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by