Sha256: 307d0c8091fc0af9691f1a3a93cf12a56f5850280e1353a7d5b187cfe3b0070d

Contents?: true

Size: 1.46 KB

Versions: 2

Compression:

Stored size: 1.46 KB

Contents

require 'tempfile'

describe Onfido::LivePhoto do
  subject(:live_photo) { described_class.new }

  describe '#create' do
    let(:params) { { applicant_id: '123456', file: file } }

    context 'with a File-like object to upload' do
      let(:file) { Tempfile.new(['passport', '.jpg']) }

      after do
        file.close
        file.unlink
      end

      it 'creates a new photo' do
        response = live_photo.create(**params)

        expect(response['id']).not_to be_nil
      end
    end

    context 'passing in a non-File-like file to upload' do
      let(:file) { 'https://onfido.com/images/photo.jpg' }

      it 'raises an ArgumentError' do
        expect { live_photo.create(**params) }.
          to raise_error(ArgumentError, /must be a `File`-like object/)
      end
    end
  end

  describe '#find' do
    it 'returns the expected live photo' do
      live_photo_id = '3538c8f6-fdce-4745-9d34-fc246bc05aa1'
      response = live_photo.find(live_photo_id)

      expect(response['id']).to eq(live_photo_id)
    end
  end

  describe '#all' do
    it 'returns list of documents' do
      applicant_id = '1030303-123123-123123'
      response = live_photo.all(applicant_id)

      expect(response['live_photos']).not_to be_empty
    end
  end

  describe '#download' do
    it 'returns the file data' do
      live_photo_id = '3538c8f6-fdce-4745-9d34-fc246bc05aa1'
      response = live_photo.download(live_photo_id)

      expect(response).not_to be_nil
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
onfido-1.1.1 spec/integrations/live_photo_spec.rb
onfido-1.1.0 spec/integrations/live_photo_spec.rb