first pass RT4 merge, RT#13852
[freeside.git] / rt / t / api / searchbuilder.t
1
2 use strict;
3 use warnings;
4 use RT;
5 use RT::Test tests => 11;
6
7
8 {
9
10 ok (require RT::SearchBuilder);
11
12
13 }
14
15 {
16
17 use_ok('RT::Queues');
18 ok(my $queues = RT::Queues->new(RT->SystemUser), 'Created a queues object');
19 ok( $queues->UnLimit(),'Unlimited the result set of the queues object');
20 my $items = $queues->ItemsArrayRef();
21 my @items = @{$items};
22
23 ok($queues->NewItem->_Accessible('Name','read'));
24 my @sorted = sort {lc($a->Name) cmp lc($b->Name)} @items;
25 ok (@sorted, "We have an array of queues, sorted". join(',',map {$_->Name} @sorted));
26
27 ok (@items, "We have an array of queues, raw". join(',',map {$_->Name} @items));
28 my @sorted_ids = map {$_->id } @sorted;
29 my @items_ids = map {$_->id } @items;
30
31 is ($#sorted, $#items);
32 is ($sorted[0]->Name, $items[0]->Name);
33 is ($sorted[-1]->Name, $items[-1]->Name);
34 is_deeply(\@items_ids, \@sorted_ids, "ItemsArrayRef sorts alphabetically by name");
35
36
37
38 }
39