Adds locale switcher js code + feature tests

This commit is contained in:
kikito
2015-08-19 21:40:17 +02:00
parent 5205ac99e3
commit 710e83fb22
2 changed files with 48 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
App.LocaleSwitcher =
href_with_params: (query_params) ->
loc = window.location
loc.protocol + "//" + loc.hostname +
(if loc.port then ':' + loc.port else '') +
loc.pathname +
loc.hash +
'?' + $.param(query_params)
initialize: ->
$('.js-locale-switcher').on 'change', ->
query_params = window.getQueryParameters()
query_params['locale'] = $(this).val()
window.location.assign(App.LocaleSwitcher.href_with_params(query_params))

View File

@@ -0,0 +1,29 @@
require 'rails_helper'
feature 'Locale Switcher' do
scenario 'Available locales appear in the locale switcher' do
visit '/'
within('.js-locale-switcher') do
expect(page).to have_content 'Español'
expect(page).to have_content 'English'
end
end
scenario 'The current locale is selected' do
visit '/'
expect(page).to have_select('locale-switcher', selected: 'English')
end
scenario 'Changing the locale', :js do
visit '/'
expect(page).to have_content('Site language')
select('Español', from: 'locale-switcher')
expect(page).to have_content('Idioma de la página')
expect(page).to_not have_content('Site language')
expect(page).to have_select('locale-switcher', selected: 'Español')
end
end