Sha256: f4b8c08b65caa29722bf14829389fbe5b1d1c17bc6fa80432310c5cb0074fffa

Contents?: true

Size: 974 Bytes

Versions: 12

Compression:

Stored size: 974 Bytes

Contents

# frozen_string_literal: true

require 'rails_helper'

describe LHC do
  include ActionDispatch::TestProcess

  context 'multipart' do
    let(:file) { Rack::Test::UploadedFile.new(Tempfile.new) }
    let(:body) { { size: 2231 }.to_json }
    let(:location) { 'http://local.ch/uploads/image.jpg' }

    it 'formats requests to be multipart/form-data' do
      stub_request(:post, 'http://local.ch/') do |request|
        raise 'Content-Type header wrong' unless request.headers['Content-Type'] == 'multipart/form-data'
        raise 'Body wrongly formatted' unless request.body.match?(/file=%23%3CActionDispatch%3A%3AHttp%3A%3AUploadedFile%3A.*%3E&type=Image/)
      end.to_return(status: 200, body: body, headers: { 'Location' => location })
      response = LHC.multipart.post(
        'http://local.ch',
        body: { file: file, type: 'Image' }
      )
      expect(response.body).to eq body
      expect(response.headers['Location']).to eq location
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
lhc-15.2.1 spec/formats/multipart_spec.rb
lhc-15.2.0 spec/formats/multipart_spec.rb
lhc-15.1.3 spec/formats/multipart_spec.rb
lhc-15.1.2 spec/formats/multipart_spec.rb
lhc-15.1.1 spec/formats/multipart_spec.rb
lhc-15.1.0 spec/formats/multipart_spec.rb
lhc-16.0.0.pre.pro2162.2 spec/formats/multipart_spec.rb
lhc-16.0.0.pre.pro2162 spec/formats/multipart_spec.rb
lhc-15.0.1 spec/formats/multipart_spec.rb
lhc-15.0.0 spec/formats/multipart_spec.rb
lhc-14.0.0 spec/formats/multipart_spec.rb
lhc-13.4.0.pre.pro1766.1 spec/formats/multipart_spec.rb