diff options
author | Ivan Kohler <ivan@freeside.biz> | 2012-07-08 22:45:58 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2012-07-08 22:45:58 -0700 |
commit | a6fe07e49e3fc12169e801b1ed6874c3a5bd8500 (patch) | |
tree | b87a7e6f37da5c8e13eb4d4653cfc8ce9239d8f0 /rt/t/web/rest-sort.t | |
parent | e27244386c346f459d1569db26344407a0372a05 (diff) | |
parent | 005424d0c899aa899f43f583a6c74deb13ea4be1 (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Conflicts:
httemplate/misc/process/cancel_pkg.html
Diffstat (limited to 'rt/t/web/rest-sort.t')
-rw-r--r-- | rt/t/web/rest-sort.t | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/rt/t/web/rest-sort.t b/rt/t/web/rest-sort.t new file mode 100644 index 000000000..6b4d35169 --- /dev/null +++ b/rt/t/web/rest-sort.t @@ -0,0 +1,46 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use RT::Test tests => 25; + +my ($baseurl, $m) = RT::Test->started_ok; + +RT::Test->create_tickets( + { }, + { Subject => 'uno' }, + { Subject => 'dos' }, + { Subject => 'tres' }, +); + +ok($m->login, 'logged in'); + +sorted_tickets_ok('Subject', ['2: dos', '3: tres', '1: uno']); +sorted_tickets_ok('+Subject', ['2: dos', '3: tres', '1: uno']); +sorted_tickets_ok('-Subject', ['1: uno', '3: tres', '2: dos']); + +sorted_tickets_ok('id', ['1: uno', '2: dos', '3: tres']); +sorted_tickets_ok('+id', ['1: uno', '2: dos', '3: tres']); +sorted_tickets_ok('-id', ['3: tres', '2: dos', '1: uno']); + +undef $m; + +sub sorted_tickets_ok { + local $Test::Builder::Level = $Test::Builder::Level + 1; + my $order = shift; + my $expected = shift; + + my $query = 'id > 0'; + + my $uri = URI->new("$baseurl/REST/1.0/search/ticket"); + $uri->query_form( + query => $query, + orderby => $order, + ); + $m->get_ok($uri); + + my @lines = split /\n/, $m->content; + shift @lines; # header + shift @lines; # empty line + + is_deeply(\@lines, $expected, "sorted results by '$order'"); +} |