diff options
Diffstat (limited to 'spec/helpers/startupjs_helper_spec.rb')
-rw-r--r-- | spec/helpers/startupjs_helper_spec.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/helpers/startupjs_helper_spec.rb b/spec/helpers/startupjs_helper_spec.rb index 6d61c38d4a5..8d429b59291 100644 --- a/spec/helpers/startupjs_helper_spec.rb +++ b/spec/helpers/startupjs_helper_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' RSpec.describe StartupjsHelper do + using RSpec::Parameterized::TableSyntax + describe '#page_startup_graphql_calls' do let(:query_location) { 'repository/path_last_commit' } let(:query_content) do @@ -17,4 +19,24 @@ RSpec.describe StartupjsHelper do expect(startup_graphql_calls).to include({ query: query_content, variables: { ref: 'foo' } }) end end + + describe '#page_startup_graphql_headers' do + where(:csrf_token, :feature_category, :expected) do + 'abc' | 'web_ide' | { 'X-CSRF-Token' => 'abc', 'x-gitlab-feature-category' => 'web_ide' } + '' | '' | { 'X-CSRF-Token' => '', 'x-gitlab-feature-category' => '' } + 'abc' | nil | { 'X-CSRF-Token' => 'abc', 'x-gitlab-feature-category' => '' } + 'something' | ' ' | { 'X-CSRF-Token' => 'something', 'x-gitlab-feature-category' => '' } + end + + with_them do + before do + allow(helper).to receive(:form_authenticity_token).and_return(csrf_token) + ::Gitlab::ApplicationContext.push(feature_category: feature_category) + end + + it 'returns hash of headers for GraphQL requests' do + expect(helper.page_startup_graphql_headers).to eq(expected) + end + end + end end |