diff --git a/lib/rails5/spec_converter/hash_rewriter.rb b/lib/rails5/spec_converter/hash_rewriter.rb index 98f6fa8..fc184d4 100644 --- a/lib/rails5/spec_converter/hash_rewriter.rb +++ b/lib/rails5/spec_converter/hash_rewriter.rb @@ -1,7 +1,7 @@ require 'rails5/spec_converter/node_textifier' class HashRewriter - OUTSIDE_PARAMS_KEYS = %i(format xhr) + OUTSIDE_PARAMS_KEYS = %i(format headers xhr) attr_reader :hash_node, :original_indent diff --git a/spec/rails5/text_transformer_spec.rb b/spec/rails5/text_transformer_spec.rb index d8c82f7..5e16933 100644 --- a/spec/rails5/text_transformer_spec.rb +++ b/spec/rails5/text_transformer_spec.rb @@ -196,6 +196,32 @@ def quiet_transform(text) get :show, headers: { 'X-BANANA' => 'pancake' } RUBY end + + describe 'when the :headers key is present' do + it 'does not wrap it within :params' do + result = transform(<<-RUBY.strip_heredoc) + get :show, id: 10, headers: { 'X-BANANA' => 'pancake' } + RUBY + + expect(result).to eq(<<-RUBY.strip_heredoc) + get :show, params: { id: 10 }, headers: { 'X-BANANA' => 'pancake' } + RUBY + end + end + end + + describe 'xhr param' do + describe 'when :xhr key is present' do + it 'does not wrap it within :params' do + result = transform(<<-RUBY.strip_heredoc) + get :show, id: 10, xhr: true + RUBY + + expect(result).to eq(<<-RUBY.strip_heredoc) + get :show, params: { id: 10 }, xhr: true + RUBY + end + end end end