diff options
Diffstat (limited to 'rt/t/web/template.t')
-rw-r--r-- | rt/t/web/template.t | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/rt/t/web/template.t b/rt/t/web/template.t new file mode 100644 index 000000000..40a5366dc --- /dev/null +++ b/rt/t/web/template.t @@ -0,0 +1,62 @@ +#!/usr/bin/perl +use strict; +use warnings; + +use RT::Test tests => 19; + +my $user_a = RT::Test->load_or_create_user( + Name => 'user_a', Password => 'password', +); +ok $user_a && $user_a->id, 'loaded or created user'; + +my ($baseurl, $m) = RT::Test->started_ok; + +ok( RT::Test->set_rights( + { Principal => $user_a, Right => [qw(ShowConfigTab ShowTemplate ModifyTemplate)] }, +), 'set rights'); + +ok $m->login('user_a', 'password'), 'logged in as user A'; + +# get to the templates screen +$m->follow_link( text => 'Configuration' ); +$m->title_is(q{RT Administration}, 'admin screen'); + +$m->follow_link( text => 'Global' ); +$m->title_is(q{Admin/Global configuration}, 'global admin'); + +$m->follow_link( text => 'Templates' ); +$m->title_is(q{Modify templates which apply to all queues}, 'global templates'); + +$m->follow_link( text => 'Resolved' ); # template name +$m->title_is(q{Modify template Resolved}, 'modifying the Resolved template'); + +# now try changing Type back and forth +$m->form_name('ModifyTemplate'); +is($m->value('Type'), 'Perl'); + +$m->field(Type => 'Simple'); +$m->submit; + +$m->title_is(q{Modify template Resolved}, 'modifying the Resolved template'); +$m->form_name('ModifyTemplate'); +is($m->value('Type'), 'Simple', 'updated type to simple'); + +$m->field(Type => 'Perl'); +$m->submit; + +$m->title_is(q{Modify template Resolved}, 'modifying the Resolved template'); +$m->form_name('ModifyTemplate'); +is($m->value('Type'), 'Simple', 'need the ExecuteCode right to update Type to Perl'); +$m->content_contains('Permission Denied'); + +ok( RT::Test->add_rights( + { Principal => $user_a, Right => [qw(ExecuteCode)] }, +), 'add ExecuteCode rights'); + +$m->field(Type => 'Perl'); +$m->submit; + +$m->title_is(q{Modify template Resolved}, 'modifying the Resolved template'); +$m->form_name('ModifyTemplate'); +is($m->value('Type'), 'Perl', 'now that we have ExecuteCode we can update Type to Perl'); + |