76 lines
2.9 KiB
Perl
76 lines
2.9 KiB
Perl
#-------------------------------------------------------------------
|
|
# WebGUI is Copyright 2001-2009 Plain Black Corporation.
|
|
#-------------------------------------------------------------------
|
|
# Please read the legal notices (docs/legal.txt) and the license
|
|
# (docs/license.txt) that came with this distribution before using
|
|
# this software.
|
|
#-------------------------------------------------------------------
|
|
# http://www.plainblack.com info@plainblack.com
|
|
#-------------------------------------------------------------------
|
|
|
|
use FindBin;
|
|
use strict;
|
|
use lib "$FindBin::Bin/../lib";
|
|
use WebGUI::Test;
|
|
use WebGUI::Session;
|
|
use WebGUI::Content::Setup;
|
|
|
|
# load your modules here
|
|
|
|
use Test::More tests => 10; # increment this value for each test you create
|
|
|
|
my $session = WebGUI::Test->session;
|
|
|
|
# put your tests here
|
|
|
|
$session->setting->set("specialState", "init");
|
|
isnt(WebGUI::Content::Setup::handler($session), undef, "Setup should return some output when in init special state");
|
|
$session->setting->remove("specialState");
|
|
is(WebGUI::Content::Setup::handler($session), undef, "Setup shouldn't return anything when no special state is present");
|
|
|
|
$session->request->setup_body({
|
|
wizard_class => 'WebGUI::Wizard::Setup',
|
|
wizard_step => 'adminAccount',
|
|
timeZone => 'America/New_York',
|
|
language => 'Spanish',
|
|
});
|
|
|
|
$session->setting->set("specialState", "init");
|
|
WebGUI::Content::Setup::handler($session);
|
|
|
|
my $admin = WebGUI::User->new($session, '3');
|
|
is($admin->get('language'), 'Spanish', 'Admin language set to Spanish');
|
|
is($admin->get('timeZone'), 'America/New_York', 'Admin timezone set to America/New_York');
|
|
|
|
my $visitor = WebGUI::User->new($session, '1');
|
|
is($visitor->get('language'), 'Spanish', 'Visitor language set to Spanish');
|
|
is($visitor->get('timeZone'), 'America/New_York', 'Visitor timezone set to America/New_York');
|
|
|
|
my $zoneField = WebGUI::ProfileField->new($session, 'timeZone');
|
|
is $zoneField->get('dataDefault'), 'America/New_York', 'timezone profile field default set to America/New_York';
|
|
|
|
my $languageField = WebGUI::ProfileField->new($session, 'language');
|
|
is $languageField->get('dataDefault'), 'Spanish', 'timezone profile field default set to Spanish';
|
|
|
|
$admin->update( { language => 'English' } );
|
|
$visitor->update({ language => 'English' } );
|
|
|
|
$admin->update( { timeZone => 'America/Chicago' } );
|
|
$visitor->update({ timeZone => 'America/Chicago' } );
|
|
|
|
my $properties;
|
|
$properties = $zoneField->get();
|
|
$properties->{dataDefault} = 'America/Chicago';
|
|
$zoneField->set($properties);
|
|
|
|
$properties = $languageField->get();
|
|
$properties->{dataDefault} = 'English';
|
|
$languageField->set($properties);
|
|
|
|
$session->setting->remove("specialState");
|
|
|
|
my $u1 = WebGUI::User->new($session, '1');
|
|
is $u1->get('language'), 'English', 'returned Visitor to English';
|
|
|
|
my $u3 = WebGUI::User->new($session, '3');
|
|
is $u3->get('language'), 'English', 'returned Admin to English';
|