RT-Extension-ModifyUsersPrefs

 view release on metacpan or  search on metacpan

xt/modify-users-prefs.t  view on Meta::CPAN

use strict;
use warnings;

use RT::Extension::ModifyUsersPrefs::Test tests => 17;

use Test::WWW::Mechanize;

# Create user
my $user = RT::Test->load_or_create_user(Name => 'user', Password => 'password');
ok(RT::Test->set_rights({Principal => $user, Right => [qw(ModifySelf)]}), 'Set ModifySelf right');

# Login root
my ($base, $m) = RT::Extension::ModifyUsersPrefs::Test->started_ok;
ok($m->login('root', 'password'), 'Logged in root');

# Modify user's prefs
$m->get_ok($m->rt_base_url . 'Admin/Users/Modify.html?id=' . $user->id, 'Modify user');
my $user_id = $user->id;
$m->content_like(qr{<li id="li-page-userprefs"[^>]*><a id="page-userprefs" class="menu-item[^"]*" href="/Admin/Users/Prefs\.html\?id=$user_id">Preferences</a></li>}, "Menu link to user's prefs");
$m->follow_link_ok({ id => 'page-userprefs' }, 'Modify user prefs link');
$m->submit_form_ok(
    {
        form_name => "ModifyUsersPreferences",
        fields    => {EmailFrequency => 'Suspended'},
        button    => 'Update'},
    'Submit form'
);
$m->content_contains('Preferences saved', 'Preferences saved');

# Logout root
$m->get_ok($m->rt_base_url . 'NoAuth/Logout.html', 'Logout root');

# Login user
ok($m->login('user', 'password'), 'Logged in user');

# Check user's prefs
$m->get_ok($m->rt_base_url . 'Prefs/Other.html', "Get user's own prefs");
my $prefs_form = $m->form_name('ModifyPreferences');
is($m->value('EmailFrequency'), 'Suspended', 'Email frequency correctly set');



( run in 0.662 second using v1.01-cache-2.11-cpan-5a3173703d6 )