#!/usr/bin/perl -wT # vim: ft=xml ts=4 sw=4 et: #---------------------------------------------------------------------- # heading : Collaboration # description : GROUPS # navigation : 2000 2200 #---------------------------------------------------------------------- #---------------------------------------------------------------------- # copyright (C) 2002-2005 Mitel Networks Corporation # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Technical support for this program is available from Mitel Networks # Please visit our web site www.mitel.com/sme/ for details. #---------------------------------------------------------------------- use strict; use esmith::FormMagick::Panel::groups; my $f = esmith::FormMagick::Panel::groups->new(); $f->display(); =head1 TESTING =begin testing use esmith::FormMagick::Tester; use esmith::TestUtils; use esmith::AccountsDB; my $panel = 'groups'; my $panel_path = "/etc/e-smith/web/functions/".$panel; my $ua = esmith::FormMagick::Tester->new(); is (mode($panel_path), '4750', "Check permissions on script"); ok ($ua->get_panel($panel), "ABOUT TO RUN L10N TESTS"); is ($ua->{status}, 200, "200 OK"); like($ua->{content}, qr/FORM_TITLE/, "Saw untranslated form title"); ok ($ua->set_language("en"), "Set language to English"); ok ($ua->get_panel($panel), "Get panel"); is ($ua->{status}, 200, "200 OK"); like($ua->{content}, qr/Create, remove, or change/, "Saw translated form title"); # Testing changes ok ($ua->get_panel($panel), "Testing panel retrieval"); can_ok($ua, "field"); # Destructive testing: ok ($ua->follow('Click here to create a user group'), "Followed link to create group"); is ($ua->{status}, 200, "200 OK" ); can_ok($ua, "field"); ok($ua->field('groupName' => 'aaaaaeve') , "Set GroupName"); ok($ua->field('groupDesc' => 'sample'), "Set GroupDesc"); if (destruction_ok()) { ok ($ua->click('Create'), "Clicked create"); is ($ua->{status}, 200, "200 OK" ); like ($ua->{content}, qr/created user group/, "Saw create success message"); ok ($ua->get_panel($panel), "Get panel"); like ($ua->{content}, qr/aaaaaeve/, "Saw newly created everygroup link"); ok ($ua->follow('Modify'), "modifying aaaaaeve"); is ($ua->{status}, 200, "200 OK "); ok ($ua->field('groupDesc' => 'Everyone') , "Set group desc to 'Everyone'"); #putting this in a test fails. why? $ua->field('groupMembers' => 'admin'); ok ($ua->click('Modify')); is ($ua->{status}, 200, "200 OK"); like ($ua->{content}, qr/Successfully/, "Saw modification success message"); ok (my $acct = esmith::AccountsDB->open()); ok (my $everg = $acct->get('aaaaaeve'), "Got an aaaaaeveg out of the db"); ok ($everg->prop('Members') eq 'admin', "aaaaaeve has admin as its member"); ok ($ua->get_panel($panel), "Get panel"); like ($ua->{content}, qr/aaaaaeve/, "Saw modified everygroup link"); ok ($ua->follow('Remove'), "removing aaaaaeve"); is ($ua->{status}, 200, "200 OK"); ok ($ua->click('Remove')); is ($ua->{status}, 200, "200 OK"); like ($ua->{content}, qr/Successfully/, "Saw removal success message"); ok ($ua->get_panel($panel), "Get panel"); unlike ($ua->{content}, qr/aaaaaeve/, "Saw no everygroup"); } =end testing =cut __DATA__ <form title="FORM_TITLE" header="/etc/e-smith/web/common/head.tmpl" footer="/etc/e-smith/web/common/foot.tmpl"> <page name="First" pre-event="print_status_message()"> <subroutine src="show_initial()"/> </page> <page name="CreateGroup" pre-event="turn_off_buttons()" post-event="create_group()"> <title>CREATE_GROUP</title> <description>GROUP_NAMING</description> <field type="text" id="groupName" validation="validate_group, validate_group_length, validate_group_naming_conflict"> <label>GROUP_NAME</label> </field> <field type="text" id="groupDesc" validation="validate_description"> <label>GROUP_DESC</label> <description>GROUP_DESC_EXPL</description> </field> <subroutine src="genUsers()"/> <subroutine src="print_button('ADD')" /> </page> <page name="Delete" pre-event="turn_off_buttons()" post-event="delete_group()"> <title>REMOVE_USER_GROUP</title> <subroutine src="print_group_delete_desc()"/> <subroutine src="print_group_members()"/> <subroutine src="print_ibay_list($acct)"/> <subroutine src="print_button('REMOVE')" /> </page> <page name="Modify" pre-event="turn_off_buttons()" post-event="modify_group()"> <title>MODIFY_USER_GROUP</title> <field type="literal" id="groupName" value="$q->param('groupName')"> <label>GROUP_NAME</label> </field> <field type="text" id="groupDesc" value="get_description()" validation="validate_description"> <label>GROUP_DESC</label> </field> <subroutine src="genUsers()"/> <subroutine src="print_button('SAVE')" /> </page> </form>