summaryrefslogtreecommitdiff
path: root/rt/t/api/reminder-permissions.t
diff options
context:
space:
mode:
Diffstat (limited to 'rt/t/api/reminder-permissions.t')
-rw-r--r--rt/t/api/reminder-permissions.t49
1 files changed, 49 insertions, 0 deletions
diff --git a/rt/t/api/reminder-permissions.t b/rt/t/api/reminder-permissions.t
new file mode 100644
index 000000000..8253d67af
--- /dev/null
+++ b/rt/t/api/reminder-permissions.t
@@ -0,0 +1,49 @@
+use strict;
+use warnings;
+use RT::Test tests => 9;
+
+my $user_a = RT::Test->load_or_create_user(
+ Name => 'user_a',
+ Password => 'password',
+);
+
+ok( $user_a && $user_a->id, 'created user_a' );
+ok(
+ RT::Test->add_rights(
+ {
+ Principal => $user_a,
+ Right => [qw/SeeQueue CreateTicket ShowTicket OwnTicket/]
+ },
+ ),
+ 'add basic rights for user_a'
+);
+
+my $ticket = RT::Test->create_ticket(
+ Subject => 'test reminder permission',
+ Queue => 'General',
+);
+ok( $ticket->id, 'created a ticket' );
+$ticket->CurrentUser($user_a);
+
+my ( $status, $msg ) = $ticket->Reminders->Add(
+ Subject => 'user a reminder',
+ Owner => $user_a->id,
+);
+ok( !$status, "couldn't create reminders without ModifyTicket: $msg" );
+
+ok(
+ RT::Test->add_rights(
+ {
+ Principal => $user_a,
+ Right => [qw/ModifyTicket/]
+ },
+ ),
+ 'add ModifyTicket right for user_a'
+);
+
+( $status, $msg ) = $ticket->Reminders->Add(
+ Subject => 'user a reminder',
+ Owner => $user_a->id,
+);
+ok( $status, "created a reminder with ModifyTicket: $msg" );
+