summaryrefslogtreecommitdiff
path: root/rt/t/clicky.t
blob: 8d5227e04b2426b703d468c7dca7f175ea5fdba2 (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#!/usr/bin/perl

use strict;
use warnings;
use Test::More;
use RT::Test tests => 14;
my %clicky;

BEGIN {

    %clicky = map { $_ => 1 } grep $_, RT->Config->Get('Active_MakeClicky');

# this's hack: we have to use RT::Test first to get RT->Config work, this
# results in the fact that we can't plan any more
    unless ( keys %clicky ) {
      SKIP: {
            skip "No active Make Clicky actions", 14;
        }
        exit 0;
    }
}

my ($baseurl, $m) = RT::Test->started_ok;

use_ok('MIME::Entity');

my $CurrentUser = $RT::SystemUser;

my $queue = new RT::Queue($CurrentUser);
$queue->Load('General') || Abort(loc("Queue could not be loaded."));

my $message = MIME::Entity->build(
    Subject => 'test',
    Data    => <<END,
If you have some problems with RT you could find help
on http://wiki.bestpractical.com or subscribe to
the rt-users\@lists.bestpractical.com.

--
Best regards. BestPractical Team.
END
);

my $ticket = new RT::Ticket( $CurrentUser );
my ($id) = $ticket->Create(
    Subject => 'test',
    Queue => $queue->Id,
    MIMEObj => $message,
);
ok($id, "We created a ticket #$id");
ok($ticket->Transactions->First->Content, "Has some content");

ok $m->login, 'logged in';
ok $m->goto_ticket($id), 'opened diplay page of the ticket';

SKIP: {
    skip "httpurl action disabled", 1 unless $clicky{'httpurl'};
    my @links = $m->find_link(
        tag => 'a',
        url => 'http://wiki.bestpractical.com',
        text => 'Open URL',
    );
    ok( scalar @links, 'found clicky link' );
}

SKIP: {
    skip "httpurl_overwrite action disabled", 1 unless $clicky{'httpurl_overwrite'};
    my @links = $m->find_link(
        tag => 'a',
        url => 'http://wiki.bestpractical.com',
        text => 'http://wiki.bestpractical.com',
    );
    ok( scalar @links, 'found clicky link' );
}

{

my $message = MIME::Entity->build(
    Type    => 'text/html',
    Subject => 'test',
    Data    => <<END,
If you have some problems with RT you could find help
on <a href="http://wiki.bestpractical.com">wiki</a> 
or find known bugs on http://rt3.fsck.com
--
Best regards. BestPractical Team.
END
);

my $ticket = new RT::Ticket($CurrentUser);
my ($id) = $ticket->Create(
    Subject => 'test',
    Queue   => $queue->Id,
    MIMEObj => $message,
);
ok( $id,                                   "We created a ticket #$id" );
ok( $ticket->Transactions->First->Content, "Has some content" );

ok $m->login, 'logged in';
ok $m->goto_ticket($id), 'opened diplay page of the ticket';

SKIP: {
    skip "httpurl action disabled", 2 unless $clicky{'httpurl'};
    my @links = $m->find_link(
        tag  => 'a',
        url  => 'http://wiki.bestpractical.com',
        text => 'Open URL',
    );
    ok( @links == 0, 'not make clicky links clicky twice' );

    @links = $m->find_link(
        tag  => 'a',
        url  => 'http://rt3.fsck.com',
        text => 'Open URL',
    );
    ok( scalar @links, 'found clicky link' );
}

}