diff options
Diffstat (limited to 'spec/features/user_sees_marketing_header_spec.rb')
-rw-r--r-- | spec/features/user_sees_marketing_header_spec.rb | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/spec/features/user_sees_marketing_header_spec.rb b/spec/features/user_sees_marketing_header_spec.rb new file mode 100644 index 00000000000..31f088ce010 --- /dev/null +++ b/spec/features/user_sees_marketing_header_spec.rb @@ -0,0 +1,69 @@ +# frozen_string_literal: true + +require "spec_helper" + +RSpec.describe 'User sees experimental lmarketing header' do + let_it_be(:project) { create(:project, :public) } + + context 'when not logged in' do + context 'when experiment candidate' do + it 'shows marketing header links', :aggregate_failures do + stub_experiments(logged_out_marketing_header: :candidate) + + visit project_path(project) + + expect(page).to have_text "About GitLab" + expect(page).to have_text "Pricing" + expect(page).to have_text "Talk to an expert" + expect(page).to have_text "Sign up now" + expect(page).to have_text "Login" + end + end + + context 'when experiment candidate (trial focused variant)' do + it 'shows marketing header links', :aggregate_failures do + stub_experiments(logged_out_marketing_header: :trial_focused) + + visit project_path(project) + + expect(page).to have_text "About GitLab" + expect(page).to have_text "Pricing" + expect(page).to have_text "Talk to an expert" + expect(page).to have_text "Get a free trial" + expect(page).to have_text "Sign up" + expect(page).to have_text "Login" + end + end + + context 'when experiment control' do + it 'does not show marketing header links', :aggregate_failures do + stub_experiments(logged_out_marketing_header: :control) + + visit project_path(project) + + expect(page).not_to have_text "About GitLab" + expect(page).not_to have_text "Pricing" + expect(page).not_to have_text "Talk to an expert" + expect(page).not_to have_text "Sign up now" + expect(page).not_to have_text "Login" + expect(page).not_to have_text "Get a free trial" + expect(page).not_to have_text "Sign up" + expect(page).to have_text "Sign in / Register" + end + end + end + + context 'when logged in' do + it 'does not show marketing header links', :aggregate_failures do + sign_in(create(:user)) + + stub_experiments(logged_out_marketing_header: :candidate) + + visit project_path(project) + + expect(page).not_to have_text "About GitLab" + expect(page).not_to have_text "Pricing" + expect(page).not_to have_text "Talk to an expert" + end + end +end |