Sha256: c5e8da76c595fb965c05b9d1a275473b5a5fc2b875d75260e9f617a100ef1807

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 KB

Contents

require 'spec_helper'

describe TransferBuilder do
  it 'raises if given an item with a size of 0' do
    broken = StringIO.new('')
    expect {
      described_class.new.ensure_io_compliant!(broken)
    }.to raise_error(/The IO object given to add_file has a size of 0/)
  end

  it 'raises if IO raises an error' do
    broken = []

    expect {
      described_class.new.ensure_io_compliant!(broken)
    }.to raise_error(TransferBuilder::TransferIOError)
  end

  it 'adds a file' do
    transfer_builder = described_class.new
    transfer_builder.add_file_at(path: __FILE__)
    expect(transfer_builder.items.count).to eq(1)

    item = transfer_builder.items.first
    expect(item.name).to eq('transfer_builder_spec.rb')
    expect(item.io).to be_kind_of(File)
    expect(item.local_identifier).to be_kind_of(String)
  end

  it 'should add a url' do
    transfer_builder = described_class.new
    transfer_builder.add_web_content(path: 'https://www.wetransfer.com')
    expect(transfer_builder.items.count).to eq(1)

    item = transfer_builder.items.first
    expect(item.url).to eq('https://wetransfer.com/')
    expect(item.title).to eq('wetransfer.com')
    expect(item.local_identifier).to be_kind_of(String)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wetransfer-0.4.0 spec/we_transfer_client/transfer_builder_spec.rb