Sha256: 06dd6c40bffc77767314e218b91d9ab4bfb00c343d1a88a03cdbac74c1cdf05b

Contents?: true

Size: 1.42 KB

Versions: 3

Compression:

Stored size: 1.42 KB

Contents

require 'spec_helper'

describe HackernewsRuby::Client do
  let(:client) { HackernewsRuby::Client.new }

  it 'creates a Faraday::Connection' do
    expect(client.connection).to be_kind_of Faraday::Connection
  end
  it '#get_item story' do
    VCR.use_cassette('get_story') do
      story = client.get_item(8863)

      expect(story).to_not be_nil
      expect(story.id).to eq 8863
      expect(story.type).to eq "story"
      expect(story.kids).to be_kind_of Array
    end
  end

  it '#get_item comment' do
    VCR.use_cassette('get_comment') do
      comment = client.get_item(2921983)

      expect(comment).to_not be_nil
      expect(comment.id).to eq 2921983
      expect(comment.type).to eq "comment"
    end
  end

  it '#get_item poll' do

    VCR.use_cassette('get_comment') do
      poll = client.get_item(126809)

      expect(poll).to_not be_nil
      expect(poll.id).to eq 126809
      expect(poll.type).to eq "poll"
      expect(poll.score).to_not be_nil
      expect(poll.parts).to be_kind_of Array
    end
  end

  it '#get_user' do
    VCR.use_cassette('get_user') do
      user = client.get_user('jl')

      expect(user.about).to eq "This is a test"
      expect(user.created).to eq 1173923446
    end
  end

  it "#top_storeis" do
    VCR.use_cassette('top_stories') do
      tstories = client.top_stories

      expect(tstories).to be_kind_of Array
      expect(tstories.all? { |id| id.is_a? Fixnum} ).to eq true
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hackernews_ruby-0.0.4 spec/hackernews_ruby/client_spec.rb
hackernews_ruby-0.0.3 spec/hackernews_ruby/client_spec.rb
hackernews_ruby-0.0.2 spec/hackernews_ruby/client_spec.rb