Rspec: how to spec request.env in a helper spec?

后端 未结 5 1751
忘掉有多难
忘掉有多难 2021-02-12 13:36

In my helper module, I have:

def abc(url)
  ...
  if request.env[\'HTTP_USER_AGENT\']
    do something
  end
end

In my spec file, I have:

5条回答
  •  一向
    一向 (楼主)
    2021-02-12 14:26

    Well, you've almost nothing to do:

    before(:each) do
      @meth = :abc
    
      request.env['HTTP_USER_AGENT'] = "..."
    end
    

    I just gave this another try and this passes:

    #in helper
    def foo
      request.env['HTTP_USER_AGENT']
    end
    
    #spec
    it "foo" do
      helper.request.env['HTTP_USER_AGENT'] = 'foo'
      expect(helper.foo).to eq 'foo'
    end
    

提交回复
热议问题