summaryrefslogtreecommitdiff
path: root/spec/bundler/update/gemfile_spec.rb
blob: 1c5294101ecf72478ece06d4e224dfbb51176b60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# frozen_string_literal: true

RSpec.describe "bundle update" do
  context "with --gemfile" do
    it "finds the gemfile" do
      gemfile bundled_app("NotGemfile"), <<-G
        source "#{file_uri_for(gem_repo1)}"
        gem 'rack'
      G

      bundle :install, :gemfile => bundled_app("NotGemfile")
      bundle :update, :gemfile => bundled_app("NotGemfile"), :all => true

      # Specify BUNDLE_GEMFILE for `the_bundle`
      # to retrieve the proper Gemfile
      ENV["BUNDLE_GEMFILE"] = "NotGemfile"
      expect(the_bundle).to include_gems "rack 1.0.0"
    end
  end

  context "with gemfile set via config" do
    before do
      gemfile bundled_app("NotGemfile"), <<-G
        source "#{file_uri_for(gem_repo1)}"
        gem 'rack'
      G

      bundle "config set --local gemfile #{bundled_app("NotGemfile")}"
      bundle :install
    end

    it "uses the gemfile to update" do
      bundle "update", :all => true
      bundle "list"

      expect(out).to include("rack (1.0.0)")
    end

    it "uses the gemfile while in a subdirectory" do
      bundled_app("subdir").mkpath
      bundle "update", :all => true, :dir => bundled_app("subdir")
      bundle "list", :dir => bundled_app("subdir")

      expect(out).to include("rack (1.0.0)")
    end
  end
end