150 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			150 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | #!/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> |