summaryrefslogtreecommitdiffstats
path: root/extensions/BMO/t/bounty_attachment.t
blob: bd79b0dfe283e33b68a43485f5d8098f5d6a53a1 (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
#!/usr/bin/perl -T
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
use strict;
use warnings;
use lib qw( . lib );

use Test::More;
use Bugzilla;
use Bugzilla::Extension;

my $class = Bugzilla::Extension->load('extensions/BMO/Extension.pm',
                                      'extensions/BMO/Config.pm');

my $parse  = $class->can('parse_bounty_attachment_description');
my $format = $class->can('format_bounty_attachment_description');

ok($parse, "got the function");

my $bughunter = $parse->('bughunter@hacker.org, , 2014-06-25, , ,false');
is_deeply({ reporter_email => 'bughunter@hacker.org',
            amount_paid    => '',
            reported_date  => '2014-06-25',
            fixed_date     => '',
            awarded_date   => '',
            publish        => 0,
            credit         => []}, $bughunter);

my $hfli = $parse->('hfli@fortinet.com, 1000, 2010-07-16, 2010-08-04, 2011-06-15, true, Fortiguard Labs');
is_deeply({  reporter_email => 'hfli@fortinet.com',
             amount_paid    => '1000',
             reported_date  => '2010-07-16',
             fixed_date     => '2010-08-04',
             awarded_date   => '2011-06-15',
             publish        => 1,
             credit         => ['Fortiguard Labs']}, $hfli);

is('batman@justiceleague.america,1000,2015-01-01,2015-02-02,2015-03-03,true,JLA,Wayne Industries,Test',
   $format->({ reporter_email => 'batman@justiceleague.america',
               amount_paid    => 1000,
               reported_date  => '2015-01-01',
               fixed_date     => '2015-02-02',
               awarded_date   => '2015-03-03',
               publish        => 1,
               credit         => ['JLA', 'Wayne Industries', 'Test'] }));

my $dylan = $parse->('dylan@hardison.net,2,2014-09-23,2014-09-24,2014-09-25,true,Foo bar,Bork,');
is_deeply({ reporter_email => 'dylan@hardison.net',
            amount_paid    => 2,
            reported_date  => '2014-09-23',
            fixed_date     => '2014-09-24',
            awarded_date   => '2014-09-25',
            publish        => 1,
            credit         => ['Foo bar', 'Bork']}, $dylan);

done_testing;