diff options
Diffstat (limited to 'spec/support/shared_examples/controllers')
-rw-r--r-- | spec/support/shared_examples/controllers/preferred_language_switcher_shared_examples.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/support/shared_examples/controllers/preferred_language_switcher_shared_examples.rb b/spec/support/shared_examples/controllers/preferred_language_switcher_shared_examples.rb new file mode 100644 index 00000000000..74456e62eb8 --- /dev/null +++ b/spec/support/shared_examples/controllers/preferred_language_switcher_shared_examples.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +RSpec.shared_examples 'switches to user preferred language' do |msg_id_example| + context 'with preferred_language in cookies' do + render_views + let(:user_preferred_language) { 'zh_CN' } + + subject { get :new } + + before do + cookies['preferred_language'] = user_preferred_language + end + + it 'renders new template with cookies preferred language' do + expect(subject).to render_template(:new) + expect(response).to have_gitlab_http_status(:ok) + + expected_text = Gitlab::I18n.with_locale(user_preferred_language) { _(msg_id_example) } + expect(response.body).to include(expected_text) + end + end +end |