Skip to content

Commit

Permalink
Fix preferences objects for release notes fetchers
Browse files Browse the repository at this point in the history
  • Loading branch information
imobachgs committed Sep 25, 2017
1 parent 0f70555 commit 4f67191
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 10 deletions.
6 changes: 3 additions & 3 deletions src/lib/y2packager/release_notes_content_prefs.rb
Expand Up @@ -15,9 +15,9 @@ module Y2Packager
#
# @!attribute [rw] user_lang
# @return [String] User preferred language
# @!attribute [rw] format
# @return [Symbol] Release notes format (:txt or :rtf)
# @!attribute [rw] fallback_lang
# @return [Symbol] Language to use if release notes for user_lang are not available
ReleaseNotesContentPrefs = Struct.new(:user_lang, :format, :fallback_lang)
# @!attribute [rw] format
# @return [Symbol] Release notes format (:txt or :rtf)
ReleaseNotesContentPrefs = Struct.new(:user_lang, :fallback_lang, :format)
end
2 changes: 1 addition & 1 deletion test/lib/release_notes_fetchers/rpm_test.rb
Expand Up @@ -23,7 +23,7 @@
let(:user_lang) { "en_US" }
let(:format) { :txt }
let(:fallback_lang) { "en" }
let(:prefs) { Y2Packager::ReleaseNotesContentPrefs.new(user_lang, format, fallback_lang) }
let(:prefs) { Y2Packager::ReleaseNotesContentPrefs.new(user_lang, fallback_lang, format) }

before do
allow(Yast::Pkg).to receive(:PkgQueryProvides).with("release-notes()")
Expand Down
2 changes: 1 addition & 1 deletion test/lib/release_notes_fetchers/url_test.rb
Expand Up @@ -27,7 +27,7 @@
let(:user_lang) { "de_DE" }
let(:format) { :txt }
let(:fallback_lang) { "en" }
let(:prefs) { Y2Packager::ReleaseNotesContentPrefs.new(user_lang, format, fallback_lang) }
let(:prefs) { Y2Packager::ReleaseNotesContentPrefs.new(user_lang, fallback_lang, format) }

before do
allow(Yast::Pkg).to receive(:ResolvableProperties)
Expand Down
23 changes: 18 additions & 5 deletions test/lib/release_notes_reader_test.rb
Expand Up @@ -2,6 +2,7 @@

require_relative "../test_helper"
require "y2packager/release_notes_reader"
require "y2packager/release_notes_content_prefs"
require "y2packager/product"

describe Y2Packager::ReleaseNotesReader do
Expand Down Expand Up @@ -45,7 +46,7 @@

let(:url_reader) do
instance_double(
Y2Packager::ReleaseNotesFetchers::Rpm,
Y2Packager::ReleaseNotesFetchers::Url,
latest_version: :latest,
release_notes: relnotes_from_url
)
Expand Down Expand Up @@ -73,15 +74,21 @@
let(:registered) { true }

it "retrieves release notes from RPM packages" do
rn = reader.release_notes(user_lang: "en_US", format: :txt)
expect(rpm_reader).to receive(:release_notes).with(
Y2Packager::ReleaseNotesContentPrefs.new("de_DE", "en", :txt)
)
rn = reader.release_notes(user_lang: "de_DE", format: :txt)
expect(rn).to eq(release_notes)
end

context "when release notes are not found" do
let(:release_notes) { nil }

it "tries to get release notes from the relnotes_url property" do
rn = reader.release_notes(user_lang: "en_US", format: :txt)
expect(rpm_reader).to receive(:release_notes).with(
Y2Packager::ReleaseNotesContentPrefs.new("de_DE", "en", :html)
)
rn = reader.release_notes(user_lang: "de_DE", format: :html)
expect(rn).to eq(relnotes_from_url)
end
end
Expand All @@ -91,15 +98,21 @@
let(:registered?) { false }

it "retrieves release notes from external sources" do
rn = reader.release_notes(user_lang: "en_US", format: :txt)
expect(url_reader).to receive(:release_notes).with(
Y2Packager::ReleaseNotesContentPrefs.new("cz_CZ", "en", :txt)
)
rn = reader.release_notes(user_lang: "cz_CZ", format: :txt)
expect(rn).to eq(relnotes_from_url)
end

context "when release notes are not found" do
let(:relnotes_from_url) { nil }

it "tries to get release notes from RPM packages" do
rn = reader.release_notes(user_lang: "en_US", format: :txt)
expect(url_reader).to receive(:release_notes).with(
Y2Packager::ReleaseNotesContentPrefs.new("cz_CZ", "en", :html)
)
rn = reader.release_notes(user_lang: "cz_CZ", format: :html)
expect(rn).to eq(release_notes)
end
end
Expand Down

0 comments on commit 4f67191

Please sign in to comment.