first pass RT4 merge, RT#13852
[freeside.git] / rt / t / web / command_line_with_unknown_field.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use File::Spec ();
5 use Test::Expect;
6 use RT::Test tests => 14, actual_server => 1;
7 my ($baseurl, $m) = RT::Test->started_ok;
8 my $rt_tool_path = "$RT::BinPath/rt";
9
10 $ENV{'RTUSER'} = 'root';
11 $ENV{'RTPASSWD'} = 'password';
12 $RT::Logger->debug("Connecting to server at ".RT->Config->Get('WebBaseURL'));
13 $ENV{'RTSERVER'} =RT->Config->Get('WebBaseURL') ;
14 $ENV{'RTDEBUG'} = '1';
15 $ENV{'RTCONFIG'} = '/dev/null';
16
17 expect_run(
18     command => "$rt_tool_path shell",
19     prompt => 'rt> ',
20     quit => 'quit',
21 );
22 expect_send(q{create -t ticket set subject='new ticket' add cc=foo@example.com}, "Creating a ticket...");
23
24 expect_like(qr/Ticket \d+ created/, "Created the ticket");
25 expect_handle->before() =~ /Ticket (\d+) created/;
26 my $ticket_id = $1;
27
28 expect_send("edit ticket/$ticket_id set marge=simpson", 'set unknown field');
29 expect_like(qr/marge: Unknown field/, 'marge is unknown field');
30 expect_like(qr/marge: simpson/, 'the value we set for marge is shown too');
31
32 expect_send("edit ticket/$ticket_id set homer=simpson", 'set unknown field');
33 expect_like(qr/homer: Unknown field/, 'homer is unknown field');
34 expect_like(qr/homer: simpson/, 'the value we set for homer is shown too');
35
36 expect_quit();
37
38 # you may encounter warning like Use of uninitialized value $ampm
39 # ... in Time::ParseDate
40 my @warnings = grep { $_ !~ /\$ampm/ } $m->get_warnings;
41 is( scalar @warnings, 0, 'no extra warnings' );
42
43 1; # needed to avoid a weird exit value from expect_quit