From db400d845ec65d9daddafc32faef72911213d51e Mon Sep 17 00:00:00 2001 From: Joel Azemar Date: Thu, 30 Sep 2021 17:12:26 +0200 Subject: [PATCH] Do not wrap the :headers / :xhr attributes within :params https://github.com/tjgrathwell/rails5-spec-converter/pull/14 https://github.com/vongruenigen @vongruenigen --- lib/rails5/spec_converter/hash_rewriter.rb | 2 +- spec/rails5/text_transformer_spec.rb | 26 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) 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