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
|
use strict;
use warnings;
use Test::More;
use utf8;
use FixMyStreet::TestMech;
use FixMyStreet::App;
my $user = FixMyStreet::App->model('DB::User')->find_or_create({
name => 'Bob', email => 'bob@example.com',
});
my $mech = FixMyStreet::TestMech->new;
subtest 'Zurich special case for C::Tokens->problem_confirm' => sub {
FixMyStreet::override_config {
ALLOWED_COBRANDS => ['zurich'],
}, sub {
my $c = FixMyStreet::App->new;
my $zurich = $mech->create_body_ok( 1, 'Zurich' );
my ($report) = $mech->create_problems_for_body(
1, $zurich->id,
{
state => 'unconfirmed',
confirmed => undef,
cobrand => 'zurich',
});
is $report->get_extra_metadata('email_confirmed'), undef, 'email_confirmed not yet set (sanity)';
my $token = $c->model('DB::Token')->create({ scope => 'problem', data => $report->id });
$mech->get_ok('/P/' . $token->token);
$report->discard_changes;
is $report->get_extra_metadata('email_confirmed'), 1, 'email_confirmed set by Zurich special case';
};
};
done_testing;
|