Sha256: b554fa4288fbfd854825b03ed70da89ab6c930b559f4ba91e9ce4d8e1e51a636

Contents?: true

Size: 1021 Bytes

Versions: 3

Compression:

Stored size: 1021 Bytes

Contents

require 'spec_helper'

describe Popularity::Medium do
  context "non-medium url" do
    use_vcr_cassette "medium-invalid"

    subject {
      Popularity::Medium.new('http://google.com')
    }

    it "should be invalid" do
      expect(subject.valid?).to eq(false)
    end

    it "should have no resposne" do
      expect(subject.response).to eq(false)
    end
  end

  context "medium url" do
    use_vcr_cassette "medium-valid"

    subject {
      Popularity::Medium.new('https://medium.com/@jeffkeen/call-me-sometime-64ed463c02f0')
    }

    it "should be valid" do
      expect(subject.valid?).to eq(true)
    end

    it "should have response" do
      expect(subject.response).to_not eq(false)
    end

    it "should have correct number of recommends" do
      expect(13).to eq(subject.recommends)
    end

    context "json" do
      let(:json) { subject.to_json }

      it "should have required attributes in json" do 
        expect(subject.recommends).to eq(json["recommends"])
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
popularity-0.1.1 spec/medium_spec.rb
popularity-0.1.0 spec/medium_spec.rb
popularity-0.0.1 spec/medium_spec.rb