Sha256: b7462dd5fe2337b1d58f14db2167d6e643ee4f7d6b82e29f4785a554c2ceac28

Contents?: true

Size: 817 Bytes

Versions: 2

Compression:

Stored size: 817 Bytes

Contents

# encoding: utf-8
#
require 'spec_helper'

describe Mode::Sdk::TableImport do
  describe '#poll' do
    it 'polls state until completed' do
      import = Mode::Sdk::TableImport.new('/some/path')

      reprs = %w(new enqueued running running failed).map do |state|
        { 'state' => state }
      end

      expect(import).to receive(:fetch_repr).and_return(*reprs)

      expect { |b|
        import.poll(0, &b)
      }.to yield_successive_args(*reprs)
    end
  end

  describe '#fetch_repr' do
    it 'performs get request' do
      import = Mode::Sdk::TableImport.new('/some/path')

      response = double(:response, body: { 'state' => 'enqueued' })

      expect(Mode::Sdk::Client).to receive(:get).and_return(response)

      expect(import.send(:fetch_repr)).to eq('state' => 'enqueued')
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mode-sdk-0.1.0 spec/lib/mode/sdk/table_import_spec.rb
mode-sdk-0.0.1 spec/lib/mode/sdk/table_import_spec.rb