Не могу передать: локаль к методу посещения Капибары - PullRequest
2 голосов
/ 05 марта 2012

мой тест Capybaras работает только для локали по умолчанию, но не для указанной.

describe "How it works" do
  it "should have the content 'how it works'" do
    visit how_it_works_url(:locale => :en)
    page.should have_content('How it works')      
  end
  it "should have the content 'wie es geht'" do
    visit how_it_works_url(:locale => :de)
    page.should have_content('Wie es geht')      
  end
end  

Если default_locale равен 'en', первый тест проходит, если он равен 'de', второй проходит.

Ни маршрут не переведен (я использую гем 'rails-translate-routs'), ни содержимое.

1 Ответ

2 голосов
/ 22 марта 2012

Может быть, это поможет:

Путь не работает должным образом при использовании капибара

Для rspec вы можете поместить этот фрагмент в spec/support/locale.rb, например:

# workaround, to set default locale for ALL spec
class ActionView::TestCase::TestController
  def default_url_options(options={})
    { :locale => I18n.default_locale }
  end
end

class ActionDispatch::Routing::RouteSet
  def default_url_options(options={})
    { :locale => I18n.default_locale }
  end
end

Смотрите здесь для более подробной информации.

...