Sha256: ff8f509f7f5351e19cca931b2adf863a7b2b7433896c106ed6e9fb69cf831428

Contents?: true

Size: 1.31 KB

Versions: 96

Compression:

Stored size: 1.31 KB

Contents

module Spree
  module Api
    module TestingSupport
      module Helpers
        def json_response
          case body = JSON.parse(response.body)
          when Hash
            body.with_indifferent_access
          when Array
            body
          end
        end

        def assert_not_found!
          expect(json_response).to eq('error' => 'The resource you were looking for could not be found.')
          expect(response.status).to eq 404
        end

        def assert_unauthorized!
          expect(json_response).to eq('error' => 'You are not authorized to perform that action.')
          expect(response.status).to eq 401
        end

        def stub_authentication!
          allow(Spree.user_class).to receive(:find_by).with(hash_including(:spree_api_key)) { current_api_user }
        end

        # This method can be overriden (with a let block) inside a context
        # For instance, if you wanted to have an admin user instead.
        def current_api_user
          @current_api_user ||= stub_model(Spree.user_class, email: 'spree@example.com')
        end

        def image(filename)
          File.open(Spree::Api::Engine.root + 'spec/fixtures' + filename)
        end

        def upload_image(filename)
          fixture_file_upload(image(filename).path, 'image/jpg')
        end
      end
    end
  end
end

Version data entries

96 entries across 96 versions & 1 rubygems

Version Path
spree_api-4.2.2 lib/spree/api/testing_support/helpers.rb
spree_api-4.2.1 lib/spree/api/testing_support/helpers.rb
spree_api-4.0.7 lib/spree/api/testing_support/helpers.rb
spree_api-3.7.14 lib/spree/api/testing_support/helpers.rb
spree_api-4.2.0 lib/spree/api/testing_support/helpers.rb
spree_api-4.2.0.rc5 lib/spree/api/testing_support/helpers.rb
spree_api-4.2.0.rc4 lib/spree/api/testing_support/helpers.rb
spree_api-4.2.0.rc3 lib/spree/api/testing_support/helpers.rb
spree_api-4.1.13 lib/spree/api/testing_support/helpers.rb
spree_api-4.0.6 lib/spree/api/testing_support/helpers.rb
spree_api-4.2.0.rc2 lib/spree/api/testing_support/helpers.rb
spree_api-3.7.13 lib/spree/api/testing_support/helpers.rb
spree_api-4.0.5 lib/spree/api/testing_support/helpers.rb
spree_api-4.1.12 lib/spree/api/testing_support/helpers.rb
spree_api-3.7.12 lib/spree/api/testing_support/helpers.rb
spree_api-4.2.0.rc1 lib/spree/api/testing_support/helpers.rb
spree_api-4.0.4 lib/spree/api/testing_support/helpers.rb
spree_api-3.7.11 lib/spree/api/testing_support/helpers.rb
spree_api-4.1.11 lib/spree/api/testing_support/helpers.rb
spree_api-4.1.10 lib/spree/api/testing_support/helpers.rb