diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 76936fd9..606e7a92 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,8 +15,8 @@ jobs: strategy: fail-fast: false matrix: - rails: ["7.0", "6.1", "6.0"] - ruby: ["3.2.2", "3.1.4", "3.0.6", "2.7.8"] + rails: ["7.1", "7.0", "6.1", "6.0"] + ruby: ["3.3", "3.2.2", "3.1.4", "3.0.6", "2.7.8"] cucumber: ["9.0", "8.0", "7.0", "6.0", "5.0", "4.0", "3.0"] env: diff --git a/Gemfile b/Gemfile index 7d742fb4..3e66dc65 100644 --- a/Gemfile +++ b/Gemfile @@ -5,9 +5,9 @@ git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } gemspec :path => "." # use ENV vars, with default value as fallback for local setup -ruby (ENV['RUBY_VERSION'] || '3.2.2') -gem "rails", "~> #{ENV['RAILS_VERSION'] || '7.0'}.0" -gem "cucumber", "~> #{ENV['CUKES_VERSION'] || '7.0'}" +ruby (ENV['RUBY_VERSION'] || '3.3.0') +gem "rails", "~> #{ENV['RAILS_VERSION'] || '7.1'}.0" +gem "cucumber", "~> #{ENV['CUKES_VERSION'] || '9.0'}" gem "cucumber-rails" gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800' gem 'sprockets-rails' diff --git a/History.txt b/History.txt index aa02ec57..bd9cdc4f 100644 --- a/History.txt +++ b/History.txt @@ -1,3 +1,6 @@ +== 0.9.1 +* Added support for Rails 7.1 + == 0.9.0 * Added support for Cucumber 9.x diff --git a/README.md b/README.md index cb5d625d..69d4ef27 100644 --- a/README.md +++ b/README.md @@ -14,13 +14,8 @@ This is a quickstart guide for rails apps. Firstly, install [cucumber-rails](ht ## Supported versions Cucumber 2.x - support was dropped from release 0.6.0 -Cucumber 3.x - support is best-effort basis, but tests run on rails 4.2 all the way until 6.1 -Cucumber 4.x - should work with all Rails 5.x versions, tests only run for 5.2 and 6.0 -Cucumber 5.x - all tests pass for rails 5.2, 6.0 and 6.1 -Cucumber 6.x - all tests pass for rails 6.0, 6.1 and 7.0 -Cucumber 7.x - all tests pass for rails 6.0, 6.1 and 7.0 -Cucumber 8.x - all tests pass for rails 6.0, 6.1 and 7.0 -Cucumber 9.x - all tests pass for rails 6.0, 6.1 and 7.0 +Rails 4.x and 5.x - Support for Cucumber 3.x -> 7.x; Dropped in 0.8.0 +Rails 6.x and 7.x - Support for Cucumber 3.x -> 9.x Please open pull-requests with fixes if you encounter any problems. No active development on this gem. diff --git a/lib/pickle/version.rb b/lib/pickle/version.rb index 5aa0d38d..1854f80c 100644 --- a/lib/pickle/version.rb +++ b/lib/pickle/version.rb @@ -1,3 +1,3 @@ module Pickle - VERSION = "0.9.0" + VERSION = "0.9.1" end diff --git a/pickle.gemspec b/pickle.gemspec index 7cf82e3d..ccc18cfe 100644 --- a/pickle.gemspec +++ b/pickle.gemspec @@ -26,7 +26,8 @@ Gem::Specification.new do |s| s.add_development_dependency "bundler" s.add_development_dependency "git" s.add_development_dependency "yard" - s.add_development_dependency "rspec-rails", "~>3.0" + s.add_development_dependency "rspec-rails", ">= 3.0" + s.add_development_dependency "rspec-mocks", ">= 3.12.4" s.add_development_dependency "rails", ">= 6.0", "< 8.0" s.add_development_dependency "cucumber-rails" s.add_development_dependency "factory_bot" diff --git a/spec/pickle/session_spec.rb b/spec/pickle/session_spec.rb index 23049d5c..25e19b14 100644 --- a/spec/pickle/session_spec.rb +++ b/spec/pickle/session_spec.rb @@ -230,14 +230,14 @@ class Model end it "#create_models_from_table(, ) should call create_model for each of the table hashes with plain factory name and return the models" do - expect(self).to receive(:create_model).with("user", 'name' => "Fred").once.ordered.and_return(:fred) - expect(self).to receive(:create_model).with("user", 'name' => "Betty").once.ordered.and_return(:betty) + expect(self).to receive(:create_model).with("user", {"name" => "Fred"}).once.ordered.and_return(:fred) + expect(self).to receive(:create_model).with("user", {"name" => "Betty"}).once.ordered.and_return(:betty) expect(create_models_from_table("users", table)).to eq([:fred, :betty]) end it "#find_models_from_table(,
) should call find_model for each of the table hashes with plain factory name and return the models" do - expect(self).to receive(:find_model).with("user", 'name' => "Fred").once.ordered.and_return(:fred) - expect(self).to receive(:find_model).with("user", 'name' => "Betty").once.ordered.and_return(:betty) + expect(self).to receive(:find_model).with("user", {"name" => "Fred"}).once.ordered.and_return(:fred) + expect(self).to receive(:find_model).with("user", {"name" => "Betty"}).once.ordered.and_return(:betty) expect(find_models_from_table("users", table)).to eq([:fred, :betty]) end end @@ -248,14 +248,14 @@ class Model end it "#create_models_from_table(,
) should call create_model for each of the table hashes with labelled pickle ref" do - expect(self).to receive(:create_model).with("user \"fred\"", 'name' => "Fred").once.ordered.and_return(:fred) - expect(self).to receive(:create_model).with("user \"betty\"", 'name' => "Betty").once.ordered.and_return(:betty) + expect(self).to receive(:create_model).with("user \"fred\"", {"name" => "Fred"}).once.ordered.and_return(:fred) + expect(self).to receive(:create_model).with("user \"betty\"", {"name" => "Betty"}).once.ordered.and_return(:betty) expect(create_models_from_table("users", table)).to eq([:fred, :betty]) end it "#find_models_from_table(,
) should call find_model for each of the table hashes with labelled pickle ref" do - expect(self).to receive(:find_model).with("user \"fred\"", 'name' => "Fred").once.ordered.and_return(:fred) - expect(self).to receive(:find_model).with("user \"betty\"", 'name' => "Betty").once.ordered.and_return(:betty) + expect(self).to receive(:find_model).with("user \"fred\"", {"name" => "Fred"}).once.ordered.and_return(:fred) + expect(self).to receive(:find_model).with("user \"betty\"", {"name" => "Betty"}).once.ordered.and_return(:betty) expect(find_models_from_table("users", table)).to eq([:fred, :betty]) end end diff --git a/spec/pickle_spec.rb b/spec/pickle_spec.rb index dc896bfc..4f73d42f 100644 --- a/spec/pickle_spec.rb +++ b/spec/pickle_spec.rb @@ -4,7 +4,7 @@ it ".config should be same object on multiple calls" do expect(Pickle.config).to eq(Pickle.config) end - + it ".configure should configure the .config object" do expect(Pickle.config).to receive(:foo).with(:bar) Pickle.configure do |c| @@ -14,10 +14,10 @@ it ".parser should create a parser with the default config" do Pickle.instance_variable_set('@parser', nil) - expect(Pickle::Parser).to receive(:new).with(:config => Pickle.config) + expect(Pickle::Parser).to receive(:new).with({:config => Pickle.config}) Pickle.parser end - + it ".parser should be same object on multiple calls" do expect(Pickle.parser).to eq(Pickle.parser) end