spreewald 2.4.0 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.travis.yml +14 -15
  4. data/CHANGELOG.md +7 -0
  5. data/Gemfile +1 -2
  6. data/Gemfile.lock +1 -16
  7. data/Gemfile.ruby266 +9 -0
  8. data/Gemfile.ruby266.lock +65 -0
  9. data/README.md +5 -0
  10. data/Rakefile +12 -2
  11. data/lib/spreewald/web_steps.rb +2 -2
  12. data/lib/spreewald_support/version.rb +1 -1
  13. data/tests/rails-3_capybara-1/Gemfile.lock +1 -1
  14. data/tests/rails-3_capybara-1/config/routes.rb +1 -0
  15. data/tests/rails-3_capybara-2/Gemfile.lock +1 -1
  16. data/tests/rails-4_capybara-3/Gemfile +1 -1
  17. data/tests/rails-4_capybara-3/Gemfile.lock +1 -1
  18. data/tests/rails-4_capybara-3/config/routes.rb +1 -0
  19. data/tests/rails-6_capybara-3/.ruby-version +1 -0
  20. data/tests/rails-6_capybara-3/Gemfile +25 -0
  21. data/tests/rails-6_capybara-3/Gemfile.lock +264 -0
  22. data/tests/rails-6_capybara-3/README.md +24 -0
  23. data/tests/rails-6_capybara-3/Rakefile +6 -0
  24. data/tests/rails-6_capybara-3/app/controllers +1 -0
  25. data/tests/rails-6_capybara-3/app/mailers/application_mailer.rb +4 -0
  26. data/tests/rails-6_capybara-3/app/mailers/spreewald_mailer.rb +30 -0
  27. data/tests/rails-6_capybara-3/app/models/application_record.rb +3 -0
  28. data/tests/rails-6_capybara-3/app/views +1 -0
  29. data/tests/rails-6_capybara-3/bin/bundle +114 -0
  30. data/tests/rails-6_capybara-3/bin/rails +4 -0
  31. data/tests/rails-6_capybara-3/bin/rake +4 -0
  32. data/tests/rails-6_capybara-3/bin/setup +33 -0
  33. data/tests/rails-6_capybara-3/config.ru +5 -0
  34. data/tests/rails-6_capybara-3/config/application.rb +35 -0
  35. data/tests/rails-6_capybara-3/config/boot.rb +3 -0
  36. data/tests/rails-6_capybara-3/config/cucumber.yml +9 -0
  37. data/tests/rails-6_capybara-3/config/database.yml +25 -0
  38. data/tests/rails-6_capybara-3/config/environment.rb +5 -0
  39. data/tests/rails-6_capybara-3/config/environments/development.rb +48 -0
  40. data/tests/rails-6_capybara-3/config/environments/test.rb +45 -0
  41. data/tests/rails-6_capybara-3/config/initializers/application_controller_renderer.rb +8 -0
  42. data/tests/rails-6_capybara-3/config/initializers/backtrace_silencers.rb +7 -0
  43. data/tests/rails-6_capybara-3/config/initializers/content_security_policy.rb +28 -0
  44. data/tests/rails-6_capybara-3/config/initializers/cookies_serializer.rb +5 -0
  45. data/tests/rails-6_capybara-3/config/initializers/filter_parameter_logging.rb +4 -0
  46. data/tests/rails-6_capybara-3/config/initializers/inflections.rb +16 -0
  47. data/tests/rails-6_capybara-3/config/initializers/mime_types.rb +4 -0
  48. data/tests/rails-6_capybara-3/config/initializers/wrap_parameters.rb +14 -0
  49. data/tests/rails-6_capybara-3/config/locales/en.yml +33 -0
  50. data/tests/rails-6_capybara-3/config/routes.rb +1 -0
  51. data/tests/rails-6_capybara-3/db +1 -0
  52. data/tests/rails-6_capybara-3/features/development_steps.feature +1 -0
  53. data/tests/rails-6_capybara-3/features/email_steps.feature +1 -0
  54. data/tests/rails-6_capybara-3/features/overriding.feature +1 -0
  55. data/tests/{shared/db/migrate/.gitignore → rails-6_capybara-3/features/step_definitions/.gitkeep} +0 -0
  56. data/tests/rails-6_capybara-3/features/step_definitions/overriding_steps.rb +1 -0
  57. data/tests/rails-6_capybara-3/features/step_definitions/test_steps.rb +1 -0
  58. data/tests/rails-6_capybara-3/features/support/env.rb +66 -0
  59. data/tests/rails-6_capybara-3/features/support/paths.rb +1 -0
  60. data/tests/rails-6_capybara-3/features/support/selectors.rb +1 -0
  61. data/tests/rails-6_capybara-3/features/support/selenium.rb +3 -0
  62. data/tests/rails-6_capybara-3/features/table_steps.feature +1 -0
  63. data/tests/rails-6_capybara-3/features/web_steps.feature +1 -0
  64. data/tests/rails-6_capybara-3/lib/tasks/.keep +0 -0
  65. data/tests/rails-6_capybara-3/lib/tasks/cucumber.rake +76 -0
  66. data/tests/rails-6_capybara-3/log/.keep +0 -0
  67. data/tests/rails-6_capybara-3/public/404.html +67 -0
  68. data/tests/rails-6_capybara-3/public/422.html +67 -0
  69. data/tests/rails-6_capybara-3/public/500.html +66 -0
  70. data/tests/rails-6_capybara-3/public/favicon.ico +0 -0
  71. data/tests/rails-6_capybara-3/public/fixture_files +1 -0
  72. data/tests/rails-6_capybara-3/script/cucumber +11 -0
  73. data/tests/shared/app/controllers/application_controller.rb +9 -0
  74. data/tests/shared/app/controllers/authenticated_controller.rb +10 -2
  75. data/tests/shared/app/controllers/emails_controller.rb +8 -5
  76. data/tests/shared/app/controllers/forms_controller.rb +3 -0
  77. data/tests/shared/app/controllers/static_pages_controller.rb +8 -2
  78. data/tests/shared/app/views/layouts/mailer.html.erb +13 -0
  79. data/tests/shared/app/views/layouts/mailer.text.erb +1 -0
  80. data/tests/shared/app/views/spreewald_mailer +1 -0
  81. data/tests/shared/config/routes.rb +33 -0
  82. data/tests/shared/db/migrate/.keep +0 -0
  83. metadata +124 -6
  84. data/tests/rails-3_capybara-1/config/routes.rb +0 -5
  85. data/tests/rails-4_capybara-3/.gitignore +0 -17
  86. data/tests/rails-4_capybara-3/config/routes.rb +0 -3
@@ -0,0 +1,24 @@
1
+ # README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1 @@
1
+ ../../shared/app/controllers/
@@ -0,0 +1,4 @@
1
+ class ApplicationMailer < ActionMailer::Base
2
+ default from: 'from@example.com'
3
+
4
+ end
@@ -0,0 +1,30 @@
1
+ class SpreewaldMailer < ApplicationMailer
2
+ REPLY_TO = "reply-to@example.com"
3
+ TO = "to@example.com"
4
+ CC = "cc@example.com"
5
+ BCC = "bcc@example.com"
6
+ FROM = "from@example.com"
7
+ SUBJECT = "SUBJECT"
8
+
9
+ def email
10
+ attachments['attached_file.pdf'] = File.open("#{Rails.root}/public/fixture_files/attachment.pdf", "w") {}
11
+ mail(
12
+ :from => FROM,
13
+ :reply_to => REPLY_TO,
14
+ :to => TO,
15
+ :cc => CC,
16
+ :bcc => BCC,
17
+ :subject => SUBJECT
18
+ )
19
+ end
20
+
21
+ def html_email_with_links
22
+ email
23
+ end
24
+
25
+ def text_email_with_links
26
+ email
27
+ end
28
+
29
+ end
30
+
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
@@ -0,0 +1 @@
1
+ ../../shared/app/views/
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'bundle' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "rubygems"
12
+
13
+ m = Module.new do
14
+ module_function
15
+
16
+ def invoked_as_script?
17
+ File.expand_path($0) == File.expand_path(__FILE__)
18
+ end
19
+
20
+ def env_var_version
21
+ ENV["BUNDLER_VERSION"]
22
+ end
23
+
24
+ def cli_arg_version
25
+ return unless invoked_as_script? # don't want to hijack other binstubs
26
+ return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update`
27
+ bundler_version = nil
28
+ update_index = nil
29
+ ARGV.each_with_index do |a, i|
30
+ if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN
31
+ bundler_version = a
32
+ end
33
+ next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/
34
+ bundler_version = $1
35
+ update_index = i
36
+ end
37
+ bundler_version
38
+ end
39
+
40
+ def gemfile
41
+ gemfile = ENV["BUNDLE_GEMFILE"]
42
+ return gemfile if gemfile && !gemfile.empty?
43
+
44
+ File.expand_path("../../Gemfile", __FILE__)
45
+ end
46
+
47
+ def lockfile
48
+ lockfile =
49
+ case File.basename(gemfile)
50
+ when "gems.rb" then gemfile.sub(/\.rb$/, gemfile)
51
+ else "#{gemfile}.lock"
52
+ end
53
+ File.expand_path(lockfile)
54
+ end
55
+
56
+ def lockfile_version
57
+ return unless File.file?(lockfile)
58
+ lockfile_contents = File.read(lockfile)
59
+ return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/
60
+ Regexp.last_match(1)
61
+ end
62
+
63
+ def bundler_version
64
+ @bundler_version ||=
65
+ env_var_version || cli_arg_version ||
66
+ lockfile_version
67
+ end
68
+
69
+ def bundler_requirement
70
+ return "#{Gem::Requirement.default}.a" unless bundler_version
71
+
72
+ bundler_gem_version = Gem::Version.new(bundler_version)
73
+
74
+ requirement = bundler_gem_version.approximate_recommendation
75
+
76
+ return requirement unless Gem::Version.new(Gem::VERSION) < Gem::Version.new("2.7.0")
77
+
78
+ requirement += ".a" if bundler_gem_version.prerelease?
79
+
80
+ requirement
81
+ end
82
+
83
+ def load_bundler!
84
+ ENV["BUNDLE_GEMFILE"] ||= gemfile
85
+
86
+ activate_bundler
87
+ end
88
+
89
+ def activate_bundler
90
+ gem_error = activation_error_handling do
91
+ gem "bundler", bundler_requirement
92
+ end
93
+ return if gem_error.nil?
94
+ require_error = activation_error_handling do
95
+ require "bundler/version"
96
+ end
97
+ return if require_error.nil? && Gem::Requirement.new(bundler_requirement).satisfied_by?(Gem::Version.new(Bundler::VERSION))
98
+ warn "Activating bundler (#{bundler_requirement}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_requirement}'`"
99
+ exit 42
100
+ end
101
+
102
+ def activation_error_handling
103
+ yield
104
+ nil
105
+ rescue StandardError, LoadError => e
106
+ e
107
+ end
108
+ end
109
+
110
+ m.load_bundler!
111
+
112
+ if m.invoked_as_script?
113
+ load Gem.bin_path("bundler", "bundle")
114
+ end
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../config/application', __dir__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+ require 'fileutils'
3
+
4
+ # path to your application root.
5
+ APP_ROOT = File.expand_path('..', __dir__)
6
+
7
+ def system!(*args)
8
+ system(*args) || abort("\n== Command #{args} failed ==")
9
+ end
10
+
11
+ FileUtils.chdir APP_ROOT do
12
+ # This script is a way to setup or update your development environment automatically.
13
+ # This script is idempotent, so that you can run it at anytime and get an expectable outcome.
14
+ # Add necessary setup steps to this file.
15
+
16
+ puts '== Installing dependencies =='
17
+ system! 'gem install bundler --conservative'
18
+ system('bundle check') || system!('bundle install')
19
+
20
+ # puts "\n== Copying sample files =="
21
+ # unless File.exist?('config/database.yml')
22
+ # FileUtils.cp 'config/database.yml.sample', 'config/database.yml'
23
+ # end
24
+
25
+ puts "\n== Preparing database =="
26
+ system! 'bin/rails db:prepare'
27
+
28
+ puts "\n== Removing old logs and tempfiles =="
29
+ system! 'bin/rails log:clear tmp:clear'
30
+
31
+ puts "\n== Restarting application server =="
32
+ system! 'bin/rails restart'
33
+ end
@@ -0,0 +1,5 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require_relative 'config/environment'
4
+
5
+ run Rails.application
@@ -0,0 +1,35 @@
1
+ require_relative 'boot'
2
+
3
+ require "rails"
4
+ # Pick the frameworks you want:
5
+ require "active_model/railtie"
6
+ require "active_job/railtie"
7
+ require "active_record/railtie"
8
+ # require "active_storage/engine"
9
+ require "action_controller/railtie"
10
+ require "action_mailer/railtie"
11
+ # require "action_mailbox/engine"
12
+ # require "action_text/engine"
13
+ require "action_view/railtie"
14
+ # require "action_cable/engine"
15
+ # require "sprockets/railtie"
16
+ require "rails/test_unit/railtie"
17
+
18
+ # Require the gems listed in Gemfile, including any gems
19
+ # you've limited to :test, :development, or :production.
20
+ Bundler.require(*Rails.groups)
21
+
22
+ module Rails6Capybara3
23
+ class Application < Rails::Application
24
+ # Initialize configuration defaults for originally generated Rails version.
25
+ config.load_defaults 6.0
26
+
27
+ # Settings in config/environments/* take precedence over those specified here.
28
+ # Application configuration can go into files in config/initializers
29
+ # -- all .rb files in that directory are automatically loaded after loading
30
+ # the framework and any gems in your application.
31
+
32
+ # Don't generate system test files.
33
+ config.generators.system_tests = nil
34
+ end
35
+ end
@@ -0,0 +1,3 @@
1
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
2
+
3
+ require 'bundler/setup' # Set up gems listed in the Gemfile.
@@ -0,0 +1,9 @@
1
+ <%
2
+ rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
+ rerun = rerun.strip.gsub /\s/, ' '
4
+ rerun_opts = rerun.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
5
+ std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags 'not @wip'"
6
+ %>
7
+ default: <%= std_opts %> features
8
+ wip: --tags @wip:3 --wip features
9
+ rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags 'not @wip'
@@ -0,0 +1,25 @@
1
+ # SQLite. Versions 3.8.0 and up are supported.
2
+ # gem install sqlite3
3
+ #
4
+ # Ensure the SQLite 3 gem is defined in your Gemfile
5
+ # gem 'sqlite3'
6
+ #
7
+ default: &default
8
+ adapter: sqlite3
9
+ pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
10
+ timeout: 5000
11
+
12
+ development:
13
+ <<: *default
14
+ database: db/development.sqlite3
15
+
16
+ # Warning: The database defined as "test" will be erased and
17
+ # re-generated from your development database when you run "rake".
18
+ # Do not set this db to the same as development or production.
19
+ test:
20
+ <<: *default
21
+ database: db/test.sqlite3
22
+
23
+ production:
24
+ <<: *default
25
+ database: db/production.sqlite3
@@ -0,0 +1,5 @@
1
+ # Load the Rails application.
2
+ require_relative 'application'
3
+
4
+ # Initialize the Rails application.
5
+ Rails.application.initialize!
@@ -0,0 +1,48 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the web server when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Do not eager load code on boot.
10
+ config.eager_load = false
11
+
12
+ # Show full error reports.
13
+ config.consider_all_requests_local = true
14
+
15
+ # Enable/disable caching. By default caching is disabled.
16
+ # Run rails dev:cache to toggle caching.
17
+ if Rails.root.join('tmp', 'caching-dev.txt').exist?
18
+ config.action_controller.perform_caching = true
19
+ config.action_controller.enable_fragment_cache_logging = true
20
+
21
+ config.cache_store = :memory_store
22
+ config.public_file_server.headers = {
23
+ 'Cache-Control' => "public, max-age=#{2.days.to_i}"
24
+ }
25
+ else
26
+ config.action_controller.perform_caching = false
27
+
28
+ config.cache_store = :null_store
29
+ end
30
+
31
+ # Don't care if the mailer can't send.
32
+ config.action_mailer.raise_delivery_errors = false
33
+
34
+ config.action_mailer.perform_caching = false
35
+
36
+ # Print deprecation notices to the Rails logger.
37
+ config.active_support.deprecation = :log
38
+
39
+ # Raise an error on page load if there are pending migrations.
40
+ config.active_record.migration_error = :page_load
41
+
42
+ # Highlight code that triggered database queries in logs.
43
+ config.active_record.verbose_query_logs = true
44
+
45
+
46
+ # Raises error for missing translations.
47
+ # config.action_view.raise_on_missing_translations = true
48
+ end
@@ -0,0 +1,45 @@
1
+ # The test environment is used exclusively to run your application's
2
+ # test suite. You never need to work with it otherwise. Remember that
3
+ # your test database is "scratch space" for the test suite and is wiped
4
+ # and recreated between test runs. Don't rely on the data there!
5
+
6
+ Rails.application.configure do
7
+ # Settings specified here will take precedence over those in config/application.rb.
8
+
9
+ config.cache_classes = true
10
+
11
+ # Do not eager load code on boot. This avoids loading your whole application
12
+ # just for the purpose of running a single test. If you are using a tool that
13
+ # preloads Rails for running tests, you may have to set it to true.
14
+ config.eager_load = false
15
+
16
+ # Configure public file server for tests with Cache-Control for performance.
17
+ config.public_file_server.enabled = true
18
+ config.public_file_server.headers = {
19
+ 'Cache-Control' => "public, max-age=#{1.hour.to_i}"
20
+ }
21
+
22
+ # Show full error reports and disable caching.
23
+ config.consider_all_requests_local = true
24
+ config.action_controller.perform_caching = false
25
+ config.cache_store = :null_store
26
+
27
+ # Raise exceptions instead of rendering exception templates.
28
+ config.action_dispatch.show_exceptions = false
29
+
30
+ # Disable request forgery protection in test environment.
31
+ config.action_controller.allow_forgery_protection = false
32
+
33
+ config.action_mailer.perform_caching = false
34
+
35
+ # Tell Action Mailer not to deliver emails to the real world.
36
+ # The :test delivery method accumulates sent emails in the
37
+ # ActionMailer::Base.deliveries array.
38
+ config.action_mailer.delivery_method = :test
39
+
40
+ # Print deprecation notices to the stderr.
41
+ config.active_support.deprecation = :stderr
42
+
43
+ # Raises error for missing translations.
44
+ # config.action_view.raise_on_missing_translations = true
45
+ end
@@ -0,0 +1,8 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # ActiveSupport::Reloader.to_prepare do
4
+ # ApplicationController.renderer.defaults.merge!(
5
+ # http_host: 'example.org',
6
+ # https: false
7
+ # )
8
+ # end
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
+ # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
+
6
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
+ # Rails.backtrace_cleaner.remove_silencers!