Skip to content

Commit

Permalink
Fix Misc Bugs Introduced in Pack Generator Refactoring (#1515)
Browse files Browse the repository at this point in the history
* Fix Wrong Module Name
* Fix Version Check Bug and add Tests
  • Loading branch information
pulkitkkr authored Jan 30, 2023
1 parent a1cd67d commit b6a3e37
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 8 deletions.
4 changes: 0 additions & 4 deletions lib/react_on_rails/utils.rb
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,5 @@ def self.prepend_to_file_if_text_not_present(file:, text_to_prepend:, regex:)

puts "Prepended\n#{text_to_prepend}to #{file}."
end

def self.semver_to_string(ary)
"#{ary[0]}.#{ary[1]}.#{ary[2]}"
end
end
end
11 changes: 8 additions & 3 deletions lib/react_on_rails/webpacker_utils.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,10 @@ def self.shakapacker_version_as_array
@shakapacker_version_as_array = [match[1].to_i, match[2].to_i, match[3].to_i]
end

def self.shackapacker_version_requirement_met?(ary)
ary[0] >= shakapacker_version_as_array[0] && ary[1] >= shakapacker_version_as_array[1] &&
ary[2] >= shakapacker_version_as_array[2]
def self.shackapacker_version_requirement_met?(required_version)
req_ver = semver_to_string(required_version)

Gem::Version.new(shakapacker_version) >= Gem::Version.new(req_ver)
end

# This returns either a URL for the webpack-dev-server, non-server bundle or
Expand Down Expand Up @@ -136,5 +137,9 @@ def self.raise_shakapacker_not_installed

raise ReactOnRails::Error, msg
end

def self.semver_to_string(ary)
"#{ary[0]}.#{ary[1]}.#{ary[2]}"
end
end
end
34 changes: 33 additions & 1 deletion spec/react_on_rails/webpacker_utils_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,39 @@ module ReactOnRails
described_class.using_webpacker?
end

it { is_expected.to eq(true) }
it { is_expected.to be(true) }
end

describe ".shackapacker_version_requirement_met?" do
minimum_version = [6, 5, 3]

it "returns false when version is lower than minimum_version" do
allow(described_class).to receive(:shakapacker_version).and_return("6.5.0")

expect(described_class.shackapacker_version_requirement_met?(minimum_version)).to be(false)

allow(described_class).to receive(:shakapacker_version).and_return("6.4.7")
expect(described_class.shackapacker_version_requirement_met?(minimum_version)).to be(false)

allow(described_class).to receive(:shakapacker_version).and_return("5.7.7")
expect(described_class.shackapacker_version_requirement_met?(minimum_version)).to be(false)
end

it "returns true when version is equal to minimum_version" do
allow(described_class).to receive(:shakapacker_version).and_return("6.5.3")
expect(described_class.shackapacker_version_requirement_met?(minimum_version)).to be(true)
end

it "returns true when version is greater than minimum_version" do
allow(described_class).to receive(:shakapacker_version).and_return("6.6.0")
expect(described_class.shackapacker_version_requirement_met?(minimum_version)).to be(true)

allow(described_class).to receive(:shakapacker_version).and_return("6.5.4")
expect(described_class.shackapacker_version_requirement_met?(minimum_version)).to be(true)

allow(described_class).to receive(:shakapacker_version).and_return("7.7.7")
expect(described_class.shackapacker_version_requirement_met?(minimum_version)).to be(true)
end
end
end
end

0 comments on commit b6a3e37

Please sign in to comment.