Sha256: bff062955975eb4ec2d49668aa6ae52e95f77f696fc817c4306a78a6e6155e25

Contents?: true

Size: 1.42 KB

Versions: 2

Compression:

Stored size: 1.42 KB

Contents

require "spec_helper"

describe CompareLinker::GithubLinkFinder do
  let(:octokit) { double.as_null_object }

  subject { described_class.new(octokit) }


  describe "#find" do
    before do
      allow(HTTPClient).to receive(:get_content).and_return load_fixture("rails.json")
      allow(subject).to receive(:redirect_url).and_return "http://github.com/rails/rails"
    end

    it "extracts repo_owner and repo_name" do
      subject.find("rails")
      expect(subject.repo_owner).to eq "rails"
      expect(subject.repo_name).to eq "rails"
    end

    context "if github url includes trailing slash" do
      before do
        allow(HTTPClient).to receive(:get_content).and_return load_fixture("web_translate_it.json")
        allow(subject).to receive(:redirect_url).and_return "http://github.com/atelierconvivialite/webtranslateit/"
      end

      it "extracts repo_owner and repo_name without trailing slash" do
        subject.find("web_translate_it")
        expect(subject.repo_owner).to eq "atelierconvivialite"
        expect(subject.repo_name).to eq "webtranslateit"
      end
    end

    context "if gem not found on rubygems.org" do
      before do
        allow(HTTPClient).to receive(:get_content).and_return load_fixture("not_found.json")
      end

      it "extracts homepage_uri" do
        subject.find("not_found")
        expect(subject.homepage_uri).to eq "https://rubygems.org/gems/not_found"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
compare_linker-1.1.7 spec/lib/compare_linker/github_link_finder_spec.rb
compare_linker-1.1.6 spec/lib/compare_linker/github_link_finder_spec.rb