File: single_values.t

package info (click to toggle)
request-tracker4 4.4.7%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 62,888 kB
  • sloc: javascript: 130,444; perl: 65,442; sh: 1,350; makefile: 480; python: 37; php: 30
file content (51 lines) | stat: -rw-r--r-- 1,495 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
use warnings;
use strict;

use RT;
use RT::Test tests => undef;



my $q = RT::Queue->new(RT->SystemUser);
my ($id,$msg) =$q->Create(Name => "CF-Single-".$$);
ok($id,$msg);

my $cf = RT::CustomField->new(RT->SystemUser);
($id,$msg) = $cf->Create(Name => 'Single-'.$$, Type => 'Select', MaxValues => '1', Queue => $q->id);
ok($id,$msg);


($id,$msg) =$cf->AddValue(Name => 'First');
ok($id,$msg);

($id,$msg) =$cf->AddValue(Name => 'Second');
ok($id,$msg);


my $t = RT::Ticket->new(RT->SystemUser);
($id,undef,$msg) = $t->Create(Queue => $q->id,
          Subject => 'CF Test');

ok($id,$msg);
is($t->CustomFieldValues($cf->id)->Count, 0, "No values yet");

my $ok;
my $value = 'First';
($ok, $msg) = $t->AddCustomFieldValue(Field => $cf->id, Value => $value);
ok( $ok, $msg );
is($t->CustomFieldValues($cf->id)->Count, 1, "One now");
is($t->FirstCustomFieldValue($cf->id), $value, "Value is $value");

$value = 'Second';
($ok, $msg) = $t->AddCustomFieldValue(Field => $cf->id, Value => $value);
ok( $ok, $msg );
is($t->CustomFieldValues($cf->id)->Count, 1, "Still one value");
is($t->FirstCustomFieldValue($cf->id), $value, "Value is $value");

($ok, $msg) = $t->AddCustomFieldValue(Field => $cf->id, Value => 'Bogus');
ok( !$ok, 'Returned false with value not in values list' );
like( $msg, qr/Invalid value/, 'Message reports invalid value');
is($t->CustomFieldValues($cf->id)->Count, 1, "Still one");
is($t->FirstCustomFieldValue($cf->id), $value, "Value is still $value");

done_testing();