From: Andy Allan Date: Wed, 12 Jun 2019 14:25:19 +0000 (+0200) Subject: Use i18n for submit button for issue comments X-Git-Tag: live~2534^2~2 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/085412f6240cf675b3d8fecbace22edf577962b3 Use i18n for submit button for issue comments Normally when an en-GB.yml translation is missing, rails falls back to en.yml. But when using the submit helpers, if the en-GB translation is missing, rails knows how to create a fallback like 'Create {model_name}' without touching the en.yml file. This string might then be different from what the test expects, e.g. 'Add Comment'. So it's important to set the language headers, to avoid phantomjs from picking up your desktop preferences in this specific case. --- diff --git a/app/views/issues/_comments.html.erb b/app/views/issues/_comments.html.erb index 13f5bb192..7ff0948db 100644 --- a/app/views/issues/_comments.html.erb +++ b/app/views/issues/_comments.html.erb @@ -20,6 +20,6 @@ <%= label_tag :reassign, t(".reassign_param") %> <%= check_box_tag :reassign, true %>

- <%= submit_tag "Submit" %> + <%= f.submit %> <% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 6ff69733d..71abe1efe 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -12,6 +12,8 @@ en: diary_entry: create: "Publish" update: "Update" + issue_comment: + create: Add Comment message: create: Send redaction: diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb index 0f46ad3ec..60322763e 100644 --- a/test/application_system_test_case.rb +++ b/test/application_system_test_case.rb @@ -18,4 +18,10 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase .to_return(:status => 404) super(*args) end + + # Phantomjs can pick up browser Accept-Language preferences from your desktop environment. + # We don't want this to happen during the tests! + setup do + page.driver.add_headers("Accept-Language" => "en") + end end diff --git a/test/system/issues_test.rb b/test/system/issues_test.rb index f2421599f..08b1acb34 100644 --- a/test/system/issues_test.rb +++ b/test/system/issues_test.rb @@ -78,7 +78,7 @@ class IssuesTest < ApplicationSystemTestCase visit issue_path(issue) fill_in :issue_comment_body, :with => "test comment" - click_on "Submit" + click_on "Add Comment" assert page.has_content?(I18n.t("issue_comments.create.comment_created")) assert page.has_content?("test comment") @@ -95,7 +95,7 @@ class IssuesTest < ApplicationSystemTestCase fill_in :issue_comment_body, :with => "reassigning to moderators" check :reassign - click_on "Submit" + click_on "Add Comment" issue.reload assert_equal "moderator", issue.assigned_role