Sha256: f1821e6723b61d509043c3386dfa89b8bbaddd69b14fce3c96c060f0a1e3bf54

Contents?: true

Size: 834 Bytes

Versions: 3

Compression:

Stored size: 834 Bytes

Contents

# -*- encoding : utf-8 -*-
module Pacto
  module Cops
    describe ResponseStatusCop do
      subject(:cop) { described_class }
      let(:contract) { Fabricate(:contract) }
      let(:request) { Fabricate(:pacto_request) }

      describe '#investigate' do
        context 'when status does not match' do
          let(:response) { Fabricate(:pacto_response, status: 500) }
          it 'returns a status error' do
            expect(cop.investigate(request, response, contract)).to eq ['Invalid status: expected 200 but got 500']
          end
        end

        context 'when the status matches' do
          let(:response) { Fabricate(:pacto_response, status: 200) }
          it 'returns nil' do
            expect(cop.investigate(request, response, contract)).to be_empty
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pacto-0.4.0.rc3 spec/unit/pacto/cops/response_status_cop_spec.rb
pacto-0.4.0.rc2 spec/unit/pacto/cops/response_status_cop_spec.rb
pacto-0.4.0.rc1 spec/unit/pacto/cops/response_status_cop_spec.rb