[Rt-commit] rt branch, owner-autocomplete, updated. rt-3.8.8-494-g11fe722
Thomas Sibley
trs at bestpractical.com
Fri Aug 20 18:33:48 EDT 2010
The branch, owner-autocomplete has been updated
via 11fe7223ad743dc2783bc333511fe34fb13754d8 (commit)
from da7567debe4ac823abf1e5134296c1137ad890f2 (commit)
Summary of changes:
t/web/ticket_owner_autocomplete.t | 53 +++++++++++++++++++++++++++++++++---
1 files changed, 48 insertions(+), 5 deletions(-)
- Log -----------------------------------------------------------------
commit 11fe7223ad743dc2783bc333511fe34fb13754d8
Author: Thomas Sibley <trs at bestpractical.com>
Date: Fri Aug 20 18:35:50 2010 -0400
Check what values we get from autocomplete when we don't specify a term
diff --git a/t/web/ticket_owner_autocomplete.t b/t/web/ticket_owner_autocomplete.t
index a9fe326..dcc9f46 100644
--- a/t/web/ticket_owner_autocomplete.t
+++ b/t/web/ticket_owner_autocomplete.t
@@ -3,7 +3,8 @@
use strict;
use warnings;
-use RT::Test tests => 37;
+use RT::Test tests => 39;
+use JSON qw(from_json);
my $queue = RT::Test->load_or_create_queue( Name => 'Regression' );
ok $queue && $queue->id, 'loaded or created queue';
@@ -39,8 +40,7 @@ diag "current user has no right to own, nobody selected as owner on create" if $
$agent_a->content_like(qr/Create a new ticket/i, 'opened create ticket page');
my $form = $agent_a->form_name('TicketCreate');
is $form->value('Owner'), $RT::Nobody->Name, 'correct owner selected';
-# ok !grep($_ == $user_a->id, $form->find_input('Owner')->possible_values),
-# 'user A can not own tickets';
+ autocomplete_lacks( 'RT::Queue-'.$queue->id, 'user_a' );
$agent_a->submit;
$agent_a->content_like(qr/Ticket \d+ created in queue/i, 'created ticket');
@@ -64,8 +64,7 @@ diag "user can chose owner of a new ticket" if $ENV{TEST_VERBOSE};
my $form = $agent_a->form_name('TicketCreate');
is $form->value('Owner'), $RT::Nobody->Name, 'correct owner selected';
-# ok grep($_ == $user_b->id, $form->find_input('Owner')->possible_values),
-# 'user B is listed as potential owner';
+ autocomplete_contains( 'RT::Queue-'.$queue->id, 'user_b' );
$form->value('Owner', $user_b->Name);
$agent_a->submit;
@@ -141,3 +140,47 @@ diag "on reply correct owner is selected" if $ENV{TEST_VERBOSE};
ok $ticket->id, 'loaded the ticket';
is $ticket->Owner, $user_b->id, 'correct owner';
}
+
+sub autocomplete {
+ my $limit = shift;
+ my $agent = shift;
+ $agent->get("/Helpers/Autocomplete/Owners?term=&limit=$limit&return=Name", "fetched autocomplete values");
+ return from_json($agent->content);
+}
+
+sub autocomplete_contains {
+ my $limit = shift;
+ my $expected = shift;
+ my $agent = shift;
+
+ unless ( $agent ) {
+ $agent = RT::Test::Web->new;
+ $agent->login('user_a', 'password');
+ }
+
+ my $results = autocomplete( $limit, $agent );
+
+ my %seen;
+ $seen{$_->{value}}++ for @$results;
+ $expected = [$expected] unless ref $expected eq 'ARRAY';
+ is((scalar grep { not $seen{$_} } @$expected), 0, "got all expected values");
+}
+
+sub autocomplete_lacks {
+ my $limit = shift;
+ my $lacks = shift;
+ my $agent = shift;
+
+ unless ( $agent ) {
+ $agent = RT::Test::Web->new;
+ $agent->login('user_a', 'password');
+ }
+
+ my $results = autocomplete( $limit, $agent );
+
+ my %seen;
+ $seen{$_->{value}}++ for @$results;
+ $lacks = [$lacks] unless ref $lacks eq 'ARRAY';
+ is((scalar grep { $seen{$_} } @$lacks), 0, "didn't get any unexpected values");
+}
+
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list