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