Merge branch 'master' of https://github.com/jgoodman/Freeside
[freeside.git] / rt / t / web / case-sensitivity.t
1 use strict;
2 use warnings;
3
4 use RT::Test tests => 18;
5
6 my $q = RT::Test->load_or_create_queue( Name => 'General' );
7 ok $q && $q->id, 'loaded or created queue';
8
9 my ($root, $root_id);
10 {
11     $root = RT::User->new( RT->SystemUser );
12     $root->Load('root');
13     ok $root_id = $root->id, 'found root';
14 }
15
16 my ($baseurl, $m) = RT::Test->started_ok;
17 $m->login;
18
19 # test users auto completer
20 {
21     $m->get_ok('/Helpers/Autocomplete/Users?term=eNo');
22     require JSON;
23     is_deeply(
24         JSON::from_json( $m->content ),
25         [{"value" =>  "root\@localhost","label" => "Enoch Root", id=>$root_id}]
26     );
27 }
28
29 # test ticket's People page
30 {
31     my $ticket = RT::Test->create_ticket( Queue => $q->id );
32     ok $ticket && $ticket->id, "created ticket";
33
34     $m->goto_ticket( $ticket->id );
35     $m->follow_link_ok( {text => 'People'} );
36     $m->form_number(3);
37     $m->select( UserField => 'RealName' );
38     $m->field( UserString => 'eNo' );
39     $m->click('OnlySearchForPeople');
40
41     my $form = $m->form_number(3);
42     my $input = $form->find_input('Ticket-AddWatcher-Principal-'. $root->id );
43     ok $input, 'input is there';
44 }
45
46 # test users' admin UI
47 {
48     $m->get_ok('/Admin/Users/');
49
50     $m->form_number(4);
51     $m->select( UserField => 'RealName' );
52     $m->field( UserString => 'eNo' );
53     $m->submit;
54
55     like $m->uri, qr{\QAdmin/Users/Modify.html?id=$root_id\E};
56 }
57
58 # create a cf for testing
59 my $cf;
60 {
61     $cf = RT::CustomField->new(RT->SystemUser);
62     my ($id,$msg) = $cf->Create(
63         Name => 'Test',
64         Type => 'Select',
65         MaxValues => '1',
66         Queue => $q->id,
67     );
68     ok($id,$msg);
69
70     ($id,$msg) = $cf->AddValue(Name => 'Enoch', Description => 'Root');
71     ok($id,$msg);
72 }
73
74 # test custom field values auto completer
75 {
76     $m->get_ok('/Helpers/Autocomplete/CustomFieldValues?term=eNo&Object---CustomField-'. $cf->id .'-Value&ContextId=1&ContextType=RT::Queue');
77     require JSON;
78     is_deeply(
79         JSON::from_json( $m->content ),
80         [{"value" =>  "Enoch","label" => "Enoch (Root)"}]
81     );
82 }
83