Sha256: 0d4cecc06b0801873827b3eb07c3a4f2042a953b56acba99bd3423f28c61ba0f

Contents?: true

Size: 1.68 KB

Versions: 1

Compression:

Stored size: 1.68 KB

Contents

require 'spec_helper'

describe LearnOpen::Opener do
  LearnOpen::Opener::HOME_DIR = File.join(__dir__, "..", "home_dir")

  context "Verifying repo existance" do
    let(:opener) { LearnOpen::Opener.new("","","") }
    before do
      path = File.join(__dir__, "..", "home_dir", "code")
      FileUtils.rm_rf(path)
    end

    context "with .cloned_labs file" do
      before do
        cloned_labs = "#{LearnOpen::Opener::HOME_DIR}/.cloned_labs"
        FileUtils.rm(cloned_labs) if File.exists?(cloned_labs)
      end
      it "returns true if lab is in the .cloned_labs file" do
        expect(opener).to receive(:repo_dir).at_least(:once).and_return("js-rubber-duck-wrangling")

        File.open("#{LearnOpen::Opener::HOME_DIR}/.cloned_labs", "w+") do |f|
          f.puts("js-rubber-duck-wrangling")
        end

        FileUtils.mkdir_p("#{opener.lessons_dir}/js-rubber-duck-wrangling")

        expect(opener.repo_exists?).to be_truthy
      end
      it "returns false if lab is not in the .cloned_labs file" do
        expect(opener).to receive(:repo_dir).and_return("js-rubber-duck-wrangling")
        expect(opener.repo_exists?).to be_falsy
      end
    end

    context "without .cloned_labs file" do
      it "returns true if directory for lab exists" do
        expect(opener).to receive(:repo_dir).and_return("js-rubber-duck-wrangling")
        FileUtils.mkdir_p("#{opener.lessons_dir}/js-rubber-duck-wrangling")

        expect(opener.repo_exists?).to be_truthy
      end

      it "returns false if directory for lab doesn't exists" do
        expect(opener).to receive(:repo_dir).and_return("js-rubber-duck-wrangling")
        expect(opener.repo_exists?).to be_falsy
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
learn-open-1.2.2 spec/learn_open/opener_spec.rb