import rt 3.8.8
[freeside.git] / rt / lib / t / regression / 15cf_combo_cascade.t
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4 use Test::More tests => 11;
5
6 use RT;
7 RT::LoadConfig();
8 RT::Init();
9
10 sub fails { ok(!$_[0], "This should fail: $_[1]") }
11 sub works { ok($_[0], $_[1] || 'This works') }
12
13 sub new (*) {
14     my $class = shift;
15     return $class->new($RT::SystemUser);
16 }
17
18 my $q = new(RT::Queue);
19 works($q->Create(Name => "CF-Pattern-".$$));
20
21 my $cf = new(RT::CustomField);
22 my @cf_args = (Name => $q->Name, Type => 'Combobox', Queue => $q->id);
23
24 works($cf->Create(@cf_args));
25
26 # Set some CFVs with Category markers
27
28 my $t = new(RT::Ticket);
29 my ($id,undef,$msg) = $t->Create(Queue => $q->id, Subject => 'CF Test');
30 works($id,$msg);
31
32 sub add_works {
33     works(
34         $cf->AddValue(Name => $_[0], Description => $_[0], Category => $_[1])
35     );
36 };
37
38 add_works('value1', '1. Category A');
39 add_works('value2');
40 add_works('value3', '1.1. A-sub one');
41 add_works('value4', '1.2. A-sub two');
42 add_works('value5', '');
43
44 my $cfv = $cf->Values->First;
45 is($cfv->Category, '1. Category A');
46 works($cfv->SetCategory('1. Category AAA'));
47 is($cfv->Category, '1. Category AAA');
48
49 1;