Sha256: acf56d1a96695ec8515e45bdf8d82d5eb7418cba301644c34b1db32ccfbc979d

Contents?: true

Size: 1.27 KB

Versions: 3

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) { fail }).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
          fail
        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

3 entries across 3 versions & 1 rubygems

Version Path
mshard-0.5.0 spec/lib/mshard/mshard_spec.rb
mshard-0.4.0 spec/lib/mshard/mshard_spec.rb
mshard-0.3.0 spec/lib/mshard/mshard_spec.rb