diff options
Diffstat (limited to 't')
-rw-r--r-- | t/app/controller/admin/report_edit.t | 22 | ||||
-rw-r--r-- | t/app/controller/admin/update_edit.t | 4 | ||||
-rw-r--r-- | t/app/controller/report_updates.t | 6 | ||||
-rw-r--r-- | t/app/model/comment.t | 25 | ||||
-rw-r--r-- | t/map/bing.t | 12 | ||||
-rw-r--r-- | t/map/fms.t | 55 | ||||
-rw-r--r-- | t/open311.t | 1 |
7 files changed, 92 insertions, 33 deletions
diff --git a/t/app/controller/admin/report_edit.t b/t/app/controller/admin/report_edit.t index f8101ab76..e041154db 100644 --- a/t/app/controller/admin/report_edit.t +++ b/t/app/controller/admin/report_edit.t @@ -329,7 +329,6 @@ foreach my $test ( closed_updates => undef, }, expect_comment => 1, - user_body => $oxfordshire, changes => { state => 'investigating' }, log_entries => [ qw/edit state_change edit edit resend edit state_change edit state_change edit state_change edit state_change edit state_change edit edit edit edit edit/ @@ -351,7 +350,6 @@ foreach my $test ( }, expect_comment => 1, expected_text => '*Category changed from ‘Other’ to ‘Potholes’*', - user_body => $oxfordshire, changes => { state => 'in progress', category => 'Potholes' }, log_entries => [ qw/edit state_change category_change edit state_change edit edit resend edit state_change edit state_change edit state_change edit state_change edit state_change edit edit edit edit edit/ @@ -364,11 +362,6 @@ foreach my $test ( $report->comments->delete; $log_entries->reset; - if ( $test->{user_body} ) { - $superuser->from_body( $test->{user_body}->id ); - $superuser->update; - } - $mech->get_ok("/admin/report_edit/$report_id"); @{$test->{fields}}{'external_id', 'external_body', 'external_team', 'category'} = (13, "", "", "Other"); @@ -440,21 +433,12 @@ foreach my $test ( } else { is $comment->text, '', 'comment has no text'; } - if ( $test->{user_body} ) { - ok $comment->get_extra_metadata('is_body_user'), 'body user metadata set'; - ok !$comment->get_extra_metadata('is_superuser'), 'superuser metadata not set'; - is $comment->name, $test->{user_body}->name, 'comment name is body name'; - } else { - ok !$comment->get_extra_metadata('is_body_user'), 'body user metadata not set'; - ok $comment->get_extra_metadata('is_superuser'), 'superuser metadata set'; - is $comment->name, _('an administrator'), 'comment name is admin'; - } + ok !$comment->get_extra_metadata('is_body_user'), 'body user metadata not set'; + ok $comment->get_extra_metadata('is_superuser'), 'superuser metadata set'; + is $comment->name, _('an administrator'), 'comment name is admin'; } else { is $report->comments->count, 0, 'report has no comments'; } - - $superuser->from_body(undef); - $superuser->update; }; } diff --git a/t/app/controller/admin/update_edit.t b/t/app/controller/admin/update_edit.t index 57c8973d4..8650e7771 100644 --- a/t/app/controller/admin/update_edit.t +++ b/t/app/controller/admin/update_edit.t @@ -81,7 +81,7 @@ for my $test ( fields => { text => 'this is an update', state => 'confirmed', - name => '', + name => 'Test User', anonymous => 1, username => $update->user->email, }, @@ -96,7 +96,7 @@ for my $test ( fields => { text => 'this is a changed update', state => 'confirmed', - name => '', + name => 'Test User', anonymous => 1, username => $update->user->email, }, diff --git a/t/app/controller/report_updates.t b/t/app/controller/report_updates.t index e97b04f12..3198cf70c 100644 --- a/t/app/controller/report_updates.t +++ b/t/app/controller/report_updates.t @@ -1096,10 +1096,10 @@ subtest $test->{desc} => sub { unlike $update_meta->[1], qr/Commenter/, 'commenter name not included'; like $update_meta->[0], qr/investigating/i, 'update meta includes state change'; - if ($test->{body} || $test->{bodyuser}) { - like $update_meta->[1], qr/Westminster/, 'body user update uses body name'; - } elsif ($test->{superuser}) { + if ($test->{superuser}) { like $update_meta->[1], qr/an administrator/, 'superuser update says an administrator'; + } elsif ($test->{body} || $test->{bodyuser}) { + like $update_meta->[1], qr/Westminster/, 'body user update uses body name'; } ok $user->user_body_permissions->create({ diff --git a/t/app/model/comment.t b/t/app/model/comment.t index 3f30b3a1e..dd9af9eb9 100644 --- a/t/app/model/comment.t +++ b/t/app/model/comment.t @@ -1,20 +1,27 @@ use FixMyStreet::Test; -my $comment_rs = FixMyStreet::DB->resultset('Comment'); +my $user = FixMyStreet::DB->resultset('User')->new({ name => 'Test User', is_superuser => 1 }); +my $comment_rs = FixMyStreet::DB->resultset('Comment'); my $comment = $comment_rs->new( { - user_id => 1, + user => $user, problem_id => 1, text => '', - state => 'confirmed', - anonymous => 0, - mark_fixed => 0, - cobrand => 'default', - cobrand_data => '', } ); -is $comment->confirmed, undef, 'inflating null confirmed ok'; -is $comment->created, undef, 'inflating null confirmed ok'; +is $comment->created, undef, 'inflating null created ok'; +is $comment->mark_fixed, 0, 'mark fixed default set'; +is $comment->state, 'confirmed', 'state default is confirmed'; +is $comment->name, 'an administrator'; + +$user->is_superuser(0); +$comment = $comment_rs->new({ + user => $user, + problem_id => 1, + text => '', +}); +is $comment->name, 'Test User'; + done_testing(); diff --git a/t/map/bing.t b/t/map/bing.t new file mode 100644 index 000000000..ae8391871 --- /dev/null +++ b/t/map/bing.t @@ -0,0 +1,12 @@ +use Test::More; +use FixMyStreet::Map::Bing; + +my $tiles = FixMyStreet::Map::Bing->map_tiles(x_tile => 8105, y_tile => 5375, zoom_act => 14); +$tiles = [ map { m{ch/([^?]*)}; $1; } @$tiles ]; +is_deeply $tiles, [ '03131132323220', '03131132323221', '03131132323222', '03131132323223' ]; + +$tiles = FixMyStreet::Map::Bing->map_tiles(x_tile => 8105, y_tile => 5375, zoom_act => 14, aerial => 1); +$tiles = [ map { m{ch/([^?]*)\?.*A,G,L}; $1; } @$tiles ]; +is_deeply $tiles, [ '03131132323220', '03131132323221', '03131132323222', '03131132323223' ]; + +done_testing(); diff --git a/t/map/fms.t b/t/map/fms.t new file mode 100644 index 000000000..3a562db26 --- /dev/null +++ b/t/map/fms.t @@ -0,0 +1,55 @@ +use Test::More; +use FixMyStreet::Map::FMS; + +# Z NI Aerial +my $expected = { + 10 => { + 0 => { + 0 => 'ch/1010100100.*?=G,L', + 1 => 'ch/1010100100.*?A,G,L', + }, + 1 => { + 0 => 'ch/1010100100.*?=G,L', + 1 => 'ch/1010100100.*?A,G,L', + }, + }, + 13 => { + 0 => { + 0 => 'r3131010100100.*?mmOS', + 1 => 'ch/3131010100100.*?A,G,L', + }, + 1 => { + 0 => 'ch/3131010100100.*?=G,L', + 1 => 'ch/3131010100100.*?A,G,L', + }, + }, + 16 => { + 0 => { + 0 => 'oml/16/32420/21504', + 1 => 'ch/0313131010100100.*?A,G,L', + }, + 1 => { + 0 => 'ch/0313131010100100.*?=G,L', + 1 => 'ch/0313131010100100.*?A,G,L', + }, + }, +}; + +subtest "Correct tiles with various parameters" => sub { + for my $aerial (0, 1) { + for my $ni (0, 1) { + for my $zoom (qw(10 13 16)) { + my $tiles = FixMyStreet::Map::FMS->map_tiles( + x_tile => 32421, y_tile => 21505, zoom_act => $zoom, + aerial => $aerial, + latitude => $ni ? 55 : 51, + longitude => $ni ? -6 : -2, + ); + my $wanted = $expected->{$zoom}{$ni}{$aerial}; + like $tiles->[0], qr/$wanted/, "with zoom $zoom, NI $ni, aerial $aerial"; + } + } + } +}; + +done_testing(); diff --git a/t/open311.t b/t/open311.t index 9524006b8..941e35f7e 100644 --- a/t/open311.t +++ b/t/open311.t @@ -402,6 +402,7 @@ subtest 'Hounslow update description is correct for a different user' => sub { my $comment = make_comment('hounslow'); $comment->user($user2); + $comment->name($user2->name); my $results; FixMyStreet::override_config { ALLOWED_COBRANDS => 'hounslow', |