Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/views/devise/shared/_signup_box.html.haml_spec.rb')
-rw-r--r--spec/views/devise/shared/_signup_box.html.haml_spec.rb37
1 files changed, 25 insertions, 12 deletions
diff --git a/spec/views/devise/shared/_signup_box.html.haml_spec.rb b/spec/views/devise/shared/_signup_box.html.haml_spec.rb
index 1f0cd213f7b..b0730e6fc54 100644
--- a/spec/views/devise/shared/_signup_box.html.haml_spec.rb
+++ b/spec/views/devise/shared/_signup_box.html.haml_spec.rb
@@ -3,28 +3,41 @@
require 'spec_helper'
RSpec.describe 'devise/shared/_signup_box' do
+ let(:button_text) { '_button_text_' }
+ let(:terms_path) { '_terms_path_' }
+
+ let(:translation_com) do
+ s_("SignUp|By clicking %{button_text}, I agree that I have read and accepted "\
+ "the GitLab %{link_start}Terms of Use and Privacy Policy%{link_end}")
+ end
+
+ let(:translation_non_com) do
+ s_("SignUp|By clicking %{button_text}, I agree that I have read and accepted "\
+ "the %{link_start}Terms of Use and Privacy Policy%{link_end}")
+ end
+
before do
stub_devise
allow(view).to receive(:show_omniauth_providers).and_return(false)
allow(view).to receive(:url).and_return('_url_')
- allow(view).to receive(:terms_path).and_return('_terms_path_')
- allow(view).to receive(:button_text).and_return('_button_text_')
+ allow(view).to receive(:terms_path).and_return(terms_path)
+ allow(view).to receive(:button_text).and_return(button_text)
allow(view).to receive(:signup_username_data_attributes).and_return({})
stub_template 'devise/shared/_error_messages.html.haml' => ''
end
+ def text(translation)
+ format(translation,
+ button_text: button_text,
+ link_start: "<a href='#{terms_path}' target='_blank' rel='noreferrer noopener'>",
+ link_end: '</a>')
+ end
+
context 'when terms are enforced' do
before do
allow(Gitlab::CurrentSettings.current_application_settings).to receive(:enforce_terms?).and_return(true)
end
- it 'shows expected text with placeholders' do
- render
-
- expect(rendered).to have_content('By clicking _button_text_')
- expect(rendered).to have_link('Terms of Use and Privacy Policy')
- end
-
context 'when on .com' do
before do
allow(Gitlab).to receive(:com?).and_return(true)
@@ -33,7 +46,7 @@ RSpec.describe 'devise/shared/_signup_box' do
it 'shows expected GitLab text' do
render
- expect(rendered).to have_content('I have read and accepted the GitLab Terms')
+ expect(rendered).to include(text(translation_com))
end
end
@@ -45,7 +58,7 @@ RSpec.describe 'devise/shared/_signup_box' do
it 'shows expected text without GitLab' do
render
- expect(rendered).to have_content('I have read and accepted the Terms')
+ expect(rendered).to include(text(translation_non_com))
end
end
end
@@ -59,7 +72,7 @@ RSpec.describe 'devise/shared/_signup_box' do
it 'shows expected text with placeholders' do
render
- expect(rendered).not_to have_content('By clicking')
+ expect(rendered).not_to include(text(translation_com))
end
end