Sha256: 575588b76a38a9f4b3b7e44aa50c648498605ba9b32150a2888dfec3f3ec4753

Contents?: true

Size: 1.52 KB

Versions: 7

Compression:

Stored size: 1.52 KB

Contents

require "spec_helper"

describe "spade build when logged in" do
  let(:email) { "who@example.com" }

  before do
    cd(home)
    env["HOME"] = home.to_s
    write_creds(email, "deadbeef")
  end

  it "builds a spade from a given package.json" do
    FileUtils.cp_r fixtures("core-test"), "."
    FileUtils.cp fixtures("package.json"), "core-test"
    cd "core-test"
    spade "build"

    exit_status.should be_success
    output = stdout.read
    output.should include("Successfully built package: core-test-0.4.3.spd")

    package = Gem::Format.from_file_by_path("core-test-0.4.3.spd")
    package.spec.name.should == "core-test"
    package.spec.version.should == Gem::Version.new("0.4.3")
    package.spec.email.should == email
  end
end

describe "spade build without logging in" do
  before do
    cd(home)
    env["HOME"] = home.to_s
  end

  it "warns the user that they must log in first" do
    spade "build", :track_stderr => true

    exit_status.should_not be_success
    stderr.read.should include("Please login first with `spade login`")
  end
end

describe "spade build with an invalid package.json" do
  before do
    cd(home)
    env["HOME"] = home.to_s
    write_api_key("deadbeef")
  end

  it "reports error messages" do
    FileUtils.touch "package.json"
    spade "build", :track_stderr => true

    exit_status.should_not be_success
    output = stderr.read
    output.should include("Spade encountered the following problems building your package:")
    output.should include("There was a problem parsing package.json")
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
spade-0.0.8.1 spec/cli/build_spec.rb
spade-0.0.7 spec/cli/build_spec.rb
spade-0.0.6 spec/cli/build_spec.rb
spade-0.0.5 spec/cli/build_spec.rb
spade-0.0.4 spec/cli/build_spec.rb
spade-0.0.3 spec/cli/build_spec.rb
spade-0.0.2 spec/cli/build_spec.rb