Skip to content

Commit 8f73130

Browse files
Rspec added to bun --ignore-scripts changes
1 parent b3bc151 commit 8f73130

1 file changed

Lines changed: 63 additions & 0 deletions

File tree

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# typed: false
2+
# frozen_string_literal: true
3+
4+
require "spec_helper"
5+
require "dependabot/bun/update_checker/subdependency_version_resolver"
6+
7+
RSpec.describe Dependabot::Bun::UpdateChecker::SubdependencyVersionResolver do
8+
subject(:latest_resolvable_version) { resolver.latest_resolvable_version }
9+
10+
let(:dependency) do
11+
Dependabot::Dependency.new(
12+
name: "@dependabot-fixtures/npm-transitive-dependency",
13+
version: "1.0.0",
14+
requirements: [],
15+
package_manager: "bun"
16+
)
17+
end
18+
let(:credentials) do
19+
[Dependabot::Credential.new(
20+
{
21+
"type" => "git_source",
22+
"host" => "github.com"
23+
}
24+
)]
25+
end
26+
let(:dependency_files) do
27+
[Dependabot::DependencyFile.new(name: "bun.lock", content: "{}", directory: ".")]
28+
end
29+
let(:latest_allowable_version) { Dependabot::Bun::Version.new("1.0.1") }
30+
let(:resolver) do
31+
described_class.new(
32+
dependency: dependency,
33+
credentials: credentials,
34+
dependency_files: dependency_files,
35+
ignored_versions: [],
36+
latest_allowable_version: latest_allowable_version,
37+
repo_contents_path: nil
38+
)
39+
end
40+
let(:dependency_files_builder) do
41+
instance_double(Dependabot::Bun::UpdateChecker::DependencyFilesBuilder)
42+
end
43+
44+
before do
45+
allow(resolver).to receive(:dependency_files_builder).and_return(dependency_files_builder)
46+
allow(dependency_files_builder).to receive(:write_temporary_dependency_files) do
47+
File.write("bun.lock", "dummy lockfile")
48+
end
49+
allow(resolver).to receive(:filtered_lockfiles).and_return(dependency_files)
50+
allow(resolver).to receive(:version_from_updated_lockfiles).and_return(Gem::Version.new("1.0.1"))
51+
52+
allow(Dependabot::Bun::Helpers).to receive(:run_bun_command)
53+
end
54+
55+
it "runs bun update with --ignore-scripts for subdependency lockfile updates" do
56+
expect(latest_resolvable_version).to eq(Gem::Version.new("1.0.1"))
57+
58+
expect(Dependabot::Bun::Helpers).to have_received(:run_bun_command).with(
59+
"update @dependabot-fixtures/npm-transitive-dependency --save-text-lockfile --ignore-scripts",
60+
fingerprint: "update <dependency_name> --save-text-lockfile --ignore-scripts"
61+
)
62+
end
63+
end

0 commit comments

Comments
 (0)