summaryrefslogtreecommitdiff
path: root/rt/t/web/admin_queue_lifecycle.t
blob: 6b84012833d72d17175c515c544c9537bc449dc1 (plain)
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
use strict;
use warnings;

use RT::Test tests => 13;

my $lifecycles = RT->Config->Get('Lifecycles');
RT->Config->Set( Lifecycles => %{$lifecycles},
                 foo => {
                     initial  => ['initial'],
                     active   => ['open'],
                     inactive => ['resolved'],
                 }
);

RT::Lifecycle->FillCache();

my ( $url, $m ) = RT::Test->started_ok;
ok( $m->login(), 'logged in' );

$m->get_ok( $url . '/Admin/Queues/Modify.html?id=1' );

my $form            = $m->form_name('ModifyQueue');
my $lifecycle_input = $form->find_input('Lifecycle');
is( $lifecycle_input->value, 'default', 'default lifecycle' );

my @lifecycles = sort $lifecycle_input->possible_values;
is_deeply( \@lifecycles, [qw/default foo/], 'found all lifecycles' );

$m->submit_form();
$m->content_lacks( 'Lifecycle changed from',
    'no message of "Lifecycle changed from"' );
$m->content_lacks( 'That is already the current value',
    'no message of "That is already the current value"' );

$form = $m->form_name('ModifyQueue');
$m->submit_form( fields => { Lifecycle => 'foo' }, );
$m->content_contains(
    'Lifecycle changed from "default" to "foo"');
$lifecycle_input = $form->find_input('Lifecycle');
is( $lifecycle_input->value, 'foo', 'lifecycle is changed to foo' );

$form = $m->form_name('ModifyQueue');
$m->submit_form( fields => { Lifecycle => 'default' }, );
$m->content_contains(
    'Lifecycle changed from "foo" to "default"');
$lifecycle_input = $form->find_input('Lifecycle');
is( $lifecycle_input->value, 'default',
    'lifecycle is changed back to default' );