diff options
Diffstat (limited to 't')
-rw-r--r-- | t/app/controller/reports.t | 19 | ||||
-rw-r--r-- | t/roles/translatable.t | 22 |
2 files changed, 41 insertions, 0 deletions
diff --git a/t/app/controller/reports.t b/t/app/controller/reports.t index dd84d3d2e..9f28a6c89 100644 --- a/t/app/controller/reports.t +++ b/t/app/controller/reports.t @@ -25,6 +25,16 @@ my @edinburgh_problems = $mech->create_problems_for_body(3, $body_edin_id, 'All my @westminster_problems = $mech->create_problems_for_body(5, $body_west_id, 'All reports', { category => 'Graffiti' }); my @fife_problems = $mech->create_problems_for_body(15, $body_fife_id, 'All reports', { category => 'Flytipping' }); +my $west_trans = FixMyStreet::DB->resultset('Translation')->find_or_create({ + tbl => 'body', + object_id => $body_west_id, + col => 'name', + lang => 'de', + msgstr => 'De Westminster' +}); + +ok $west_trans, 'created westminster translation'; + is scalar @westminster_problems, 5, 'correct number of westminster problems created'; is scalar @edinburgh_problems, 3, 'correct number of edinburgh problems created'; is scalar @fife_problems, 15, 'correct number of fife problems created'; @@ -267,4 +277,13 @@ subtest "it lists shortlisted reports" => sub { }; }; +subtest "can use translated body name" => sub { + FixMyStreet::override_config { + MAPIT_URL => 'http://mapit.uk/', + }, sub { + $mech->get_ok('/reports/De Westminster'); + $mech->title_like(qr/Westminster City Council/); + }; +}; + done_testing(); diff --git a/t/roles/translatable.t b/t/roles/translatable.t new file mode 100644 index 000000000..a33b2d9d0 --- /dev/null +++ b/t/roles/translatable.t @@ -0,0 +1,22 @@ +use FixMyStreet::TestMech; +my $mech = FixMyStreet::TestMech->new; + +my $body = FixMyStreet::DB->resultset("Body")->create({ name => 'Dunkirk' }); + +FixMyStreet::DB->resultset("Translation")->create({ + lang => "fr", + tbl => "body", + object_id => $body->id, + col => "name", + msgstr => "Dunkerque", +}); + +is $body->name, "Dunkirk"; + +FixMyStreet::DB->schema->lang("fr"); +is $body->name, "Dunkerque"; + +FixMyStreet::DB->schema->lang("de"); +is $body->name, "Dunkirk"; + +done_testing; |