Sha256: 355ffb3b0f0747de9dc42d4e6089c3ec8780ed59008fca531fc622b819200df5
Contents?: true
Size: 1.77 KB
Versions: 2
Compression:
Stored size: 1.77 KB
Contents
require 'shared/puppet_forge/v3/module' describe PuppetForge::V3::Module do subject { described_class.new('authorname-modulename') } let(:faraday_stubs) { Faraday::Adapter::Test::Stubs.new } let(:conn) do Faraday.new do |builder| builder.adapter :test, faraday_stubs end end before do subject.conn = conn end let(:releases_without_deletions) do {"releases" => [ {"version" => "1.0.1"}, {"version" => "1.0.0"}, {"version" => "0.9.0"} ] } end let(:releases_with_deletions) do {"releases" => [ {"version" => "0.4.0", "deleted_at" => "some point"}, {"version" => "0.3.0"} ] } end describe '#release' do it 'creates a release object for the module with the given version' do release = subject.release('3.1.4') expect(release.slug).to eq 'authorname-modulename-3.1.4' end it 'passes along the module connection object' do conn = Object.new subject.conn = conn release = subject.release('3.1.4') expect(release.conn).to eq conn end end describe '#versions' do it "returns all module release versions" do faraday_stubs.get('/v3/modules/authorname-modulename') { [200, {}, releases_without_deletions] } expect(subject.versions).to eq ["0.9.0", "1.0.0", "1.0.1"] end it "ignores deleted releases" do faraday_stubs.get('/v3/modules/authorname-modulename') { [200, {}, releases_with_deletions] } expect(subject.versions).to eq ["0.3.0"] end end describe '#latest_version' do it "returns the most recent version" do faraday_stubs.get('/v3/modules/authorname-modulename') { [200, {}, releases_without_deletions] } expect(subject.latest_version).to eq '1.0.1' end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
r10k-2.0.1 | spec/unit/puppet_forge/v3/module_spec.rb |
r10k-2.0.0 | spec/unit/puppet_forge/v3/module_spec.rb |