Sha256: 258fd1b0626d95a6c0b86ee4e9d39bf18529c916b00fea4f541c673127b68b68

Contents?: true

Size: 1.27 KB

Versions: 1

Compression:

Stored size: 1.27 KB

Contents

require 'mshard'

describe MShard::MShard do
  it '#try works' do
    expect(subject.try { :result }).to be(:result)
    expect(subject.try(delay: 0.01) { raise }).to be(nil)
  end

  describe '#get' do
    before do
      expect(described_class).to receive(:get)
        .with('/v2/shards/id').and_return(double(body: :done))
    end

    it '#get works' do
      expect(subject.get(:id)).to eq(:done)
    end

    it '#get_safe works' do
      expect(subject.get_safe(:id)).to eq(:done)
    end
  end

  describe '#set' do
    before do
      expect(described_class).to receive(:post)
        .with('/v2/shards', body: :params).and_return('id' => :id)
    end

    it '#set works' do
      expect(subject.set(:params)).to eq(:id)
    end

    it '#set_safe works' do
      expect(subject.set_safe(:params)).to eq(:id)
    end
  end

  it '#set_error works' do
    expect(described_class).to receive(:post).and_return('id' => :id)
    e = double(inspect: :inspect, backtrace: [:a, :b])
    expect(subject.set_error(e)).to eq(:id)
  end

  it '#error_to_html works' do
    e = begin
          raise
        rescue => e
          e
        end
    html = subject.error_to_html(e)
    expect(html).to include('<title>Error</title>')
    expect(html).to include('<pre>RuntimeError</pre>')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mshard-0.5.1 spec/lib/mshard/mshard_spec.rb