X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Ft%2Fweb%2Fself_service.t;h=adc90d7762988ed8f048674030664c231bf900bf;hp=49d9e37eee1cb43db87f8c735412f0d77c11f33e;hb=e9e0cf0989259b94d9758eceff448666a2e5a5cc;hpb=6587f6ba7d047ddc1686c080090afe7d53365bd4 diff --git a/rt/t/web/self_service.t b/rt/t/web/self_service.t index 49d9e37ee..adc90d776 100644 --- a/rt/t/web/self_service.t +++ b/rt/t/web/self_service.t @@ -1,13 +1,37 @@ use strict; use warnings; -use RT::Test tests => 9; + +use RT::Test + tests => 17, + config => 'Set( $ShowUnreadMessageNotifications, 1 );' +; my ($url, $m) = RT::Test->started_ok; -my ($ticket) = - RT::Test->create_ticket( Queue => 'General', Subject => 'test subject' ); +my $user_a = RT::Test->load_or_create_user( + Name => 'user_a', + Password => 'password', + EmailAddress => 'user_a@example.com', + Privileged => 0, +); +ok( $user_a && $user_a->id, 'loaded or created user' ); +ok( ! $user_a->Privileged, 'user is not privileged' ); + +# Load Cc group +my $Cc = RT::Group->new( RT->SystemUser ); +my($ok, $msg) = $Cc->LoadSystemRoleGroup( 'Cc' ); +ok($ok, $msg); +RT::Test->add_rights( { Principal => $Cc, Right => ['ShowTicket'] } ); + +my ($ticket) = RT::Test->create_ticket( + Queue => 'General', + Subject => 'test subject', + Cc => 'user_a@example.com', +); + +my @results = $ticket->Correspond( Content => 'sample correspondence' ); -$m->login(); +ok( $m->login('user_a' => 'password'), 'unprivileged user logged in' ); $m->get_ok( '/SelfService/Display.html?id=' . $ticket->id, 'got selfservice display page' ); @@ -16,4 +40,16 @@ my $title = '#' . $ticket->id . ': test subject'; $m->title_is( $title ); $m->content_contains( "

$title

", "contains

$title

" ); +# $ShowUnreadMessageNotifications tests: +$m->content_contains( "There are unread messages on this ticket." ); + +# mark the message as read +$m->follow_link_ok( + { text => 'jump to the first unread message and mark all messages as seen' }, + 'followed mark as seen link' +); + +$m->content_contains( "

$title

", "contains

$title

" ); +$m->content_lacks( "There are unread messages on this ticket." ); + # TODO need more SelfService tests