aboutsummaryrefslogtreecommitdiffstats
path: root/t/app/sendreport/angus.t
blob: a19ee483aefed3d8f85ebe8d5720af257b43ee73 (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
use strict;
use warnings;

use FixMyStreet::DB;

use Test::More;

use_ok("FixMyStreet::SendReport::Angus");

my $u = FixMyStreet::DB->resultset('User')->new( { email => 'test@example.org', name => 'A User' } );

my $p = FixMyStreet::DB->resultset('Problem')->new( {
    latitude => 1,
    longitude => 1,
    title => 'title',
    detail => 'detail',
    user => $u,
    id => 1,
    name => 'A User',
    cobrand => 'fixmystreet',
} );

my $angus = FixMyStreet::SendReport::Angus->new();

subtest 'parses authentication token correctly' => sub {
    my $authxml = <<EOT;
    <AuthenticateResponse>

            <AuthenticateResult>
                TVRreUxqRTJPQzR5TlRVdU1qSjhNakF4Tmpvd01Ub3lNam94TlRvME16b3pPUT09VGhvdVNoYWx0Tm90UGFzcw==
            </AuthenticateResult>
            <success>
                    True
            </success>
            <message></message>

    </AuthenticateResponse>
EOT
;
    is $angus->get_auth_token($authxml), 'TVRreUxqRTJPQzR5TlRVdU1qSjhNakF4Tmpvd01Ub3lNam94TlRvME16b3pPUT09VGhvdVNoYWx0Tm90UGFzcw==', 'token correct';
};

subtest 'parses report external id correctly' => sub {
    my $respxml = <<EOT;
<CreateRequestResponse>

    <CreateRequestResult>
        <RequestId>7245</RequestId>
    </CreateRequestResult>

    <success>True</success>
    <message></message>

</CreateRequestResponse>
EOT
;
    is $angus->get_external_id($respxml), '7245', 'external id correct';
};


done_testing();