Sha256: 6c4c2330ce57e39b83e14c4785e921faa3552ba7243288387115e37def006af3

Contents?: true

Size: 1.67 KB

Versions: 1

Compression:

Stored size: 1.67 KB

Contents

require_relative '../context/client_context'
require_relative '../../lib/mangopay/api/service/clients'
require_relative '../../lib/mangopay/util/file_encoder'

describe MangoApi::Clients do
  include_context 'client_context'

  describe '.update' do

    context 'given a valid object' do
      client = CLIENT_DATA

      it 'updates the corresponding entity' do
        updated = MangoApi::Clients.update client

        expect(updated).to be_kind_of MangoModel::Client
        expect(updated.name).not_to be_nil
        expect(updated.client_id).not_to be_nil
        expect(updated.logo).not_to be_nil
        expect(its_the_same_client(client, updated)).to be_truthy
      end
    end
  end

  describe '.upload_logo' do

    context "given a valid image file's path" do
      path = File.join(File.dirname(__FILE__), '..', 'resources', 'logo.png')
      base64_to_upload = FileEncoder.encode_base64(path)

      it "uploads the image as the client's logo" do
        MangoApi::Clients.upload_logo path

        client = MangoApi::Clients.get
        uploaded_logo_uri = URI(client.logo)
        uploaded_image = MangoApi::HttpClient.get_raw(uploaded_logo_uri)
        uploaded_base64 = Base64.strict_encode64(uploaded_image)

        expect(base64_to_upload).to eq uploaded_base64
      end
    end
  end

  describe '.get' do

    context 'from a correctly-configured environment' do
      it "retrieves the environment's Client entity" do
        retrieved = MangoApi::Clients.get

        expect(retrieved).to be_kind_of MangoModel::Client
        expect(retrieved.client_id).to eq MangoPay.configuration.client_id
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mangopay-v4-4.0.0 spec/mangopay/clients_spec.rb