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