mirror of
				https://github.com/thoughtbot/shoulda-matchers.git
				synced 2022-11-09 12:01:38 -05:00 
			
		
		
		
	Add Rails 7 (#1506)
This commit is contained in:
		
							parent
							
								
									b15a0f9018
								
							
						
					
					
						commit
						8837ef72df
					
				
					 12 changed files with 463 additions and 24 deletions
				
			
		
							
								
								
									
										4
									
								
								.github/workflows/ci.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/ci.yml
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -32,6 +32,7 @@ jobs:
 | 
			
		|||
          - 2.7.5
 | 
			
		||||
          - 2.6.9
 | 
			
		||||
        appraisal:
 | 
			
		||||
          - rails_7_0
 | 
			
		||||
          - rails_6_1
 | 
			
		||||
          - rails_6_0
 | 
			
		||||
          - rails_5_2
 | 
			
		||||
| 
						 | 
				
			
			@ -41,6 +42,9 @@ jobs:
 | 
			
		|||
        exclude:
 | 
			
		||||
          - { ruby: 3.1.2, appraisal: rails_5_2 }
 | 
			
		||||
          - { ruby: 3.0.3, appraisal: rails_5_2 }
 | 
			
		||||
          - { ruby: 3.0.3, appraisal: rails_7_0 }
 | 
			
		||||
          - { ruby: 2.7.5, appraisal: rails_7_0 }
 | 
			
		||||
          - { ruby: 2.6.9, appraisal: rails_7_0 }
 | 
			
		||||
    env:
 | 
			
		||||
      DATABASE_ADAPTER: ${{ matrix.adapter }}
 | 
			
		||||
      BUNDLE_GEMFILE: gemfiles/${{ matrix.appraisal }}.gemfile
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										27
									
								
								Appraisals
									
										
									
									
									
								
							
							
						
						
									
										27
									
								
								Appraisals
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -93,3 +93,30 @@ appraise 'rails_6_1' do
 | 
			
		|||
  gem 'pg', '>= 0.18', '< 2.0'
 | 
			
		||||
  gem 'sqlite3', '~> 1.4'
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
appraise 'rails_7_0' do
 | 
			
		||||
  instance_eval(&shared_spring_dependencies)
 | 
			
		||||
  instance_eval(&shared_test_dependencies)
 | 
			
		||||
 | 
			
		||||
  gem 'rails', '~> 7.0.1'
 | 
			
		||||
  gem 'sprockets-rails'
 | 
			
		||||
  gem 'puma', '~> 5.0'
 | 
			
		||||
  gem 'importmap-rails'
 | 
			
		||||
  gem 'turbo-rails'
 | 
			
		||||
  gem 'stimulus-rails'
 | 
			
		||||
  gem 'jbuilder'
 | 
			
		||||
  gem 'redis', '~> 4.0'
 | 
			
		||||
  gem 'bootsnap', require: false
 | 
			
		||||
  gem 'capybara'
 | 
			
		||||
  gem 'selenium-webdriver'
 | 
			
		||||
  gem 'webdrivers'
 | 
			
		||||
 | 
			
		||||
  # other dependencies
 | 
			
		||||
  gem 'bcrypt', '~> 3.1.7'
 | 
			
		||||
  gem 'rails-controller-testing'
 | 
			
		||||
  gem 'debug', platforms: %i[mri mingw x64_mingw]
 | 
			
		||||
 | 
			
		||||
  # Database adapters
 | 
			
		||||
  gem 'sqlite3', '~> 1.4'
 | 
			
		||||
  gem 'pg', '~> 1.1'
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										40
									
								
								gemfiles/rails_7_0.gemfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								gemfiles/rails_7_0.gemfile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,40 @@
 | 
			
		|||
# This file was generated by Appraisal
 | 
			
		||||
 | 
			
		||||
source "https://rubygems.org"
 | 
			
		||||
 | 
			
		||||
gem "appraisal", "2.2.0"
 | 
			
		||||
gem "bundler", "~> 2.0"
 | 
			
		||||
gem "pry"
 | 
			
		||||
gem "pry-byebug"
 | 
			
		||||
gem "rake", "13.0.1"
 | 
			
		||||
gem "rspec", "~> 3.9"
 | 
			
		||||
gem "rubocop", require: false
 | 
			
		||||
gem "rubocop-packaging", require: false
 | 
			
		||||
gem "rubocop-rails", require: false
 | 
			
		||||
gem "warnings_logger"
 | 
			
		||||
gem "zeus", require: false
 | 
			
		||||
gem "fssm"
 | 
			
		||||
gem "redcarpet"
 | 
			
		||||
gem "rouge"
 | 
			
		||||
gem "yard"
 | 
			
		||||
gem "spring"
 | 
			
		||||
gem "spring-commands-rspec"
 | 
			
		||||
gem "rspec-rails", "~> 4.0"
 | 
			
		||||
gem "shoulda-context", "~> 1.2.0"
 | 
			
		||||
gem "rails", "~> 7.0.1"
 | 
			
		||||
gem "sprockets-rails"
 | 
			
		||||
gem "puma", "~> 5.0"
 | 
			
		||||
gem "importmap-rails"
 | 
			
		||||
gem "turbo-rails"
 | 
			
		||||
gem "stimulus-rails"
 | 
			
		||||
gem "jbuilder"
 | 
			
		||||
gem "redis", "~> 4.0"
 | 
			
		||||
gem "bootsnap", require: false
 | 
			
		||||
gem "capybara"
 | 
			
		||||
gem "selenium-webdriver"
 | 
			
		||||
gem "webdrivers"
 | 
			
		||||
gem "bcrypt", "~> 3.1.7"
 | 
			
		||||
gem "rails-controller-testing"
 | 
			
		||||
gem "debug", platforms: [:mri, :mingw, :x64_mingw]
 | 
			
		||||
gem "sqlite3", "~> 1.4"
 | 
			
		||||
gem "pg", "~> 1.1"
 | 
			
		||||
							
								
								
									
										328
									
								
								gemfiles/rails_7_0.gemfile.lock
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										328
									
								
								gemfiles/rails_7_0.gemfile.lock
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,328 @@
 | 
			
		|||
GEM
 | 
			
		||||
  remote: https://rubygems.org/
 | 
			
		||||
  specs:
 | 
			
		||||
    actioncable (7.0.1)
 | 
			
		||||
      actionpack (= 7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
      nio4r (~> 2.0)
 | 
			
		||||
      websocket-driver (>= 0.6.1)
 | 
			
		||||
    actionmailbox (7.0.1)
 | 
			
		||||
      actionpack (= 7.0.1)
 | 
			
		||||
      activejob (= 7.0.1)
 | 
			
		||||
      activerecord (= 7.0.1)
 | 
			
		||||
      activestorage (= 7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
      mail (>= 2.7.1)
 | 
			
		||||
      net-imap
 | 
			
		||||
      net-pop
 | 
			
		||||
      net-smtp
 | 
			
		||||
    actionmailer (7.0.1)
 | 
			
		||||
      actionpack (= 7.0.1)
 | 
			
		||||
      actionview (= 7.0.1)
 | 
			
		||||
      activejob (= 7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
      mail (~> 2.5, >= 2.5.4)
 | 
			
		||||
      net-imap
 | 
			
		||||
      net-pop
 | 
			
		||||
      net-smtp
 | 
			
		||||
      rails-dom-testing (~> 2.0)
 | 
			
		||||
    actionpack (7.0.1)
 | 
			
		||||
      actionview (= 7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
      rack (~> 2.0, >= 2.2.0)
 | 
			
		||||
      rack-test (>= 0.6.3)
 | 
			
		||||
      rails-dom-testing (~> 2.0)
 | 
			
		||||
      rails-html-sanitizer (~> 1.0, >= 1.2.0)
 | 
			
		||||
    actiontext (7.0.1)
 | 
			
		||||
      actionpack (= 7.0.1)
 | 
			
		||||
      activerecord (= 7.0.1)
 | 
			
		||||
      activestorage (= 7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
      globalid (>= 0.6.0)
 | 
			
		||||
      nokogiri (>= 1.8.5)
 | 
			
		||||
    actionview (7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
      builder (~> 3.1)
 | 
			
		||||
      erubi (~> 1.4)
 | 
			
		||||
      rails-dom-testing (~> 2.0)
 | 
			
		||||
      rails-html-sanitizer (~> 1.1, >= 1.2.0)
 | 
			
		||||
    activejob (7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
      globalid (>= 0.3.6)
 | 
			
		||||
    activemodel (7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
    activerecord (7.0.1)
 | 
			
		||||
      activemodel (= 7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
    activestorage (7.0.1)
 | 
			
		||||
      actionpack (= 7.0.1)
 | 
			
		||||
      activejob (= 7.0.1)
 | 
			
		||||
      activerecord (= 7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
      marcel (~> 1.0)
 | 
			
		||||
      mini_mime (>= 1.1.0)
 | 
			
		||||
    activesupport (7.0.1)
 | 
			
		||||
      concurrent-ruby (~> 1.0, >= 1.0.2)
 | 
			
		||||
      i18n (>= 1.6, < 2)
 | 
			
		||||
      minitest (>= 5.1)
 | 
			
		||||
      tzinfo (~> 2.0)
 | 
			
		||||
    addressable (2.8.0)
 | 
			
		||||
      public_suffix (>= 2.0.2, < 5.0)
 | 
			
		||||
    appraisal (2.2.0)
 | 
			
		||||
      bundler
 | 
			
		||||
      rake
 | 
			
		||||
      thor (>= 0.14.0)
 | 
			
		||||
    ast (2.4.2)
 | 
			
		||||
    bcrypt (3.1.16)
 | 
			
		||||
    bootsnap (1.10.2)
 | 
			
		||||
      msgpack (~> 1.2)
 | 
			
		||||
    builder (3.2.4)
 | 
			
		||||
    byebug (11.1.3)
 | 
			
		||||
    capybara (3.36.0)
 | 
			
		||||
      addressable
 | 
			
		||||
      matrix
 | 
			
		||||
      mini_mime (>= 0.1.3)
 | 
			
		||||
      nokogiri (~> 1.8)
 | 
			
		||||
      rack (>= 1.6.0)
 | 
			
		||||
      rack-test (>= 0.6.3)
 | 
			
		||||
      regexp_parser (>= 1.5, < 3.0)
 | 
			
		||||
      xpath (~> 3.2)
 | 
			
		||||
    childprocess (4.1.0)
 | 
			
		||||
    coderay (1.1.3)
 | 
			
		||||
    concurrent-ruby (1.1.9)
 | 
			
		||||
    crass (1.0.6)
 | 
			
		||||
    debug (1.4.0)
 | 
			
		||||
      irb (>= 1.3.6)
 | 
			
		||||
      reline (>= 0.2.7)
 | 
			
		||||
    diff-lcs (1.5.0)
 | 
			
		||||
    digest (3.1.0)
 | 
			
		||||
    erubi (1.10.0)
 | 
			
		||||
    fssm (0.2.10)
 | 
			
		||||
    globalid (1.0.0)
 | 
			
		||||
      activesupport (>= 5.0)
 | 
			
		||||
    i18n (1.8.11)
 | 
			
		||||
      concurrent-ruby (~> 1.0)
 | 
			
		||||
    importmap-rails (1.0.2)
 | 
			
		||||
      actionpack (>= 6.0.0)
 | 
			
		||||
      railties (>= 6.0.0)
 | 
			
		||||
    io-console (0.5.11)
 | 
			
		||||
    io-wait (0.2.1)
 | 
			
		||||
    irb (1.4.1)
 | 
			
		||||
      reline (>= 0.3.0)
 | 
			
		||||
    jbuilder (2.11.5)
 | 
			
		||||
      actionview (>= 5.0.0)
 | 
			
		||||
      activesupport (>= 5.0.0)
 | 
			
		||||
    loofah (2.13.0)
 | 
			
		||||
      crass (~> 1.0.2)
 | 
			
		||||
      nokogiri (>= 1.5.9)
 | 
			
		||||
    mail (2.7.1)
 | 
			
		||||
      mini_mime (>= 0.1.1)
 | 
			
		||||
    marcel (1.0.2)
 | 
			
		||||
    matrix (0.4.2)
 | 
			
		||||
    method_source (1.0.0)
 | 
			
		||||
    mini_mime (1.1.2)
 | 
			
		||||
    mini_portile2 (2.7.1)
 | 
			
		||||
    minitest (5.15.0)
 | 
			
		||||
    msgpack (1.4.4)
 | 
			
		||||
    net-imap (0.2.3)
 | 
			
		||||
      digest
 | 
			
		||||
      net-protocol
 | 
			
		||||
      strscan
 | 
			
		||||
    net-pop (0.1.1)
 | 
			
		||||
      digest
 | 
			
		||||
      net-protocol
 | 
			
		||||
      timeout
 | 
			
		||||
    net-protocol (0.1.2)
 | 
			
		||||
      io-wait
 | 
			
		||||
      timeout
 | 
			
		||||
    net-smtp (0.3.1)
 | 
			
		||||
      digest
 | 
			
		||||
      net-protocol
 | 
			
		||||
      timeout
 | 
			
		||||
    nio4r (2.5.8)
 | 
			
		||||
    nokogiri (1.13.1)
 | 
			
		||||
      mini_portile2 (~> 2.7.0)
 | 
			
		||||
      racc (~> 1.4)
 | 
			
		||||
    parallel (1.21.0)
 | 
			
		||||
    parser (3.1.0.0)
 | 
			
		||||
      ast (~> 2.4.1)
 | 
			
		||||
    pg (1.3.0)
 | 
			
		||||
    pry (0.13.1)
 | 
			
		||||
      coderay (~> 1.1)
 | 
			
		||||
      method_source (~> 1.0)
 | 
			
		||||
    pry-byebug (3.9.0)
 | 
			
		||||
      byebug (~> 11.0)
 | 
			
		||||
      pry (~> 0.13.0)
 | 
			
		||||
    public_suffix (4.0.6)
 | 
			
		||||
    puma (5.5.2)
 | 
			
		||||
      nio4r (~> 2.0)
 | 
			
		||||
    racc (1.6.0)
 | 
			
		||||
    rack (2.2.3)
 | 
			
		||||
    rack-test (1.1.0)
 | 
			
		||||
      rack (>= 1.0, < 3)
 | 
			
		||||
    rails (7.0.1)
 | 
			
		||||
      actioncable (= 7.0.1)
 | 
			
		||||
      actionmailbox (= 7.0.1)
 | 
			
		||||
      actionmailer (= 7.0.1)
 | 
			
		||||
      actionpack (= 7.0.1)
 | 
			
		||||
      actiontext (= 7.0.1)
 | 
			
		||||
      actionview (= 7.0.1)
 | 
			
		||||
      activejob (= 7.0.1)
 | 
			
		||||
      activemodel (= 7.0.1)
 | 
			
		||||
      activerecord (= 7.0.1)
 | 
			
		||||
      activestorage (= 7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
      bundler (>= 1.15.0)
 | 
			
		||||
      railties (= 7.0.1)
 | 
			
		||||
    rails-controller-testing (1.0.5)
 | 
			
		||||
      actionpack (>= 5.0.1.rc1)
 | 
			
		||||
      actionview (>= 5.0.1.rc1)
 | 
			
		||||
      activesupport (>= 5.0.1.rc1)
 | 
			
		||||
    rails-dom-testing (2.0.3)
 | 
			
		||||
      activesupport (>= 4.2.0)
 | 
			
		||||
      nokogiri (>= 1.6)
 | 
			
		||||
    rails-html-sanitizer (1.4.2)
 | 
			
		||||
      loofah (~> 2.3)
 | 
			
		||||
    railties (7.0.1)
 | 
			
		||||
      actionpack (= 7.0.1)
 | 
			
		||||
      activesupport (= 7.0.1)
 | 
			
		||||
      method_source
 | 
			
		||||
      rake (>= 12.2)
 | 
			
		||||
      thor (~> 1.0)
 | 
			
		||||
      zeitwerk (~> 2.5)
 | 
			
		||||
    rainbow (3.1.1)
 | 
			
		||||
    rake (13.0.1)
 | 
			
		||||
    redcarpet (3.5.1)
 | 
			
		||||
    redis (4.5.1)
 | 
			
		||||
    regexp_parser (2.2.0)
 | 
			
		||||
    reline (0.3.1)
 | 
			
		||||
      io-console (~> 0.5)
 | 
			
		||||
    rexml (3.2.5)
 | 
			
		||||
    rouge (3.26.0)
 | 
			
		||||
    rspec (3.10.0)
 | 
			
		||||
      rspec-core (~> 3.10.0)
 | 
			
		||||
      rspec-expectations (~> 3.10.0)
 | 
			
		||||
      rspec-mocks (~> 3.10.0)
 | 
			
		||||
    rspec-core (3.10.1)
 | 
			
		||||
      rspec-support (~> 3.10.0)
 | 
			
		||||
    rspec-expectations (3.10.2)
 | 
			
		||||
      diff-lcs (>= 1.2.0, < 2.0)
 | 
			
		||||
      rspec-support (~> 3.10.0)
 | 
			
		||||
    rspec-mocks (3.10.2)
 | 
			
		||||
      diff-lcs (>= 1.2.0, < 2.0)
 | 
			
		||||
      rspec-support (~> 3.10.0)
 | 
			
		||||
    rspec-rails (4.1.2)
 | 
			
		||||
      actionpack (>= 4.2)
 | 
			
		||||
      activesupport (>= 4.2)
 | 
			
		||||
      railties (>= 4.2)
 | 
			
		||||
      rspec-core (~> 3.10)
 | 
			
		||||
      rspec-expectations (~> 3.10)
 | 
			
		||||
      rspec-mocks (~> 3.10)
 | 
			
		||||
      rspec-support (~> 3.10)
 | 
			
		||||
    rspec-support (3.10.3)
 | 
			
		||||
    rubocop (1.25.0)
 | 
			
		||||
      parallel (~> 1.10)
 | 
			
		||||
      parser (>= 3.1.0.0)
 | 
			
		||||
      rainbow (>= 2.2.2, < 4.0)
 | 
			
		||||
      regexp_parser (>= 1.8, < 3.0)
 | 
			
		||||
      rexml
 | 
			
		||||
      rubocop-ast (>= 1.15.1, < 2.0)
 | 
			
		||||
      ruby-progressbar (~> 1.7)
 | 
			
		||||
      unicode-display_width (>= 1.4.0, < 3.0)
 | 
			
		||||
    rubocop-ast (1.15.1)
 | 
			
		||||
      parser (>= 3.0.1.1)
 | 
			
		||||
    rubocop-packaging (0.5.1)
 | 
			
		||||
      rubocop (>= 0.89, < 2.0)
 | 
			
		||||
    rubocop-rails (2.13.1)
 | 
			
		||||
      activesupport (>= 4.2.0)
 | 
			
		||||
      rack (>= 1.1)
 | 
			
		||||
      rubocop (>= 1.7.0, < 2.0)
 | 
			
		||||
    ruby-progressbar (1.11.0)
 | 
			
		||||
    rubyzip (2.3.2)
 | 
			
		||||
    selenium-webdriver (4.1.0)
 | 
			
		||||
      childprocess (>= 0.5, < 5.0)
 | 
			
		||||
      rexml (~> 3.2, >= 3.2.5)
 | 
			
		||||
      rubyzip (>= 1.2.2)
 | 
			
		||||
    shoulda-context (1.2.2)
 | 
			
		||||
    spring (4.0.0)
 | 
			
		||||
    spring-commands-rspec (1.0.4)
 | 
			
		||||
      spring (>= 0.9.1)
 | 
			
		||||
    sprockets (4.0.2)
 | 
			
		||||
      concurrent-ruby (~> 1.0)
 | 
			
		||||
      rack (> 1, < 3)
 | 
			
		||||
    sprockets-rails (3.4.2)
 | 
			
		||||
      actionpack (>= 5.2)
 | 
			
		||||
      activesupport (>= 5.2)
 | 
			
		||||
      sprockets (>= 3.0.0)
 | 
			
		||||
    sqlite3 (1.4.2)
 | 
			
		||||
    stimulus-rails (1.0.2)
 | 
			
		||||
      railties (>= 6.0.0)
 | 
			
		||||
    strscan (3.0.1)
 | 
			
		||||
    thor (1.2.1)
 | 
			
		||||
    timeout (0.2.0)
 | 
			
		||||
    turbo-rails (1.0.1)
 | 
			
		||||
      actionpack (>= 6.0.0)
 | 
			
		||||
      railties (>= 6.0.0)
 | 
			
		||||
    tzinfo (2.0.4)
 | 
			
		||||
      concurrent-ruby (~> 1.0)
 | 
			
		||||
    unicode-display_width (2.1.0)
 | 
			
		||||
    warnings_logger (0.1.1)
 | 
			
		||||
    webdrivers (5.0.0)
 | 
			
		||||
      nokogiri (~> 1.6)
 | 
			
		||||
      rubyzip (>= 1.3.0)
 | 
			
		||||
      selenium-webdriver (~> 4.0)
 | 
			
		||||
    webrick (1.7.0)
 | 
			
		||||
    websocket-driver (0.7.5)
 | 
			
		||||
      websocket-extensions (>= 0.1.0)
 | 
			
		||||
    websocket-extensions (0.1.5)
 | 
			
		||||
    xpath (3.2.0)
 | 
			
		||||
      nokogiri (~> 1.8)
 | 
			
		||||
    yard (0.9.27)
 | 
			
		||||
      webrick (~> 1.7.0)
 | 
			
		||||
    zeitwerk (2.5.3)
 | 
			
		||||
    zeus (0.15.14)
 | 
			
		||||
      method_source (>= 0.6.7)
 | 
			
		||||
 | 
			
		||||
PLATFORMS
 | 
			
		||||
  ruby
 | 
			
		||||
 | 
			
		||||
DEPENDENCIES
 | 
			
		||||
  appraisal (= 2.2.0)
 | 
			
		||||
  bcrypt (~> 3.1.7)
 | 
			
		||||
  bootsnap
 | 
			
		||||
  bundler (~> 2.0)
 | 
			
		||||
  capybara
 | 
			
		||||
  debug
 | 
			
		||||
  fssm
 | 
			
		||||
  importmap-rails
 | 
			
		||||
  jbuilder
 | 
			
		||||
  pg (~> 1.1)
 | 
			
		||||
  pry
 | 
			
		||||
  pry-byebug
 | 
			
		||||
  puma (~> 5.0)
 | 
			
		||||
  rails (~> 7.0.1)
 | 
			
		||||
  rails-controller-testing
 | 
			
		||||
  rake (= 13.0.1)
 | 
			
		||||
  redcarpet
 | 
			
		||||
  redis (~> 4.0)
 | 
			
		||||
  rouge
 | 
			
		||||
  rspec (~> 3.9)
 | 
			
		||||
  rspec-rails (~> 4.0)
 | 
			
		||||
  rubocop
 | 
			
		||||
  rubocop-packaging
 | 
			
		||||
  rubocop-rails
 | 
			
		||||
  selenium-webdriver
 | 
			
		||||
  shoulda-context (~> 1.2.0)
 | 
			
		||||
  spring
 | 
			
		||||
  spring-commands-rspec
 | 
			
		||||
  sprockets-rails
 | 
			
		||||
  sqlite3 (~> 1.4)
 | 
			
		||||
  stimulus-rails
 | 
			
		||||
  turbo-rails
 | 
			
		||||
  warnings_logger
 | 
			
		||||
  webdrivers
 | 
			
		||||
  yard
 | 
			
		||||
  zeus
 | 
			
		||||
 | 
			
		||||
BUNDLED WITH
 | 
			
		||||
   2.3.6
 | 
			
		||||
| 
						 | 
				
			
			@ -166,7 +166,8 @@ module Shoulda
 | 
			
		|||
 | 
			
		||||
          possibly_ignore_interference_by_writer
 | 
			
		||||
 | 
			
		||||
          if secure_password_being_validated?
 | 
			
		||||
          if secure_password_being_validated? &&
 | 
			
		||||
             Shoulda::Matchers::RailsShim.active_model_lt_7?
 | 
			
		||||
            ignore_interference_by_writer.default_to(when: :blank?)
 | 
			
		||||
 | 
			
		||||
            disallowed_values.all? do |value|
 | 
			
		||||
| 
						 | 
				
			
			@ -232,7 +233,7 @@ validation for you? Instead of using `validate_presence_of`, try
 | 
			
		|||
        end
 | 
			
		||||
 | 
			
		||||
        def possibly_ignore_interference_by_writer
 | 
			
		||||
          if secure_password_being_validated?
 | 
			
		||||
          if secure_password_being_validated? && RailsShim.active_model_lt_7?
 | 
			
		||||
            ignore_interference_by_writer.default_to(when: :blank?)
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,6 +19,20 @@ module Shoulda
 | 
			
		|||
          Gem::Version.new('0')
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def active_model_version
 | 
			
		||||
          Gem::Version.new(::ActiveModel::VERSION::STRING)
 | 
			
		||||
        rescue NameError
 | 
			
		||||
          Gem::Version.new('0')
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def active_model_gte_7?
 | 
			
		||||
          Gem::Requirement.new('>= 7').satisfied_by?(active_model_version)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def active_model_lt_7?
 | 
			
		||||
          Gem::Requirement.new('< 7').satisfied_by?(active_model_version)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        def generate_validation_message(
 | 
			
		||||
          record,
 | 
			
		||||
          attribute,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,6 +17,8 @@ module Tests
 | 
			
		|||
    end
 | 
			
		||||
 | 
			
		||||
    def load_file
 | 
			
		||||
      YAML::load_file(File.join(__dir__, "database_adapters/config/#{adapter}.yml"), aliases: true)
 | 
			
		||||
    rescue ArgumentError
 | 
			
		||||
      YAML::load_file(File.join(__dir__, "database_adapters/config/#{adapter}.yml"))
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,7 +34,7 @@ module UnitTests
 | 
			
		|||
        RUBY
 | 
			
		||||
 | 
			
		||||
        namespace.const_get(name_without_namespace).tap do |constant|
 | 
			
		||||
          constant.unloadable
 | 
			
		||||
          constant.unloadable if constant.respond_to?(:unloadable) # if Rails is in classic mode, mark it unloadable
 | 
			
		||||
          @_defined_modules = defined_modules | [constant]
 | 
			
		||||
 | 
			
		||||
          if block
 | 
			
		||||
| 
						 | 
				
			
			@ -55,7 +55,7 @@ module UnitTests
 | 
			
		|||
        RUBY
 | 
			
		||||
 | 
			
		||||
        namespace.const_get(name_without_namespace).tap do |constant|
 | 
			
		||||
          constant.unloadable
 | 
			
		||||
          constant.unloadable if constant.respond_to?(:unloadable) # if Rails is in classic mode, mark it unloadable
 | 
			
		||||
          @_defined_modules = defined_modules | [constant]
 | 
			
		||||
 | 
			
		||||
          if block
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -109,7 +109,9 @@ end
 | 
			
		|||
    end
 | 
			
		||||
 | 
			
		||||
    def write_database_configuration
 | 
			
		||||
      YAML.dump(database.config.load_file, fs.open('config/database.yml', 'w'))
 | 
			
		||||
      fs.open('config/database.yml', 'w') do |file|
 | 
			
		||||
        YAML.dump(database.config.load_file, file)
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def write_activerecord_model_with_different_connection
 | 
			
		||||
| 
						 | 
				
			
			@ -163,7 +165,11 @@ end
 | 
			
		|||
 | 
			
		||||
    def run_migrations
 | 
			
		||||
      fs.within_project do
 | 
			
		||||
        run_command! 'bundle exec rake db:drop:all db:create:all db:migrate'
 | 
			
		||||
        run_command! 'bundle exec rake db:drop:all db:create:all'
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      fs.within_project do
 | 
			
		||||
        run_command! 'bundle exec rake db:migrate'
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -145,7 +145,7 @@ describe Shoulda::Matchers::ActiveModel::ValidateInclusionOfMatcher, type: :mode
 | 
			
		|||
    end
 | 
			
		||||
 | 
			
		||||
    context 'against a datetime attribute' do
 | 
			
		||||
      now = DateTime.now
 | 
			
		||||
      now = DateTime.new(2022, 1, 1)
 | 
			
		||||
 | 
			
		||||
      define_method(:now) { now }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -785,8 +785,7 @@ describe Shoulda::Matchers::ActiveModel::ValidateInclusionOfMatcher, type: :mode
 | 
			
		|||
    include_context 'for a generic attribute'
 | 
			
		||||
 | 
			
		||||
    context 'against a timestamp column' do
 | 
			
		||||
      now = DateTime.now
 | 
			
		||||
 | 
			
		||||
      now = DateTime.new(2022, 1, 1)
 | 
			
		||||
      define_method(:now) { now }
 | 
			
		||||
 | 
			
		||||
      it_behaves_like 'it supports in_array',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -860,22 +860,36 @@ validation exception on failure, but this could not be proved.
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  context 'against a pre-set password in a model that has_secure_password' do
 | 
			
		||||
    it 'raises a CouldNotSetPasswordError' do
 | 
			
		||||
      user_class = define_model :user, password_digest: :string do
 | 
			
		||||
        has_secure_password validations: false
 | 
			
		||||
        validates_presence_of :password
 | 
			
		||||
      end
 | 
			
		||||
    if Shoulda::Matchers::RailsShim.active_model_gte_7?
 | 
			
		||||
      it 'does not raises a CouldNotSetPasswordError' do
 | 
			
		||||
        user_class = define_model :user, password_digest: :string do
 | 
			
		||||
          has_secure_password :password, validations: false
 | 
			
		||||
          validates_presence_of :password
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
      user = user_class.new
 | 
			
		||||
      user.password = 'something'
 | 
			
		||||
        user = user_class.new
 | 
			
		||||
        user.password = 'something'
 | 
			
		||||
 | 
			
		||||
      assertion = lambda do
 | 
			
		||||
        expect(user).to validate_presence_of(:password)
 | 
			
		||||
      end
 | 
			
		||||
    else
 | 
			
		||||
      it 'raises a CouldNotSetPasswordError' do
 | 
			
		||||
        user_class = define_model :user, password_digest: :string do
 | 
			
		||||
          has_secure_password validations: false
 | 
			
		||||
          validates_presence_of :password
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
      expect(&assertion).to raise_error(
 | 
			
		||||
        Shoulda::Matchers::ActiveModel::CouldNotSetPasswordError,
 | 
			
		||||
      )
 | 
			
		||||
        user = user_class.new
 | 
			
		||||
        user.password = 'something'
 | 
			
		||||
 | 
			
		||||
        assertion = lambda do
 | 
			
		||||
          expect(user).to validate_presence_of(:password)
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        expect(&assertion).to raise_error(
 | 
			
		||||
          Shoulda::Matchers::ActiveModel::CouldNotSetPasswordError,
 | 
			
		||||
        )
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -945,11 +945,15 @@ describe Shoulda::Matchers::ActiveRecord::DefineEnumForMatcher, type: :model do
 | 
			
		|||
      _suffix: suffix,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if rails_version =~ '~> 6.0'
 | 
			
		||||
      params.merge!(_scopes: scopes)
 | 
			
		||||
    end
 | 
			
		||||
    if rails_version >= 7.0
 | 
			
		||||
      model.enum(enum_name, values, prefix: prefix, suffix: suffix)
 | 
			
		||||
    else
 | 
			
		||||
      if rails_version =~ '~> 6.0'
 | 
			
		||||
        params.merge!(_scopes: scopes)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
    model.enum(params)
 | 
			
		||||
      model.enum(params)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    model.new
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue