Убедитесь, что CORS включен в Rails 6 с помощью RSpec - PullRequest
1 голос
/ 27 мая 2020

У меня есть конечная точка, которая должна разрешать запросы извне домена.

В моем config/application.rb:

    config.middleware.insert_before 0, Rack::Cors do
      allow do
        origins '*'
        resource '/api/*',
                 headers: :any,
                 credentials: false,
                 methods: %i[post options]
      end
    end

Однако мне нужно написать spe c в RSpe c (я предполагаю feature spe c), чтобы гарантировать, что запросы извне домена разрешены для этой конечной точки.

My spe c для конечной точки выглядит примерно так:

RSpec.describe FooController, type: :request do
  describe 'POST foo#create' do
    it 'should accept an external request' do
      post foo_create_path
      expect(response.status).to eq(200)
    end
  end
end

Как мне имитировать этот запрос, поступающий из другого домена?

1 Ответ

1 голос
/ 27 мая 2020

Вы можете использовать Rack :: MockRequest

как: `Rack :: MockRequest.env_for (" https: // # {host} / a? foo = bar ", {})}` `

Вы можете найти реализацию здесь

...