From 81d768f1c01e92eb5d6382222c62a3764f2c2b58 Mon Sep 17 00:00:00 2001 From: CoslaJohn Date: Fri, 9 Feb 2024 14:36:02 +0000 Subject: [PATCH 01/34] Refactor regex in normalized_coordinates method to allow for whitespace between square brackets --- app/models/geozone.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/models/geozone.rb b/app/models/geozone.rb index be2930ca8d9..eddf5a13f86 100644 --- a/app/models/geozone.rb +++ b/app/models/geozone.rb @@ -28,9 +28,10 @@ def outline_points def normalized_coordinates if geojson.present? - if geojson.match(/"coordinates"\s*:\s*\[{4}/) + if geojson.match(/"coordinates"\s*:\s*\[\s*\[\s*\[\s*\[/) coordinates.reduce([], :concat).reduce([], :concat) - elsif geojson.match(/"coordinates"\s*:\s*\[{3}/) + elsif geojson.match(/"coordinates"\s*:\s*\[\s*\[\s*\[/) + coordinates.reduce([], :concat) else coordinates @@ -39,7 +40,7 @@ def normalized_coordinates [] end end - + def coordinates JSON.parse(geojson)["geometry"]["coordinates"] end From ac346573d526bcaba1a7d13c59362d17981a7994 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:06:58 +0000 Subject: [PATCH 02/34] Bump puma from 5.6.7 to 5.6.8 Bumps [puma](https://github.com/puma/puma) from 5.6.7 to 5.6.8. - [Release notes](https://github.com/puma/puma/releases) - [Changelog](https://github.com/puma/puma/blob/master/History.md) - [Commits](https://github.com/puma/puma/compare/v5.6.7...v5.6.8) --- updated-dependencies: - dependency-name: puma dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index ce1acf47bdf..47955360cdb 100644 --- a/Gemfile +++ b/Gemfile @@ -44,7 +44,7 @@ gem "omniauth-twitter", "~> 1.4.0" gem "paranoia", "~> 2.6.2" gem "pg", "~> 1.4.3" gem "pg_search", "~> 2.3.6" -gem "puma", "~> 5.6.7" +gem "puma", "~> 5.6.8" gem "recipient_interceptor", "~> 0.3.1" gem "redcarpet", "~> 3.6.0" gem "responders", "~> 3.1.0" diff --git a/Gemfile.lock b/Gemfile.lock index 9e8242b044a..2c985e2b0ae 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -367,7 +367,7 @@ GEM net-smtp (0.4.0) net-protocol net-ssh (7.2.0) - nio4r (2.6.0) + nio4r (2.7.0) nokogiri (1.16.2) mini_portile2 (~> 2.8.2) racc (~> 1.4) @@ -444,7 +444,7 @@ GEM pronto (~> 0.11.0) scss_lint (~> 0.43, >= 0.43.0) public_suffix (4.0.7) - puma (5.6.7) + puma (5.6.8) nio4r (~> 2.0) racc (1.7.3) rack (2.2.8) @@ -755,7 +755,7 @@ DEPENDENCIES pronto-eslint (~> 0.11.1) pronto-rubocop (~> 0.11.5) pronto-scss (~> 0.11.0) - puma (~> 5.6.7) + puma (~> 5.6.8) rails (= 6.1.7.6) rails-assets-markdown-it (~> 9.0.1)! recipient_interceptor (~> 0.3.1) From 9ecab3bac6fa5fa8ade80c9b013a00bce7512fc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Mon, 26 Feb 2024 16:14:37 +0100 Subject: [PATCH 03/34] Bump Rails to version 6.1.7.7 --- Gemfile | 2 +- Gemfile.lock | 122 +++++++++++++++++++++++++-------------------------- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/Gemfile b/Gemfile index 47955360cdb..07c5264688e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ source "https://rubygems.org" -gem "rails", "6.1.7.6" +gem "rails", "6.1.7.7" gem "acts-as-taggable-on", "~> 9.0.1" gem "acts_as_votable", "~> 0.14.0" diff --git a/Gemfile.lock b/Gemfile.lock index 2c985e2b0ae..5dd70fcafdf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,60 +7,60 @@ GEM remote: https://rubygems.org/ specs: Ascii85 (1.1.0) - actioncable (6.1.7.6) - actionpack (= 6.1.7.6) - activesupport (= 6.1.7.6) + actioncable (6.1.7.7) + actionpack (= 6.1.7.7) + activesupport (= 6.1.7.7) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.6) - actionpack (= 6.1.7.6) - activejob (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionmailbox (6.1.7.7) + actionpack (= 6.1.7.7) + activejob (= 6.1.7.7) + activerecord (= 6.1.7.7) + activestorage (= 6.1.7.7) + activesupport (= 6.1.7.7) mail (>= 2.7.1) - actionmailer (6.1.7.6) - actionpack (= 6.1.7.6) - actionview (= 6.1.7.6) - activejob (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionmailer (6.1.7.7) + actionpack (= 6.1.7.7) + actionview (= 6.1.7.7) + activejob (= 6.1.7.7) + activesupport (= 6.1.7.7) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.7.6) - actionview (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionpack (6.1.7.7) + actionview (= 6.1.7.7) + activesupport (= 6.1.7.7) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.6) - actionpack (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + actiontext (6.1.7.7) + actionpack (= 6.1.7.7) + activerecord (= 6.1.7.7) + activestorage (= 6.1.7.7) + activesupport (= 6.1.7.7) nokogiri (>= 1.8.5) - actionview (6.1.7.6) - activesupport (= 6.1.7.6) + actionview (6.1.7.7) + activesupport (= 6.1.7.7) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.1.7.6) - activesupport (= 6.1.7.6) + activejob (6.1.7.7) + activesupport (= 6.1.7.7) globalid (>= 0.3.6) - activemodel (6.1.7.6) - activesupport (= 6.1.7.6) - activerecord (6.1.7.6) - activemodel (= 6.1.7.6) - activesupport (= 6.1.7.6) - activestorage (6.1.7.6) - actionpack (= 6.1.7.6) - activejob (= 6.1.7.6) - activerecord (= 6.1.7.6) - activesupport (= 6.1.7.6) + activemodel (6.1.7.7) + activesupport (= 6.1.7.7) + activerecord (6.1.7.7) + activemodel (= 6.1.7.7) + activesupport (= 6.1.7.7) + activestorage (6.1.7.7) + actionpack (= 6.1.7.7) + activejob (= 6.1.7.7) + activerecord (= 6.1.7.7) + activesupport (= 6.1.7.7) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.7.6) + activesupport (6.1.7.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -173,7 +173,7 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) crass (1.0.6) daemons (1.4.1) dalli (3.2.6) @@ -347,7 +347,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.5) - minitest (5.20.0) + minitest (5.22.2) mixlib-cli (2.1.8) mixlib-config (3.0.27) tomlrb @@ -355,7 +355,7 @@ GEM chef-utils multi_json (1.15.0) multi_xml (0.6.0) - net-imap (0.4.5) + net-imap (0.4.10) date net-protocol net-pop (0.1.2) @@ -364,7 +364,7 @@ GEM timeout net-scp (4.0.0) net-ssh (>= 2.6.5, < 8.0.0) - net-smtp (0.4.0) + net-smtp (0.4.0.1) net-protocol net-ssh (7.2.0) nio4r (2.7.0) @@ -447,7 +447,7 @@ GEM puma (5.6.8) nio4r (~> 2.0) racc (1.7.3) - rack (2.2.8) + rack (2.2.8.1) rack-accept (0.4.5) rack (>= 0.4) rack-protection (3.1.0) @@ -456,20 +456,20 @@ GEM rack rack-test (2.1.0) rack (>= 1.3) - rails (6.1.7.6) - actioncable (= 6.1.7.6) - actionmailbox (= 6.1.7.6) - actionmailer (= 6.1.7.6) - actionpack (= 6.1.7.6) - actiontext (= 6.1.7.6) - actionview (= 6.1.7.6) - activejob (= 6.1.7.6) - activemodel (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + rails (6.1.7.7) + actioncable (= 6.1.7.7) + actionmailbox (= 6.1.7.7) + actionmailer (= 6.1.7.7) + actionpack (= 6.1.7.7) + actiontext (= 6.1.7.7) + actionview (= 6.1.7.7) + activejob (= 6.1.7.7) + activemodel (= 6.1.7.7) + activerecord (= 6.1.7.7) + activestorage (= 6.1.7.7) + activesupport (= 6.1.7.7) bundler (>= 1.15.0) - railties (= 6.1.7.6) + railties (= 6.1.7.7) sprockets-rails (>= 2.0.0) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) @@ -481,9 +481,9 @@ GEM rails-i18n (6.0.0) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 7) - railties (6.1.7.6) - actionpack (= 6.1.7.6) - activesupport (= 6.1.7.6) + railties (6.1.7.7) + actionpack (= 6.1.7.7) + activesupport (= 6.1.7.7) method_source rake (>= 12.2) thor (~> 1.0) @@ -634,7 +634,7 @@ GEM unicode-display_width (>= 1.1.1, < 3) terrapin (0.6.0) climate_control (>= 0.0.3, < 1.0) - thor (1.3.0) + thor (1.3.1) tilt (2.0.10) timeout (0.4.1) tomlrb (2.0.3) @@ -682,7 +682,7 @@ GEM wkhtmltopdf-binary (0.12.6.6) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.12) + zeitwerk (2.6.13) PLATFORMS ruby @@ -756,7 +756,7 @@ DEPENDENCIES pronto-rubocop (~> 0.11.5) pronto-scss (~> 0.11.0) puma (~> 5.6.8) - rails (= 6.1.7.6) + rails (= 6.1.7.7) rails-assets-markdown-it (~> 9.0.1)! recipient_interceptor (~> 0.3.1) redcarpet (~> 3.6.0) From 5772e1b14ed2a11934a30798b86ca58dc6ea171a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 17:18:53 +0000 Subject: [PATCH 04/34] Bump rubocop-capybara from 2.19.0 to 2.20.0 Note that this version changed the default enforced styles for ClickLinkOrButtonStyle and NegationMatcher, so we're now specifying them. Bumps [rubocop-capybara](https://github.com/rubocop/rubocop-capybara) from 2.19.0 to 2.20.0. - [Release notes](https://github.com/rubocop/rubocop-capybara/releases) - [Changelog](https://github.com/rubocop/rubocop-capybara/blob/main/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-capybara/compare/v2.19.0...v2.20.0) --- updated-dependencies: - dependency-name: rubocop-capybara dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .rubocop.yml | 2 ++ Gemfile | 2 +- Gemfile.lock | 16 ++++++++-------- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index ffe504b19f4..3d64964eba2 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -22,12 +22,14 @@ Bundler/OrderedGems: Capybara/ClickLinkOrButtonStyle: Enabled: true + EnforcedStyle: strict Capybara/CurrentPathExpectation: Enabled: true Capybara/NegationMatcher: Enabled: true + EnforcedStyle: not_to Capybara/RSpec/HaveSelector: Enabled: true diff --git a/Gemfile b/Gemfile index 07c5264688e..b92e45a5f8f 100644 --- a/Gemfile +++ b/Gemfile @@ -107,7 +107,7 @@ group :development do gem "pronto-rubocop", "~> 0.11.5", require: false gem "pronto-scss", "~> 0.11.0", require: false gem "rubocop", "~> 1.56.4", require: false - gem "rubocop-capybara", "~> 2.19.0", require: false + gem "rubocop-capybara", "~> 2.20.0", require: false gem "rubocop-factory_bot", "~> 2.24.0", require: false gem "rubocop-performance", "~> 1.19.1", require: false gem "rubocop-rails", "~> 2.21.2", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 5dd70fcafdf..62ee02dbb42 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -294,7 +294,7 @@ GEM actionpack (>= 3.1) railties (>= 3.1) sassc - json (2.6.3) + json (2.7.1) jwt (2.7.1) kaminari (1.2.2) activesupport (>= 4.1.0) @@ -407,10 +407,10 @@ GEM omniauth-oauth (~> 1.1) rack orm_adapter (0.5.0) - parallel (1.23.0) + parallel (1.24.0) paranoia (2.6.2) activerecord (>= 5.1, < 7.1) - parser (3.2.2.3) + parser (3.3.0.5) ast (~> 2.4.1) racc pdf-reader (2.11.0) @@ -496,7 +496,7 @@ GEM recipient_interceptor (0.3.1) mail redcarpet (3.6.0) - regexp_parser (2.8.1) + regexp_parser (2.9.0) request_store (1.5.1) rack (>= 1.4) responders (3.1.0) @@ -538,9 +538,9 @@ GEM rubocop-ast (>= 1.28.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.29.0) - parser (>= 3.2.1.0) - rubocop-capybara (2.19.0) + rubocop-ast (1.31.1) + parser (>= 3.3.0.4) + rubocop-capybara (2.20.0) rubocop (~> 1.41) rubocop-factory_bot (2.24.0) rubocop (~> 1.33) @@ -765,7 +765,7 @@ DEPENDENCIES ros-apartment (~> 2.11.0) rspec-rails (~> 5.1.2) rubocop (~> 1.56.4) - rubocop-capybara (~> 2.19.0) + rubocop-capybara (~> 2.20.0) rubocop-factory_bot (~> 2.24.0) rubocop-performance (~> 1.19.1) rubocop-rails (~> 2.21.2) From 7fc40ef3d3a6dc493a70a3a8609cfa8b7aeb939e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 18:09:55 +0000 Subject: [PATCH 05/34] Bump rubocop-factory_bot from 2.24.0 to 2.25.1 Bumps [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) from 2.24.0 to 2.25.1. - [Release notes](https://github.com/rubocop/rubocop-factory_bot/releases) - [Changelog](https://github.com/rubocop/rubocop-factory_bot/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-factory_bot/compare/v2.24.0...v2.25.1) --- updated-dependencies: - dependency-name: rubocop-factory_bot dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index b92e45a5f8f..6a0a1d4271e 100644 --- a/Gemfile +++ b/Gemfile @@ -108,7 +108,7 @@ group :development do gem "pronto-scss", "~> 0.11.0", require: false gem "rubocop", "~> 1.56.4", require: false gem "rubocop-capybara", "~> 2.20.0", require: false - gem "rubocop-factory_bot", "~> 2.24.0", require: false + gem "rubocop-factory_bot", "~> 2.25.1", require: false gem "rubocop-performance", "~> 1.19.1", require: false gem "rubocop-rails", "~> 2.21.2", require: false gem "rubocop-rspec", "~> 2.24.1", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 62ee02dbb42..bd50f5f8ba4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -542,8 +542,8 @@ GEM parser (>= 3.3.0.4) rubocop-capybara (2.20.0) rubocop (~> 1.41) - rubocop-factory_bot (2.24.0) - rubocop (~> 1.33) + rubocop-factory_bot (2.25.1) + rubocop (~> 1.41) rubocop-performance (1.19.1) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) @@ -766,7 +766,7 @@ DEPENDENCIES rspec-rails (~> 5.1.2) rubocop (~> 1.56.4) rubocop-capybara (~> 2.20.0) - rubocop-factory_bot (~> 2.24.0) + rubocop-factory_bot (~> 2.25.1) rubocop-performance (~> 1.19.1) rubocop-rails (~> 2.21.2) rubocop-rspec (~> 2.24.1) From 86b72ad7be704335dc9cdcd50bc3e1ae446d8c61 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 19:22:10 +0000 Subject: [PATCH 06/34] Bump rubocop-rspec from 2.24.1 to 2.27.0 Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.24.1 to 2.27.0. - [Release notes](https://github.com/rubocop/rubocop-rspec/releases) - [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.24.1...v2.27.0) --- updated-dependencies: - dependency-name: rubocop-rspec dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 6a0a1d4271e..a33d1a1151d 100644 --- a/Gemfile +++ b/Gemfile @@ -111,7 +111,7 @@ group :development do gem "rubocop-factory_bot", "~> 2.25.1", require: false gem "rubocop-performance", "~> 1.19.1", require: false gem "rubocop-rails", "~> 2.21.2", require: false - gem "rubocop-rspec", "~> 2.24.1", require: false + gem "rubocop-rspec", "~> 2.27.0", require: false gem "rvm1-capistrano3", "~> 1.4.0", require: false gem "scss_lint", "~> 0.60.0", require: false gem "web-console", "~> 4.2.1" diff --git a/Gemfile.lock b/Gemfile.lock index bd50f5f8ba4..eaeb6554913 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -551,8 +551,8 @@ GEM activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) - rubocop-rspec (2.24.1) - rubocop (~> 1.33) + rubocop-rspec (2.27.0) + rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) ruby-progressbar (1.13.0) @@ -769,7 +769,7 @@ DEPENDENCIES rubocop-factory_bot (~> 2.25.1) rubocop-performance (~> 1.19.1) rubocop-rails (~> 2.21.2) - rubocop-rspec (~> 2.24.1) + rubocop-rspec (~> 2.27.0) rvm1-capistrano3 (~> 1.4.0) sassc-rails (~> 2.1.2) savon (~> 2.14.0) From 139da18b1900b82ed6405d04bc45ef23a18d3bbb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 19:53:06 +0000 Subject: [PATCH 07/34] Bump capybara from 3.39.2 to 3.40.0 Bumps [capybara](https://github.com/teamcapybara/capybara) from 3.39.2 to 3.40.0. - [Changelog](https://github.com/teamcapybara/capybara/blob/master/History.md) - [Commits](https://github.com/teamcapybara/capybara/compare/3.39.2...3.40.0) --- updated-dependencies: - dependency-name: capybara dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index a33d1a1151d..612326bcfbf 100644 --- a/Gemfile +++ b/Gemfile @@ -82,7 +82,7 @@ group :development, :test do end group :test do - gem "capybara", "~> 3.39.2" + gem "capybara", "~> 3.40.0" gem "capybara-webmock", "~> 0.7.0" gem "email_spec", "~> 2.2.2" gem "pdf-reader" diff --git a/Gemfile.lock b/Gemfile.lock index eaeb6554913..df19bcf9fa8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -69,7 +69,7 @@ GEM acts-as-taggable-on (9.0.1) activerecord (>= 6.0, < 7.1) acts_as_votable (0.14.0) - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) afm (0.2.2) ahoy_matey (4.2.1) @@ -134,11 +134,11 @@ GEM capistrano (~> 3.7) capistrano-bundler puma (>= 4.0, < 6.0) - capybara (3.39.2) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) @@ -705,7 +705,7 @@ DEPENDENCIES capistrano-rails (~> 1.6.3) capistrano3-delayed-job (~> 1.7.6) capistrano3-puma (~> 5.2.0) - capybara (~> 3.39.2) + capybara (~> 3.40.0) capybara-webmock (~> 0.7.0) caxlsx (~> 3.4.1) caxlsx_rails (~> 0.6.3) From b60d2f45b89ea5752761b7c84ec31f94ac7808d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 1 Mar 2024 21:58:08 +0100 Subject: [PATCH 08/34] Update checkout action to version 3 We were getting a warning with version 2: The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/ --- .github/workflows/db_schema.yml | 2 +- .github/workflows/docker.yml | 2 +- .github/workflows/linters.yml | 2 +- .github/workflows/tests.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/db_schema.yml b/.github/workflows/db_schema.yml index 1379b43e56c..636268ee582 100644 --- a/.github/workflows/db_schema.yml +++ b/.github/workflows/db_schema.yml @@ -25,7 +25,7 @@ jobs: PGUSER: consul POSTGRES_HOST: postgres steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 with: bundler-cache: true diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 22cc4c95ca5..30f48020f5d 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set up Docker Buildx id: buildx diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index ac724091073..cc036793ebe 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -6,7 +6,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - run: | git fetch --no-tags --prune origin +refs/heads/*:refs/remotes/origin/* - name: Setup Ruby diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8b35ff2d9aa..6499f58471c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,7 +35,7 @@ jobs: ci_node_total: [5] ci_node_index: [0, 1, 2, 3, 4] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 with: bundler-cache: true From e07650e09b29f7384b92943d2d3403566fef828c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 1 Mar 2024 23:08:48 +0100 Subject: [PATCH 09/34] Update upload artifact action to version 3 We were getting a warning with version 2: The following actions uses node12 which is deprecated and will be forced to run on node16: actions/upload-artifact@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/ --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6499f58471c..5ed892b63e5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -69,7 +69,7 @@ jobs: parallel: true - name: Upload screenshots if: failure() - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: screenshots path: tmp/screenshots From 3fa16bc882bf34da8b500a861c89e4e02a15b5ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 1 Mar 2024 23:46:30 +0100 Subject: [PATCH 10/34] Update checkout action to version 4 We were getting some warnings with version 3: Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/ --- .github/workflows/db_schema.yml | 2 +- .github/workflows/docker.yml | 2 +- .github/workflows/linters.yml | 2 +- .github/workflows/tests.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/db_schema.yml b/.github/workflows/db_schema.yml index 636268ee582..637f371ea42 100644 --- a/.github/workflows/db_schema.yml +++ b/.github/workflows/db_schema.yml @@ -25,7 +25,7 @@ jobs: PGUSER: consul POSTGRES_HOST: postgres steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: bundler-cache: true diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 30f48020f5d..8a72135d26f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Docker Buildx id: buildx diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index cc036793ebe..f7383bdefeb 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -6,7 +6,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - run: | git fetch --no-tags --prune origin +refs/heads/*:refs/remotes/origin/* - name: Setup Ruby diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5ed892b63e5..5a171997d30 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,7 +35,7 @@ jobs: ci_node_total: [5] ci_node_index: [0, 1, 2, 3, 4] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: bundler-cache: true From 23e54892d5758dd4ac2e13c3ec461e6f31eacbda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 1 Mar 2024 23:57:41 +0100 Subject: [PATCH 11/34] Update setup-node action to version 4 We were getting a warning with version 3: Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/setup-node@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/. --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5a171997d30..4a351449d1c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -40,7 +40,7 @@ jobs: with: bundler-cache: true - name: Setup NPM - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: cache: "npm" node-version-file: ".node-version" From bbb4c84ddba7fda217d0ac2855f818e8f367565b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 23:46:40 +0000 Subject: [PATCH 12/34] Bump rubocop-rails from 2.21.2 to 2.23.1 Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.21.2 to 2.23.1. - [Release notes](https://github.com/rubocop/rubocop-rails/releases) - [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.21.2...v2.23.1) --- updated-dependencies: - dependency-name: rubocop-rails dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 612326bcfbf..026a71e681f 100644 --- a/Gemfile +++ b/Gemfile @@ -110,7 +110,7 @@ group :development do gem "rubocop-capybara", "~> 2.20.0", require: false gem "rubocop-factory_bot", "~> 2.25.1", require: false gem "rubocop-performance", "~> 1.19.1", require: false - gem "rubocop-rails", "~> 2.21.2", require: false + gem "rubocop-rails", "~> 2.23.1", require: false gem "rubocop-rspec", "~> 2.27.0", require: false gem "rvm1-capistrano3", "~> 1.4.0", require: false gem "scss_lint", "~> 0.60.0", require: false diff --git a/Gemfile.lock b/Gemfile.lock index df19bcf9fa8..d9f8e4ea754 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -547,10 +547,11 @@ GEM rubocop-performance (1.19.1) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rails (2.21.2) + rubocop-rails (2.23.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) rubocop-rspec (2.27.0) rubocop (~> 1.40) rubocop-capybara (~> 2.17) @@ -768,7 +769,7 @@ DEPENDENCIES rubocop-capybara (~> 2.20.0) rubocop-factory_bot (~> 2.25.1) rubocop-performance (~> 1.19.1) - rubocop-rails (~> 2.21.2) + rubocop-rails (~> 2.23.1) rubocop-rspec (~> 2.27.0) rvm1-capistrano3 (~> 1.4.0) sassc-rails (~> 2.1.2) From acfaada82bc87612a83d50263f5cfbc3655e77d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Sat, 2 Mar 2024 00:50:25 +0100 Subject: [PATCH 13/34] Update upload artifact action to version 4 We were getting a warning with version 3: Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/. --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4a351449d1c..baf23d7a4ce 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -69,7 +69,7 @@ jobs: parallel: true - name: Upload screenshots if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: screenshots path: tmp/screenshots From 99b9167e72afc2ce1e5e9575b43d155c5b6c16bf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 2 Mar 2024 00:51:07 +0000 Subject: [PATCH 14/34] Bump mdl from 0.12.0 to 0.13.0 Bumps [mdl](https://github.com/mivok/markdownlint) from 0.12.0 to 0.13.0. - [Changelog](https://github.com/markdownlint/markdownlint/blob/main/CHANGELOG.md) - [Commits](https://github.com/mivok/markdownlint/compare/v0.12.0...v0.13.0) --- updated-dependencies: - dependency-name: mdl dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 026a71e681f..3373447b82d 100644 --- a/Gemfile +++ b/Gemfile @@ -100,7 +100,7 @@ group :development do gem "capistrano3-delayed-job", "~> 1.7.6" gem "capistrano3-puma", "~> 5.2.0" gem "erb_lint", "~> 0.5.0", require: false - gem "mdl", "~> 0.12.0", require: false + gem "mdl", "~> 0.13.0", require: false gem "pronto", "~> 0.11.1", require: false gem "pronto-erb_lint", "~> 0.1.6", require: false gem "pronto-eslint", "~> 0.11.1", require: false diff --git a/Gemfile.lock b/Gemfile.lock index d9f8e4ea754..18bc9d931a2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -158,7 +158,7 @@ GEM caxlsx_rails (0.6.3) actionpack (>= 3.1) caxlsx (>= 3.0) - chef-utils (18.2.7) + chef-utils (18.4.2) concurrent-ruby chronic (0.10.2) ckeditor (4.3.0) @@ -334,7 +334,7 @@ GEM net-smtp marcel (1.0.2) matrix (0.4.2) - mdl (0.12.0) + mdl (0.13.0) kramdown (~> 2.3) kramdown-parser-gfm (~> 1.1) mixlib-cli (~> 2.1, >= 2.1.1) @@ -740,7 +740,7 @@ DEPENDENCIES knapsack_pro (~> 5.7.0) launchy (~> 2.5.2) letter_opener_web (~> 2.0.0) - mdl (~> 0.12.0) + mdl (~> 0.13.0) mini_magick (~> 4.12.0) omniauth (~> 2.1.1) omniauth-facebook (~> 9.0.0) From 56311eeefbfcbbe43a2fb4169b03c8411327ac43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 2 Mar 2024 01:21:14 +0000 Subject: [PATCH 15/34] Bump factory_bot_rails from 6.2.0 to 6.4.3 Bumps [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) from 6.2.0 to 6.4.3. - [Release notes](https://github.com/thoughtbot/factory_bot_rails/releases) - [Changelog](https://github.com/thoughtbot/factory_bot_rails/blob/main/NEWS.md) - [Commits](https://github.com/thoughtbot/factory_bot_rails/compare/v6.2.0...v6.4.3) --- updated-dependencies: - dependency-name: factory_bot_rails dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 3373447b82d..22e775cc48d 100644 --- a/Gemfile +++ b/Gemfile @@ -71,7 +71,7 @@ end group :development, :test do gem "bullet", "~> 7.0.7" gem "byebug", "~> 11.1.3" - gem "factory_bot_rails", "~> 6.2.0" + gem "factory_bot_rails", "~> 6.4.3" gem "faker", "~> 3.2.1" gem "i18n-tasks", "~> 0.9.37" gem "knapsack_pro", "~> 5.7.0" diff --git a/Gemfile.lock b/Gemfile.lock index 18bc9d931a2..b47363fdb7d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -215,10 +215,10 @@ GEM json exiftool_vendored (12.60.0) exiftool (>= 0.7.0) - factory_bot (6.2.0) + factory_bot (6.4.6) activesupport (>= 5.0.0) - factory_bot_rails (6.2.0) - factory_bot (~> 6.2.0) + factory_bot_rails (6.4.3) + factory_bot (~> 6.4) railties (>= 5.0.0) faker (3.2.1) i18n (>= 1.8.11, < 2) @@ -720,7 +720,7 @@ DEPENDENCIES email_spec (~> 2.2.2) erb_lint (~> 0.5.0) exiftool_vendored (~> 12.60.0) - factory_bot_rails (~> 6.2.0) + factory_bot_rails (~> 6.4.3) faker (~> 3.2.1) file_validators (~> 3.0.0) font-awesome-sass (~> 5.15.1) From 518eb333b46676ee5c7954014cc3e91c7b062e8d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 2 Mar 2024 02:00:07 +0000 Subject: [PATCH 16/34] Bump faker from 3.2.1 to 3.2.3 Bumps [faker](https://github.com/faker-ruby/faker) from 3.2.1 to 3.2.3. - [Release notes](https://github.com/faker-ruby/faker/releases) - [Changelog](https://github.com/faker-ruby/faker/blob/main/CHANGELOG.md) - [Commits](https://github.com/faker-ruby/faker/compare/v3.2.1...v3.2.3) --- updated-dependencies: - dependency-name: faker dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 22e775cc48d..78c5270a0ff 100644 --- a/Gemfile +++ b/Gemfile @@ -72,7 +72,7 @@ group :development, :test do gem "bullet", "~> 7.0.7" gem "byebug", "~> 11.1.3" gem "factory_bot_rails", "~> 6.4.3" - gem "faker", "~> 3.2.1" + gem "faker", "~> 3.2.3" gem "i18n-tasks", "~> 0.9.37" gem "knapsack_pro", "~> 5.7.0" gem "launchy", "~> 2.5.2" diff --git a/Gemfile.lock b/Gemfile.lock index b47363fdb7d..6d6daf6be84 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -220,7 +220,7 @@ GEM factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faker (3.2.1) + faker (3.2.3) i18n (>= 1.8.11, < 2) faraday (2.7.10) faraday-net_http (>= 2.0, < 3.1) @@ -721,7 +721,7 @@ DEPENDENCIES erb_lint (~> 0.5.0) exiftool_vendored (~> 12.60.0) factory_bot_rails (~> 6.4.3) - faker (~> 3.2.1) + faker (~> 3.2.3) file_validators (~> 3.0.0) font-awesome-sass (~> 5.15.1) foundation-rails (~> 6.6.2.0) From ac9472cc0b6b04a2aa1e2ab8c4ed911b254a95d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 2 Mar 2024 02:17:38 +0000 Subject: [PATCH 17/34] Bump pdf-reader from 2.11.0 to 2.12.0 Bumps [pdf-reader](https://github.com/yob/pdf-reader) from 2.11.0 to 2.12.0. - [Changelog](https://github.com/yob/pdf-reader/blob/main/CHANGELOG) - [Commits](https://github.com/yob/pdf-reader/compare/v2.11.0...v2.12.0) --- updated-dependencies: - dependency-name: pdf-reader dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 78c5270a0ff..eaa326015df 100644 --- a/Gemfile +++ b/Gemfile @@ -85,7 +85,7 @@ group :test do gem "capybara", "~> 3.40.0" gem "capybara-webmock", "~> 0.7.0" gem "email_spec", "~> 2.2.2" - gem "pdf-reader" + gem "pdf-reader", "~> 2.12.0" gem "rspec-rails", "~> 5.1.2" gem "selenium-webdriver", "~> 4.16.0" gem "simplecov", "~> 0.22.0", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 6d6daf6be84..dcc317cbe60 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -413,7 +413,7 @@ GEM parser (3.3.0.5) ast (~> 2.4.1) racc - pdf-reader (2.11.0) + pdf-reader (2.12.0) Ascii85 (~> 1.0) afm (~> 0.2.1) hashery (~> 2.0) @@ -748,7 +748,7 @@ DEPENDENCIES omniauth-rails_csrf_protection (~> 1.0.1) omniauth-twitter (~> 1.4.0) paranoia (~> 2.6.2) - pdf-reader + pdf-reader (~> 2.12.0) pg (~> 1.4.3) pg_search (~> 2.3.6) pronto (~> 0.11.1) From 331784e92674456644cc1c99bf30341402556716 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 2 Mar 2024 03:00:10 +0000 Subject: [PATCH 18/34] Bump bullet from 7.0.7 to 7.1.6 Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.0.7 to 7.1.6. - [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md) - [Commits](https://github.com/flyerhzm/bullet/compare/7.0.7...7.1.6) --- updated-dependencies: - dependency-name: bullet dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index eaa326015df..b5d7672c23e 100644 --- a/Gemfile +++ b/Gemfile @@ -69,7 +69,7 @@ source "https://rails-assets.org" do end group :development, :test do - gem "bullet", "~> 7.0.7" + gem "bullet", "~> 7.1.6" gem "byebug", "~> 11.1.3" gem "factory_bot_rails", "~> 6.4.3" gem "faker", "~> 3.2.3" diff --git a/Gemfile.lock b/Gemfile.lock index dcc317cbe60..8786ce8630d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -110,7 +110,7 @@ GEM bing_translator (6.2.0) json builder (3.2.4) - bullet (7.0.7) + bullet (7.1.6) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) byebug (11.1.3) @@ -697,7 +697,7 @@ DEPENDENCIES audited (~> 5.4.0) autoprefixer-rails (~> 8.2.0) bing_translator (~> 6.2.0) - bullet (~> 7.0.7) + bullet (~> 7.1.6) byebug (~> 11.1.3) cancancan (~> 3.5.0) capistrano (~> 3.17.3) From 52ec5094f0c66c5b8752017ebd80a7c090039ce4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 23 Feb 2024 21:07:57 +0000 Subject: [PATCH 19/34] Bump view_component from 3.6.0 to 3.11.0 Bumps [view_component](https://github.com/viewcomponent/view_component) from 3.6.0 to 3.11.0. - [Release notes](https://github.com/viewcomponent/view_component/releases) - [Changelog](https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md) - [Commits](https://github.com/viewcomponent/view_component/compare/v3.6.0...v3.11.0) --- updated-dependencies: - dependency-name: view_component dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index b5d7672c23e..786c8046614 100644 --- a/Gemfile +++ b/Gemfile @@ -59,7 +59,7 @@ gem "turbolinks", "~> 5.2.1" gem "turnout", "~> 2.5.0" gem "uglifier", "~> 4.2.0" gem "uuidtools", "~> 2.2.0" -gem "view_component", "~> 3.6.0" +gem "view_component", "~> 3.11.0" gem "whenever", "~> 1.0.0", require: false gem "wicked_pdf", "~> 2.7.0" gem "wkhtmltopdf-binary", "~> 0.12.6" diff --git a/Gemfile.lock b/Gemfile.lock index 8786ce8630d..3a2663f903e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -656,7 +656,7 @@ GEM uniform_notifier (1.16.0) uuidtools (2.2.0) version_gem (1.1.3) - view_component (3.6.0) + view_component (3.11.0) activesupport (>= 5.2.0, < 8.0) concurrent-ruby (~> 1.0) method_source (~> 1.0) @@ -787,7 +787,7 @@ DEPENDENCIES turnout (~> 2.5.0) uglifier (~> 4.2.0) uuidtools (~> 2.2.0) - view_component (~> 3.6.0) + view_component (~> 3.11.0) web-console (~> 4.2.1) whenever (~> 1.0.0) wicked_pdf (~> 2.7.0) From 1d955b7a207ea2cadeca0eb529759db3341d7a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 23 Feb 2024 22:34:01 +0100 Subject: [PATCH 20/34] Simplify using helper methods in components The `use_helpers` method was added in ViewComponent 3.8.0, and it's included by default in all components since version 3.11.0. Note we sometimes delegated the `can?` method to the controller instead of the helpers, for no particularly reason. We're unifying that code as well. --- app/components/admin/allowed_table_actions_component.rb | 2 +- .../admin/budgets/calculate_winners_button_component.rb | 2 +- app/components/admin/budgets/drafting_component.rb | 2 +- app/components/admin/budgets/links_component.rb | 2 +- app/components/admin/budgets_wizard/base_component.rb | 2 +- app/components/admin/budgets_wizard/budgets/new_component.rb | 2 +- app/components/admin/menu_component.rb | 2 +- app/components/admin/organizations/table_actions_component.rb | 2 +- .../admin/poll/questions/answers/documents/index_component.rb | 2 +- app/components/admin/poll/questions/filter_component.rb | 2 +- app/components/admin/poll/questions/form_component.rb | 2 +- app/components/admin/settings/content_types_form_component.rb | 2 +- app/components/admin/settings/row_component.rb | 2 +- app/components/admin/settings/text_form_component.rb | 2 +- .../information_texts/form_field_component.rb | 2 +- app/components/admin/tenants/new_component.rb | 2 +- app/components/application_component.rb | 2 +- app/components/attachable/fields_component.rb | 2 +- app/components/budgets/budget_component.rb | 2 +- app/components/budgets/executions/image_component.rb | 2 +- app/components/budgets/investment_component.rb | 2 +- app/components/budgets/investments/ballot_component.rb | 2 +- app/components/budgets/investments/filters_component.rb | 2 +- app/components/budgets/investments/form_component.rb | 2 +- app/components/budgets/investments/map_component.rb | 2 +- app/components/budgets/investments/my_ballot_component.rb | 2 +- app/components/budgets/investments/votes_component.rb | 2 +- app/components/budgets/map_component.rb | 2 +- app/components/budgets/phases_component.rb | 2 +- app/components/budgets/subheader_component.rb | 2 +- app/components/budgets/supports_info_component.rb | 2 +- app/components/debates/form_component.rb | 2 +- app/components/debates/new_component.rb | 2 +- app/components/debates/votes_component.rb | 2 +- app/components/documents/document_component.rb | 2 +- app/components/layout/admin_header_component.rb | 2 +- app/components/layout/admin_login_items_component.rb | 2 +- app/components/layout/common_html_attributes_component.rb | 2 +- app/components/layout/footer_component.rb | 2 +- app/components/layout/locale_switcher_component.rb | 2 +- app/components/layout/login_items_component.rb | 2 +- app/components/layout/social_component.rb | 2 +- app/components/layout/subnavigation_component.rb | 2 +- app/components/layout/top_links_component.rb | 2 +- app/components/legislation/proposals/votes_component.rb | 2 +- app/components/machine_learning/info_component.rb | 2 +- .../management/budgets/print_investments/table_component.rb | 2 +- app/components/polls/questions/answers_component.rb | 2 +- app/components/polls/questions/read_more_component.rb | 2 +- app/components/proposals/form_component.rb | 2 +- app/components/proposals/geozones_component.rb | 2 +- app/components/proposals/new_component.rb | 2 +- app/components/proposals/votes_component.rb | 2 +- app/components/relationable/related_list_component.rb | 2 +- app/components/sdg/filter_links_component.rb | 2 +- app/components/sdg/goals/index_component.rb | 2 +- app/components/sdg/related_list_selector_component.rb | 2 +- .../shared/agree_with_terms_of_service_field_component.rb | 2 +- app/components/shared/avatar_component.rb | 2 +- app/components/shared/comments_component.rb | 2 +- app/components/shared/geozone_link_component.rb | 2 +- app/components/shared/in_favor_against_component.rb | 2 +- app/components/shared/moderation_actions_component.rb | 2 +- app/components/shared/order_links_component.rb | 2 +- app/components/shared/participation_not_allowed_component.rb | 2 +- app/components/shared/tag_list_component.rb | 2 +- app/components/shared/vote_button_component.rb | 2 +- app/components/users/public_activity_component.rb | 2 +- app/components/valuation/budgets/row_component.rb | 2 +- app/components/widget/feeds/process_component.rb | 2 +- 70 files changed, 70 insertions(+), 70 deletions(-) diff --git a/app/components/admin/allowed_table_actions_component.rb b/app/components/admin/allowed_table_actions_component.rb index dc5f2e1d5b2..a237bde5c4a 100644 --- a/app/components/admin/allowed_table_actions_component.rb +++ b/app/components/admin/allowed_table_actions_component.rb @@ -1,6 +1,6 @@ class Admin::AllowedTableActionsComponent < ApplicationComponent attr_reader :record, :options - delegate :can?, to: :helpers + use_helpers :can? delegate :action, to: :table_actions_component def initialize(record, **options) diff --git a/app/components/admin/budgets/calculate_winners_button_component.rb b/app/components/admin/budgets/calculate_winners_button_component.rb index ab37e0c3a67..2ae42d81fb4 100644 --- a/app/components/admin/budgets/calculate_winners_button_component.rb +++ b/app/components/admin/budgets/calculate_winners_button_component.rb @@ -1,6 +1,6 @@ class Admin::Budgets::CalculateWinnersButtonComponent < ApplicationComponent attr_reader :budget, :from_investments - delegate :can?, to: :helpers + use_helpers :can? def initialize(budget, from_investments: false) @budget = budget diff --git a/app/components/admin/budgets/drafting_component.rb b/app/components/admin/budgets/drafting_component.rb index d196b01847c..57e0013c8c6 100644 --- a/app/components/admin/budgets/drafting_component.rb +++ b/app/components/admin/budgets/drafting_component.rb @@ -1,5 +1,5 @@ class Admin::Budgets::DraftingComponent < ApplicationComponent - delegate :can?, to: :controller + use_helpers :can? attr_reader :budget def initialize(budget) diff --git a/app/components/admin/budgets/links_component.rb b/app/components/admin/budgets/links_component.rb index a84273420e2..15ae2e4ca09 100644 --- a/app/components/admin/budgets/links_component.rb +++ b/app/components/admin/budgets/links_component.rb @@ -1,6 +1,6 @@ class Admin::Budgets::LinksComponent < ApplicationComponent attr_reader :budget - delegate :can?, to: :helpers + use_helpers :can? def initialize(budget) @budget = budget diff --git a/app/components/admin/budgets_wizard/base_component.rb b/app/components/admin/budgets_wizard/base_component.rb index b2aba71cdd4..8b8ae0b819d 100644 --- a/app/components/admin/budgets_wizard/base_component.rb +++ b/app/components/admin/budgets_wizard/base_component.rb @@ -1,5 +1,5 @@ class Admin::BudgetsWizard::BaseComponent < ApplicationComponent - delegate :single_heading?, :url_params, to: :helpers + use_helpers :single_heading?, :url_params def budget_mode helpers.budget_mode || "multiple" diff --git a/app/components/admin/budgets_wizard/budgets/new_component.rb b/app/components/admin/budgets_wizard/budgets/new_component.rb index 38fbb9bfaad..496363200ba 100644 --- a/app/components/admin/budgets_wizard/budgets/new_component.rb +++ b/app/components/admin/budgets_wizard/budgets/new_component.rb @@ -1,7 +1,7 @@ class Admin::BudgetsWizard::Budgets::NewComponent < ApplicationComponent include Header attr_reader :budget - delegate :single_heading?, to: :helpers + use_helpers :single_heading? def initialize(budget) @budget = budget diff --git a/app/components/admin/menu_component.rb b/app/components/admin/menu_component.rb index 610c88dd994..8ec7df693a2 100644 --- a/app/components/admin/menu_component.rb +++ b/app/components/admin/menu_component.rb @@ -1,6 +1,6 @@ class Admin::MenuComponent < ApplicationComponent include LinkListHelper - delegate :can?, to: :helpers + use_helpers :can? def links [ diff --git a/app/components/admin/organizations/table_actions_component.rb b/app/components/admin/organizations/table_actions_component.rb index d0b29708fa5..7cf9381e977 100644 --- a/app/components/admin/organizations/table_actions_component.rb +++ b/app/components/admin/organizations/table_actions_component.rb @@ -1,5 +1,5 @@ class Admin::Organizations::TableActionsComponent < ApplicationComponent - delegate :can?, to: :controller + use_helpers :can? attr_reader :organization def initialize(organization) diff --git a/app/components/admin/poll/questions/answers/documents/index_component.rb b/app/components/admin/poll/questions/answers/documents/index_component.rb index b45c9856ec2..60e816dc8d2 100644 --- a/app/components/admin/poll/questions/answers/documents/index_component.rb +++ b/app/components/admin/poll/questions/answers/documents/index_component.rb @@ -1,6 +1,6 @@ class Admin::Poll::Questions::Answers::Documents::IndexComponent < ApplicationComponent attr_reader :answer - delegate :can?, to: :helpers + use_helpers :can? def initialize(answer) @answer = answer diff --git a/app/components/admin/poll/questions/filter_component.rb b/app/components/admin/poll/questions/filter_component.rb index b8b7d74128f..8b396bd9b96 100644 --- a/app/components/admin/poll/questions/filter_component.rb +++ b/app/components/admin/poll/questions/filter_component.rb @@ -1,6 +1,6 @@ class Admin::Poll::Questions::FilterComponent < ApplicationComponent attr_reader :polls - delegate :current_path_with_query_params, to: :helpers + use_helpers :current_path_with_query_params def initialize(polls) @polls = polls diff --git a/app/components/admin/poll/questions/form_component.rb b/app/components/admin/poll/questions/form_component.rb index 5f54d84e2b1..6f52382a0d9 100644 --- a/app/components/admin/poll/questions/form_component.rb +++ b/app/components/admin/poll/questions/form_component.rb @@ -2,7 +2,7 @@ class Admin::Poll::Questions::FormComponent < ApplicationComponent include TranslatableFormHelper include GlobalizeHelper attr_reader :question, :url - delegate :can?, to: :helpers + use_helpers :can? def initialize(question, url:) @question = question diff --git a/app/components/admin/settings/content_types_form_component.rb b/app/components/admin/settings/content_types_form_component.rb index 264d679b0f1..0f773cab51f 100644 --- a/app/components/admin/settings/content_types_form_component.rb +++ b/app/components/admin/settings/content_types_form_component.rb @@ -1,6 +1,6 @@ class Admin::Settings::ContentTypesFormComponent < ApplicationComponent attr_reader :setting, :tab - delegate :dom_id, to: :helpers + use_helpers :dom_id def initialize(setting, tab: nil) @setting = setting diff --git a/app/components/admin/settings/row_component.rb b/app/components/admin/settings/row_component.rb index 777477487df..7a7971d0637 100644 --- a/app/components/admin/settings/row_component.rb +++ b/app/components/admin/settings/row_component.rb @@ -1,6 +1,6 @@ class Admin::Settings::RowComponent < ApplicationComponent attr_reader :key, :tab, :type - delegate :dom_id, to: :helpers + use_helpers :dom_id def initialize(key, type: :text, tab: nil) @key = key diff --git a/app/components/admin/settings/text_form_component.rb b/app/components/admin/settings/text_form_component.rb index 9234c0fb72e..0cf8e67b92a 100644 --- a/app/components/admin/settings/text_form_component.rb +++ b/app/components/admin/settings/text_form_component.rb @@ -1,6 +1,6 @@ class Admin::Settings::TextFormComponent < ApplicationComponent attr_reader :setting, :tab - delegate :dom_id, to: :helpers + use_helpers :dom_id def initialize(setting, tab: nil) @setting = setting diff --git a/app/components/admin/site_customization/information_texts/form_field_component.rb b/app/components/admin/site_customization/information_texts/form_field_component.rb index c5278a30589..f85c1c2cacf 100644 --- a/app/components/admin/site_customization/information_texts/form_field_component.rb +++ b/app/components/admin/site_customization/information_texts/form_field_component.rb @@ -1,6 +1,6 @@ class Admin::SiteCustomization::InformationTexts::FormFieldComponent < ApplicationComponent attr_reader :i18n_content, :locale - delegate :globalize, :site_customization_display_translation_style, to: :helpers + use_helpers :globalize, :site_customization_display_translation_style def initialize(i18n_content, locale:) @i18n_content = i18n_content diff --git a/app/components/admin/tenants/new_component.rb b/app/components/admin/tenants/new_component.rb index 769ce9507eb..f5c0c4d4132 100644 --- a/app/components/admin/tenants/new_component.rb +++ b/app/components/admin/tenants/new_component.rb @@ -1,7 +1,7 @@ class Admin::Tenants::NewComponent < ApplicationComponent include Header attr_reader :tenant - delegate :current_user, to: :helpers + use_helpers :current_user def initialize(tenant) @tenant = tenant diff --git a/app/components/application_component.rb b/app/components/application_component.rb index 7cf590297b8..28a42d91bcd 100644 --- a/app/components/application_component.rb +++ b/app/components/application_component.rb @@ -1,5 +1,5 @@ class ApplicationComponent < ViewComponent::Base include SettingsHelper - delegate :back_link_to, :t, to: :helpers + use_helpers :back_link_to, :t delegate :default_form_builder, to: :controller end diff --git a/app/components/attachable/fields_component.rb b/app/components/attachable/fields_component.rb index d26340d7006..9e6166cfa4b 100644 --- a/app/components/attachable/fields_component.rb +++ b/app/components/attachable/fields_component.rb @@ -1,6 +1,6 @@ class Attachable::FieldsComponent < ApplicationComponent attr_reader :f, :resource_type, :resource_id, :relation_name - delegate :current_user, :render_image, to: :helpers + use_helpers :current_user, :render_image def initialize(f, resource_type:, resource_id:, relation_name:) @f = f diff --git a/app/components/budgets/budget_component.rb b/app/components/budgets/budget_component.rb index 4b842a3fd10..b21cf22e5f4 100644 --- a/app/components/budgets/budget_component.rb +++ b/app/components/budgets/budget_component.rb @@ -1,6 +1,6 @@ class Budgets::BudgetComponent < ApplicationComponent attr_reader :budget - delegate :attached_background_css, to: :helpers + use_helpers :attached_background_css def initialize(budget) @budget = budget diff --git a/app/components/budgets/executions/image_component.rb b/app/components/budgets/executions/image_component.rb index d81e225e552..fe5c4d2435f 100644 --- a/app/components/budgets/executions/image_component.rb +++ b/app/components/budgets/executions/image_component.rb @@ -1,6 +1,6 @@ class Budgets::Executions::ImageComponent < ApplicationComponent attr_reader :investment - delegate :image_path_for, to: :helpers + use_helpers :image_path_for def initialize(investment) @investment = investment diff --git a/app/components/budgets/investment_component.rb b/app/components/budgets/investment_component.rb index 11e258deb02..25def62f365 100644 --- a/app/components/budgets/investment_component.rb +++ b/app/components/budgets/investment_component.rb @@ -1,5 +1,5 @@ class Budgets::InvestmentComponent < ApplicationComponent - delegate :locale_and_user_status, :namespaced_budget_investment_path, :image_path_for, to: :helpers + use_helpers :locale_and_user_status, :namespaced_budget_investment_path, :image_path_for attr_reader :investment def initialize(investment) diff --git a/app/components/budgets/investments/ballot_component.rb b/app/components/budgets/investments/ballot_component.rb index cf34802b76b..97efb96a977 100644 --- a/app/components/budgets/investments/ballot_component.rb +++ b/app/components/budgets/investments/ballot_component.rb @@ -1,6 +1,6 @@ class Budgets::Investments::BallotComponent < ApplicationComponent attr_reader :investment, :investment_ids, :ballot - delegate :current_user, :heading_link, :link_to_verify_account, to: :helpers + use_helpers :current_user, :heading_link, :link_to_verify_account def initialize(investment:, investment_ids:, ballot:) @investment = investment diff --git a/app/components/budgets/investments/filters_component.rb b/app/components/budgets/investments/filters_component.rb index 12c6ddde8f6..0e581e5c37c 100644 --- a/app/components/budgets/investments/filters_component.rb +++ b/app/components/budgets/investments/filters_component.rb @@ -1,5 +1,5 @@ class Budgets::Investments::FiltersComponent < ApplicationComponent - delegate :valid_filters, :current_filter, :link_list, :current_path_with_query_params, to: :helpers + use_helpers :valid_filters, :current_filter, :link_list, :current_path_with_query_params def render? valid_filters&.any? diff --git a/app/components/budgets/investments/form_component.rb b/app/components/budgets/investments/form_component.rb index 181328e04b0..df69a34a76e 100644 --- a/app/components/budgets/investments/form_component.rb +++ b/app/components/budgets/investments/form_component.rb @@ -2,7 +2,7 @@ class Budgets::Investments::FormComponent < ApplicationComponent include TranslatableFormHelper include GlobalizeHelper attr_reader :investment, :url - delegate :current_user, :budget_heading_select_options, :suggest_data, to: :helpers + use_helpers :current_user, :budget_heading_select_options, :suggest_data def initialize(investment, url:) @investment = investment diff --git a/app/components/budgets/investments/map_component.rb b/app/components/budgets/investments/map_component.rb index 8046d384abe..9730cf184dd 100644 --- a/app/components/budgets/investments/map_component.rb +++ b/app/components/budgets/investments/map_component.rb @@ -1,6 +1,6 @@ class Budgets::Investments::MapComponent < ApplicationComponent attr_reader :heading, :investments - delegate :render_map, to: :helpers + use_helpers :render_map def initialize(investments, heading:) @investments = investments diff --git a/app/components/budgets/investments/my_ballot_component.rb b/app/components/budgets/investments/my_ballot_component.rb index 6bc06273f4f..0f7ea5ff5e1 100644 --- a/app/components/budgets/investments/my_ballot_component.rb +++ b/app/components/budgets/investments/my_ballot_component.rb @@ -1,6 +1,6 @@ class Budgets::Investments::MyBallotComponent < ApplicationComponent attr_reader :ballot, :heading, :investment_ids, :assigned_heading - delegate :can?, :heading_link, to: :helpers + use_helpers :can?, :heading_link def initialize(ballot:, heading:, investment_ids:, assigned_heading: nil) @ballot = ballot diff --git a/app/components/budgets/investments/votes_component.rb b/app/components/budgets/investments/votes_component.rb index df885ae1a95..a570c426b53 100644 --- a/app/components/budgets/investments/votes_component.rb +++ b/app/components/budgets/investments/votes_component.rb @@ -1,6 +1,6 @@ class Budgets::Investments::VotesComponent < ApplicationComponent attr_reader :investment - delegate :namespace, :current_user, :image_absolute_url, :link_to_verify_account, to: :helpers + use_helpers :namespace, :current_user, :image_absolute_url, :link_to_verify_account def initialize(investment) @investment = investment diff --git a/app/components/budgets/map_component.rb b/app/components/budgets/map_component.rb index ccf3719d1f5..3124f8cfa07 100644 --- a/app/components/budgets/map_component.rb +++ b/app/components/budgets/map_component.rb @@ -1,5 +1,5 @@ class Budgets::MapComponent < ApplicationComponent - delegate :render_map, to: :helpers + use_helpers :render_map attr_reader :budget def initialize(budget) diff --git a/app/components/budgets/phases_component.rb b/app/components/budgets/phases_component.rb index 784770c94a5..38db525e851 100644 --- a/app/components/budgets/phases_component.rb +++ b/app/components/budgets/phases_component.rb @@ -1,5 +1,5 @@ class Budgets::PhasesComponent < ApplicationComponent - delegate :wysiwyg, :auto_link_already_sanitized_html, to: :helpers + use_helpers :wysiwyg, :auto_link_already_sanitized_html attr_reader :budget def initialize(budget) diff --git a/app/components/budgets/subheader_component.rb b/app/components/budgets/subheader_component.rb index 7d301d4ac75..7db273adc50 100644 --- a/app/components/budgets/subheader_component.rb +++ b/app/components/budgets/subheader_component.rb @@ -1,5 +1,5 @@ class Budgets::SubheaderComponent < ApplicationComponent - delegate :current_user, :link_to_signin, :link_to_signup, :link_to_verify_account, :can?, to: :helpers + use_helpers :current_user, :link_to_signin, :link_to_signup, :link_to_verify_account, :can? attr_reader :budget def initialize(budget) diff --git a/app/components/budgets/supports_info_component.rb b/app/components/budgets/supports_info_component.rb index 6c55970efa2..5cae08ba9ca 100644 --- a/app/components/budgets/supports_info_component.rb +++ b/app/components/budgets/supports_info_component.rb @@ -1,5 +1,5 @@ class Budgets::SupportsInfoComponent < ApplicationComponent - delegate :current_user, to: :helpers + use_helpers :current_user attr_reader :budget def initialize(budget) diff --git a/app/components/debates/form_component.rb b/app/components/debates/form_component.rb index 508e003cc33..da52f2d2a06 100644 --- a/app/components/debates/form_component.rb +++ b/app/components/debates/form_component.rb @@ -2,7 +2,7 @@ class Debates::FormComponent < ApplicationComponent include TranslatableFormHelper include GlobalizeHelper attr_reader :debate - delegate :suggest_data, to: :helpers + use_helpers :suggest_data def initialize(debate) @debate = debate diff --git a/app/components/debates/new_component.rb b/app/components/debates/new_component.rb index a22193cc49c..d28e7597191 100644 --- a/app/components/debates/new_component.rb +++ b/app/components/debates/new_component.rb @@ -1,7 +1,7 @@ class Debates::NewComponent < ApplicationComponent include Header attr_reader :debate - delegate :new_window_link_to, to: :helpers + use_helpers :new_window_link_to def initialize(debate) @debate = debate diff --git a/app/components/debates/votes_component.rb b/app/components/debates/votes_component.rb index 7ebba83cf3c..3a3254657de 100644 --- a/app/components/debates/votes_component.rb +++ b/app/components/debates/votes_component.rb @@ -1,6 +1,6 @@ class Debates::VotesComponent < ApplicationComponent attr_reader :debate - delegate :current_user, :link_to_verify_account, to: :helpers + use_helpers :current_user, :link_to_verify_account def initialize(debate) @debate = debate diff --git a/app/components/documents/document_component.rb b/app/components/documents/document_component.rb index 8f5c7f68af0..12eb56688f9 100644 --- a/app/components/documents/document_component.rb +++ b/app/components/documents/document_component.rb @@ -1,7 +1,7 @@ class Documents::DocumentComponent < ApplicationComponent attr_reader :document, :show_destroy_link alias_method :show_destroy_link?, :show_destroy_link - delegate :can?, to: :helpers + use_helpers :can? def initialize(document, show_destroy_link: false) @document = document diff --git a/app/components/layout/admin_header_component.rb b/app/components/layout/admin_header_component.rb index 3f97f96566f..f28690c53b4 100644 --- a/app/components/layout/admin_header_component.rb +++ b/app/components/layout/admin_header_component.rb @@ -1,6 +1,6 @@ class Layout::AdminHeaderComponent < ApplicationComponent attr_reader :user - delegate :namespace, :namespaced_root_path, :show_admin_menu?, to: :helpers + use_helpers :namespace, :namespaced_root_path, :show_admin_menu? def initialize(user) @user = user diff --git a/app/components/layout/admin_login_items_component.rb b/app/components/layout/admin_login_items_component.rb index 2d7e85587a6..91f0fd7dbbf 100644 --- a/app/components/layout/admin_login_items_component.rb +++ b/app/components/layout/admin_login_items_component.rb @@ -1,6 +1,6 @@ class Layout::AdminLoginItemsComponent < ApplicationComponent attr_reader :user - delegate :link_list, :show_admin_menu?, to: :helpers + use_helpers :link_list, :show_admin_menu? def initialize(user) @user = user diff --git a/app/components/layout/common_html_attributes_component.rb b/app/components/layout/common_html_attributes_component.rb index bface8c6cf3..0d4d8b7412c 100644 --- a/app/components/layout/common_html_attributes_component.rb +++ b/app/components/layout/common_html_attributes_component.rb @@ -1,5 +1,5 @@ class Layout::CommonHTMLAttributesComponent < ApplicationComponent - delegate :rtl?, to: :helpers + use_helpers :rtl? private diff --git a/app/components/layout/footer_component.rb b/app/components/layout/footer_component.rb index 77148401a28..555dde0d87d 100644 --- a/app/components/layout/footer_component.rb +++ b/app/components/layout/footer_component.rb @@ -1,5 +1,5 @@ class Layout::FooterComponent < ApplicationComponent - delegate :content_block, to: :helpers + use_helpers :content_block def footer_legal_content_block content_block("footer_legal") diff --git a/app/components/layout/locale_switcher_component.rb b/app/components/layout/locale_switcher_component.rb index 79433a13e66..304bfd11962 100644 --- a/app/components/layout/locale_switcher_component.rb +++ b/app/components/layout/locale_switcher_component.rb @@ -1,5 +1,5 @@ class Layout::LocaleSwitcherComponent < ApplicationComponent - delegate :name_for_locale, :link_list, :current_path_with_query_params, :rtl?, to: :helpers + use_helpers :name_for_locale, :link_list, :current_path_with_query_params, :rtl? def render? locales.size > 1 diff --git a/app/components/layout/login_items_component.rb b/app/components/layout/login_items_component.rb index 3ee4e6ee08f..8c1e79bce3b 100644 --- a/app/components/layout/login_items_component.rb +++ b/app/components/layout/login_items_component.rb @@ -1,6 +1,6 @@ class Layout::LoginItemsComponent < ApplicationComponent attr_reader :user - delegate :layout_menu_link_to, to: :helpers + use_helpers :layout_menu_link_to def initialize(user) @user = user diff --git a/app/components/layout/social_component.rb b/app/components/layout/social_component.rb index a75bbfdedfd..0dcfd4f6296 100644 --- a/app/components/layout/social_component.rb +++ b/app/components/layout/social_component.rb @@ -1,5 +1,5 @@ class Layout::SocialComponent < ApplicationComponent - delegate :content_block, to: :helpers + use_helpers :content_block def render? sites.any? || footer_content_block.present? diff --git a/app/components/layout/subnavigation_component.rb b/app/components/layout/subnavigation_component.rb index 57f12a68311..6da3b320b92 100644 --- a/app/components/layout/subnavigation_component.rb +++ b/app/components/layout/subnavigation_component.rb @@ -1,3 +1,3 @@ class Layout::SubnavigationComponent < ApplicationComponent - delegate :content_block, :layout_menu_link_to, to: :helpers + use_helpers :content_block, :layout_menu_link_to end diff --git a/app/components/layout/top_links_component.rb b/app/components/layout/top_links_component.rb index 7c5c17f886e..6bbd0e22c3b 100644 --- a/app/components/layout/top_links_component.rb +++ b/app/components/layout/top_links_component.rb @@ -1,5 +1,5 @@ class Layout::TopLinksComponent < ApplicationComponent - delegate :content_block, to: :helpers + use_helpers :content_block def render? top_links_content_block.present? diff --git a/app/components/legislation/proposals/votes_component.rb b/app/components/legislation/proposals/votes_component.rb index 10d16e74fe8..41998a4da1e 100644 --- a/app/components/legislation/proposals/votes_component.rb +++ b/app/components/legislation/proposals/votes_component.rb @@ -1,6 +1,6 @@ class Legislation::Proposals::VotesComponent < ApplicationComponent attr_reader :proposal - delegate :current_user, :link_to_verify_account, :can?, to: :helpers + use_helpers :current_user, :link_to_verify_account, :can? def initialize(proposal) @proposal = proposal diff --git a/app/components/machine_learning/info_component.rb b/app/components/machine_learning/info_component.rb index 2812ed2f23b..f34a1c2b4fe 100644 --- a/app/components/machine_learning/info_component.rb +++ b/app/components/machine_learning/info_component.rb @@ -1,3 +1,3 @@ class MachineLearning::InfoComponent < ApplicationComponent - delegate :current_user, to: :helpers + use_helpers :current_user end diff --git a/app/components/management/budgets/print_investments/table_component.rb b/app/components/management/budgets/print_investments/table_component.rb index 95f896297dd..ff16b8f4134 100644 --- a/app/components/management/budgets/print_investments/table_component.rb +++ b/app/components/management/budgets/print_investments/table_component.rb @@ -1,6 +1,6 @@ class Management::Budgets::PrintInvestments::TableComponent < ApplicationComponent attr_reader :budgets - delegate :paginate, to: :helpers + use_helpers :paginate def initialize(budgets) @budgets = budgets diff --git a/app/components/polls/questions/answers_component.rb b/app/components/polls/questions/answers_component.rb index 0509d8fa7be..cebfbc235a4 100644 --- a/app/components/polls/questions/answers_component.rb +++ b/app/components/polls/questions/answers_component.rb @@ -1,6 +1,6 @@ class Polls::Questions::AnswersComponent < ApplicationComponent attr_reader :question - delegate :can?, :current_user, :user_signed_in?, to: :helpers + use_helpers :can?, :current_user, :user_signed_in? def initialize(question) @question = question diff --git a/app/components/polls/questions/read_more_component.rb b/app/components/polls/questions/read_more_component.rb index 035cc2888e2..f86eafdd146 100644 --- a/app/components/polls/questions/read_more_component.rb +++ b/app/components/polls/questions/read_more_component.rb @@ -1,7 +1,7 @@ class Polls::Questions::ReadMoreComponent < ApplicationComponent with_collection_parameter :question attr_reader :question - delegate :wysiwyg, to: :helpers + use_helpers :wysiwyg def initialize(question:) @question = question diff --git a/app/components/proposals/form_component.rb b/app/components/proposals/form_component.rb index 4ec266d054f..a8af6c6fa44 100644 --- a/app/components/proposals/form_component.rb +++ b/app/components/proposals/form_component.rb @@ -2,7 +2,7 @@ class Proposals::FormComponent < ApplicationComponent include TranslatableFormHelper include GlobalizeHelper attr_reader :proposal, :url - delegate :current_user, :suggest_data, :geozone_select_options, to: :helpers + use_helpers :current_user, :suggest_data, :geozone_select_options def initialize(proposal, url:) @proposal = proposal diff --git a/app/components/proposals/geozones_component.rb b/app/components/proposals/geozones_component.rb index 46021ca2c32..2b620b6b0ed 100644 --- a/app/components/proposals/geozones_component.rb +++ b/app/components/proposals/geozones_component.rb @@ -1,5 +1,5 @@ class Proposals::GeozonesComponent < ApplicationComponent - delegate :image_path_for, to: :helpers + use_helpers :image_path_for def render? Geozone.any? diff --git a/app/components/proposals/new_component.rb b/app/components/proposals/new_component.rb index 4f3bc0c32cf..02f822dea5b 100644 --- a/app/components/proposals/new_component.rb +++ b/app/components/proposals/new_component.rb @@ -1,7 +1,7 @@ class Proposals::NewComponent < ApplicationComponent include Header attr_reader :proposal - delegate :new_window_link_to, to: :helpers + use_helpers :new_window_link_to def initialize(proposal) @proposal = proposal diff --git a/app/components/proposals/votes_component.rb b/app/components/proposals/votes_component.rb index 5718b72eb21..c86a1e5b603 100644 --- a/app/components/proposals/votes_component.rb +++ b/app/components/proposals/votes_component.rb @@ -1,6 +1,6 @@ class Proposals::VotesComponent < ApplicationComponent attr_reader :proposal - delegate :current_user, :link_to_verify_account, to: :helpers + use_helpers :current_user, :link_to_verify_account def initialize(proposal, vote_url: nil) @proposal = proposal diff --git a/app/components/relationable/related_list_component.rb b/app/components/relationable/related_list_component.rb index e84bcd04eda..d0701c375e3 100644 --- a/app/components/relationable/related_list_component.rb +++ b/app/components/relationable/related_list_component.rb @@ -1,6 +1,6 @@ class Relationable::RelatedListComponent < ApplicationComponent attr_reader :relationable - delegate :current_user, to: :helpers + use_helpers :current_user def initialize(relationable) @relationable = relationable diff --git a/app/components/sdg/filter_links_component.rb b/app/components/sdg/filter_links_component.rb index 0af424fdcfd..435a62a3199 100644 --- a/app/components/sdg/filter_links_component.rb +++ b/app/components/sdg/filter_links_component.rb @@ -1,6 +1,6 @@ class SDG::FilterLinksComponent < ApplicationComponent attr_reader :records, :related_model, :see_more_link - delegate :link_list, to: :helpers + use_helpers :link_list def initialize(records, related_model, see_more_link: nil) @records = records diff --git a/app/components/sdg/goals/index_component.rb b/app/components/sdg/goals/index_component.rb index 8dbfe147c02..b61197c2884 100644 --- a/app/components/sdg/goals/index_component.rb +++ b/app/components/sdg/goals/index_component.rb @@ -1,6 +1,6 @@ class SDG::Goals::IndexComponent < ApplicationComponent attr_reader :goals, :header, :phases - delegate :link_list, to: :helpers + use_helpers :link_list def initialize(goals, header:, phases:) @goals = goals diff --git a/app/components/sdg/related_list_selector_component.rb b/app/components/sdg/related_list_selector_component.rb index de9c61a02a7..52de6bf1464 100644 --- a/app/components/sdg/related_list_selector_component.rb +++ b/app/components/sdg/related_list_selector_component.rb @@ -1,6 +1,6 @@ class SDG::RelatedListSelectorComponent < ApplicationComponent attr_reader :f - delegate :new_window_link_to, to: :helpers + use_helpers :new_window_link_to def initialize(form) @f = form diff --git a/app/components/shared/agree_with_terms_of_service_field_component.rb b/app/components/shared/agree_with_terms_of_service_field_component.rb index 26f8f86b8b2..8464c6f8d0a 100644 --- a/app/components/shared/agree_with_terms_of_service_field_component.rb +++ b/app/components/shared/agree_with_terms_of_service_field_component.rb @@ -1,6 +1,6 @@ class Shared::AgreeWithTermsOfServiceFieldComponent < ApplicationComponent attr_reader :form - delegate :new_window_link_to, to: :helpers + use_helpers :new_window_link_to def initialize(form) @form = form diff --git a/app/components/shared/avatar_component.rb b/app/components/shared/avatar_component.rb index 1009360e9bb..a54618ec4b9 100644 --- a/app/components/shared/avatar_component.rb +++ b/app/components/shared/avatar_component.rb @@ -1,6 +1,6 @@ class Shared::AvatarComponent < ApplicationComponent attr_reader :record, :given_options - delegate :avatar_image, to: :helpers + use_helpers :avatar_image def initialize(record, **given_options) @record = record diff --git a/app/components/shared/comments_component.rb b/app/components/shared/comments_component.rb index b517426c94e..f9c9a07ef34 100644 --- a/app/components/shared/comments_component.rb +++ b/app/components/shared/comments_component.rb @@ -1,6 +1,6 @@ class Shared::CommentsComponent < ApplicationComponent attr_reader :record, :comment_tree - delegate :current_user, :current_order, :locale_and_user_status, :commentable_cache_key, to: :helpers + use_helpers :current_user, :current_order, :locale_and_user_status, :commentable_cache_key def initialize(record, comment_tree) @record = record diff --git a/app/components/shared/geozone_link_component.rb b/app/components/shared/geozone_link_component.rb index 33cac101b40..d4e30657668 100644 --- a/app/components/shared/geozone_link_component.rb +++ b/app/components/shared/geozone_link_component.rb @@ -1,6 +1,6 @@ class Shared::GeozoneLinkComponent < ApplicationComponent attr_reader :geozonable, :link - delegate :geozone_name, to: :helpers + use_helpers :geozone_name def initialize(geozonable, link) @geozonable = geozonable diff --git a/app/components/shared/in_favor_against_component.rb b/app/components/shared/in_favor_against_component.rb index ee490ecd6b1..e1b26354991 100644 --- a/app/components/shared/in_favor_against_component.rb +++ b/app/components/shared/in_favor_against_component.rb @@ -1,6 +1,6 @@ class Shared::InFavorAgainstComponent < ApplicationComponent attr_reader :votable - delegate :votes_percentage, to: :helpers + use_helpers :votes_percentage def initialize(votable) @votable = votable diff --git a/app/components/shared/moderation_actions_component.rb b/app/components/shared/moderation_actions_component.rb index f9f287e09fb..8ef82e93b39 100644 --- a/app/components/shared/moderation_actions_component.rb +++ b/app/components/shared/moderation_actions_component.rb @@ -1,6 +1,6 @@ class Shared::ModerationActionsComponent < ApplicationComponent attr_reader :record - delegate :can?, to: :helpers + use_helpers :can? def initialize(record) @record = record diff --git a/app/components/shared/order_links_component.rb b/app/components/shared/order_links_component.rb index 72a82fe4fdd..658806a9040 100644 --- a/app/components/shared/order_links_component.rb +++ b/app/components/shared/order_links_component.rb @@ -1,6 +1,6 @@ class Shared::OrderLinksComponent < ApplicationComponent attr_reader :i18n_namespace, :anchor - delegate :current_path_with_query_params, :current_order, :valid_orders, to: :helpers + use_helpers :current_path_with_query_params, :current_order, :valid_orders def initialize(i18n_namespace, anchor: nil) @i18n_namespace = i18n_namespace diff --git a/app/components/shared/participation_not_allowed_component.rb b/app/components/shared/participation_not_allowed_component.rb index 1cabdb53c1f..53d81a3ab15 100644 --- a/app/components/shared/participation_not_allowed_component.rb +++ b/app/components/shared/participation_not_allowed_component.rb @@ -1,6 +1,6 @@ class Shared::ParticipationNotAllowedComponent < ApplicationComponent attr_reader :votable, :cannot_vote_text - delegate :current_user, :link_to_signin, :link_to_signup, to: :helpers + use_helpers :current_user, :link_to_signin, :link_to_signup def initialize(votable, cannot_vote_text:) @votable = votable diff --git a/app/components/shared/tag_list_component.rb b/app/components/shared/tag_list_component.rb index 4e123f37b62..bef832bc1cb 100644 --- a/app/components/shared/tag_list_component.rb +++ b/app/components/shared/tag_list_component.rb @@ -1,6 +1,6 @@ class Shared::TagListComponent < ApplicationComponent attr_reader :taggable, :limit - delegate :link_list, to: :helpers + use_helpers :link_list def initialize(taggable, limit:) @taggable = taggable diff --git a/app/components/shared/vote_button_component.rb b/app/components/shared/vote_button_component.rb index f71e3e93ce8..1907c1d6dce 100644 --- a/app/components/shared/vote_button_component.rb +++ b/app/components/shared/vote_button_component.rb @@ -1,6 +1,6 @@ class Shared::VoteButtonComponent < ApplicationComponent attr_reader :votable, :value, :options - delegate :current_user, :can?, to: :helpers + use_helpers :current_user, :can? def initialize(votable, value:, **options) @votable = votable diff --git a/app/components/users/public_activity_component.rb b/app/components/users/public_activity_component.rb index 61c1fbb8e5d..1f9269bc09c 100644 --- a/app/components/users/public_activity_component.rb +++ b/app/components/users/public_activity_component.rb @@ -1,6 +1,6 @@ class Users::PublicActivityComponent < ApplicationComponent attr_reader :user - delegate :current_user, :valid_interests_access?, :current_path_with_query_params, to: :helpers + use_helpers :current_user, :valid_interests_access?, :current_path_with_query_params def initialize(user) @user = user diff --git a/app/components/valuation/budgets/row_component.rb b/app/components/valuation/budgets/row_component.rb index 6795f90d9b7..2a14c30f996 100644 --- a/app/components/valuation/budgets/row_component.rb +++ b/app/components/valuation/budgets/row_component.rb @@ -2,7 +2,7 @@ class Valuation::Budgets::RowComponent < ApplicationComponent attr_reader :budget with_collection_parameter :budget - delegate :current_user, to: :helpers + use_helpers :current_user def initialize(budget:) @budget = budget diff --git a/app/components/widget/feeds/process_component.rb b/app/components/widget/feeds/process_component.rb index ab38d08011d..8d0845c2698 100644 --- a/app/components/widget/feeds/process_component.rb +++ b/app/components/widget/feeds/process_component.rb @@ -1,5 +1,5 @@ class Widget::Feeds::ProcessComponent < ApplicationComponent - delegate :image_path_for, to: :helpers + use_helpers :image_path_for attr_reader :process def initialize(process) From 2af1fc72f39e94921589027baadc2110cfc518f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Sat, 2 Mar 2024 04:42:10 +0100 Subject: [PATCH 21/34] Prevent Unable to autoload constant error in tests When running these tests, under certain conditions, we get a warning followed by an error: ``` activesupport-6.1.7.7/lib/active_support/dependencies.rb:502: warning: already initialized constant ActiveStorage::Representations activesupport-6.1.7.7/lib/active_support/dependencies.rb:502: warning: previous definition of Representations was here Failure/Error: raise LoadError, "Unable to autoload constant '#{qualified_name}', expected #{file_path} to define it" LoadError: Unable to autoload constant ActiveStorage::Representations::RedirectController, expected activestorage-6.1.7.7/app/controllers/active_storage/representations/redirect_controller.rb to define it ``` The error seems to take place when we request a page in a test that loads two (or more) ActiveStorage images if ActiveStorage hasn't loaded yet, although it's a flaky error and so the test doesn't always behave like this. We've tested that switching to zeitwerk solves the issue but, since we aren't switching to zeitwerk in version 2.1.1 and we'd like this version to run all tests correctly, for now we're changing the tests so they don't load two records with images. On of these tests ("Polls Index Polls can be listed") fails on my machine when run individually. I haven't been able to consistently reproduce the other ones. --- spec/system/admin/homepage/homepage_spec.rb | 30 +++++++++++---------- spec/system/admin/widgets/cards_spec.rb | 10 ++++--- spec/system/polls/polls_spec.rb | 2 +- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/spec/system/admin/homepage/homepage_spec.rb b/spec/system/admin/homepage/homepage_spec.rb index 274c537bf60..f0f1bec3875 100644 --- a/spec/system/admin/homepage/homepage_spec.rb +++ b/spec/system/admin/homepage/homepage_spec.rb @@ -178,15 +178,16 @@ link_text: "Link1 text", link_url: "consul1.dev") - card2 = create(:widget_card, label: "Card2 label", - title: "Card2 text", - description: "Card2 description", - link_text: "Link2 text", - link_url: "consul2.dev") + # TODO: uncomment again after switching to zeitwerk + # card2 = create(:widget_card, label: "Card2 label", + # title: "Card2 text", + # description: "Card2 description", + # link_text: "Link2 text", + # link_url: "consul2.dev") visit root_path - expect(page).to have_css(".card", count: 2) + expect(page).to have_css(".card", count: 1) # TODO: change to `count: 2 after switching to zeitwerk within("#widget_card_#{card1.id}") do expect(page).to have_content("CARD1 LABEL") @@ -197,14 +198,15 @@ expect(page).to have_css("img[alt='#{card1.image.title}']") end - within("#widget_card_#{card2.id}") do - expect(page).to have_content("CARD2 LABEL") - expect(page).to have_content("CARD2 TEXT") - expect(page).to have_content("Card2 description") - expect(page).to have_content("Link2 text") - expect(page).to have_link(href: "consul2.dev") - expect(page).to have_css("img[alt='#{card2.image.title}']") - end + # TODO: uncomment again after switching to zeitwerk + # within("#widget_card_#{card2.id}") do + # expect(page).to have_content("CARD2 LABEL") + # expect(page).to have_content("CARD2 TEXT") + # expect(page).to have_content("Card2 description") + # expect(page).to have_content("Link2 text") + # expect(page).to have_link(href: "consul2.dev") + # expect(page).to have_css("img[alt='#{card2.image.title}']") + # end end scenario "Recomendations" do diff --git a/spec/system/admin/widgets/cards_spec.rb b/spec/system/admin/widgets/cards_spec.rb index 881d7e0ac41..0563dab8481 100644 --- a/spec/system/admin/widgets/cards_spec.rb +++ b/spec/system/admin/widgets/cards_spec.rb @@ -57,14 +57,16 @@ scenario "Show" do card_1 = create(:widget_card, title: "Card homepage large", columns: 8) - card_2 = create(:widget_card, title: "Card homepage medium", columns: 4) - card_3 = create(:widget_card, title: "Card homepage small", columns: 2) + # TODO: uncomment after switching to zeitwerk + # card_2 = create(:widget_card, title: "Card homepage medium", columns: 4) + # card_3 = create(:widget_card, title: "Card homepage small", columns: 2) visit root_path expect(page).to have_css("#widget_card_#{card_1.id}.medium-8") - expect(page).to have_css("#widget_card_#{card_2.id}.medium-4") - expect(page).to have_css("#widget_card_#{card_3.id}.medium-2") + # TODO: uncomment after switching to zeitwerk + # expect(page).to have_css("#widget_card_#{card_2.id}.medium-4") + # expect(page).to have_css("#widget_card_#{card_3.id}.medium-2") end scenario "Edit" do diff --git a/spec/system/polls/polls_spec.rb b/spec/system/polls/polls_spec.rb index 72a3f60d970..cda25ce3c6e 100644 --- a/spec/system/polls/polls_spec.rb +++ b/spec/system/polls/polls_spec.rb @@ -23,7 +23,7 @@ visit polls_path expect(page).to have_content("There are no open votings") - polls = create_list(:poll, 3, :with_image) + polls = [create(:poll, :with_image)] # TODO: generate a list again after switching to zeitwerk visit polls_path From c480cdd918a9023d802bb1edb7702d4900d27a79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Sat, 2 Mar 2024 23:27:45 +0100 Subject: [PATCH 22/34] Don't create records after a visit in polls tests Creating records after starting the browser with the `visit` method sometimes results in database corruption and failing tests on our CI. Splitting some tests or merging them together solves the issue. --- spec/system/polls/polls_spec.rb | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/spec/system/polls/polls_spec.rb b/spec/system/polls/polls_spec.rb index cda25ce3c6e..ace5c4140a4 100644 --- a/spec/system/polls/polls_spec.rb +++ b/spec/system/polls/polls_spec.rb @@ -6,23 +6,26 @@ end describe "Index" do - scenario "Shows description for open polls" do + scenario "Shows a no open votings message when there are no polls" do visit polls_path + + expect(page).to have_content "There are no open votings" expect(page).not_to have_content "Description for open polls" + end + scenario "Shows active poll description for open polls when defined" do create(:active_poll, description: "Description for open polls") visit polls_path + expect(page).to have_content "Description for open polls" click_link "Expired" + expect(page).not_to have_content "Description for open polls" end scenario "Polls can be listed" do - visit polls_path - expect(page).to have_content("There are no open votings") - polls = [create(:poll, :with_image)] # TODO: generate a list again after switching to zeitwerk visit polls_path @@ -84,14 +87,17 @@ expect(page).not_to have_link("Expired") end - scenario "Displays icon correctly" do + scenario "Displays a message asking anonymous users to sign in" do create_list(:poll, 3) visit polls_path expect(page).to have_css(".not-logged-in", count: 3) expect(page).to have_content("You must sign in or sign up to participate") + end + scenario "Displays a message asking unverified users to verify their account" do + create_list(:poll, 3) user = create(:user) login_as(user) @@ -118,6 +124,8 @@ login_as(create(:user, :level_two)) visit polls_path + expect(page).not_to have_css ".already-answer" + vote_for_poll_via_web(poll_with_question, question, "Yes") visit polls_path @@ -229,11 +237,7 @@ end scenario "Level 1 users" do - visit polls_path - expect(page).not_to have_css ".already-answer" - poll.update!(geozone_restricted_to: [geozone]) - create(:poll_question, :yes_no, poll: poll) login_as(create(:user, geozone: geozone)) From deb8b374e7cd58dea64508a54973de2892ec50fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Sat, 2 Mar 2024 23:32:21 +0100 Subject: [PATCH 23/34] Simplify creating a proposal poll in a test This way we avoid variables starting with underscores, which we don't use almost anywhere else. --- spec/system/polls/polls_spec.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/system/polls/polls_spec.rb b/spec/system/polls/polls_spec.rb index ace5c4140a4..07880bf9957 100644 --- a/spec/system/polls/polls_spec.rb +++ b/spec/system/polls/polls_spec.rb @@ -55,11 +55,11 @@ end scenario "Proposal polls won't be listed" do - proposal = create(:proposal) - _poll = create(:poll, related: proposal) + create(:poll, related: create(:proposal)) visit polls_path - expect(page).to have_content("There are no open votings") + + expect(page).to have_content "There are no open votings" end scenario "Filtering polls" do From a101608ebeb9750881dc23ce4a7a7233c2a883f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Tue, 5 Mar 2024 00:36:12 +0100 Subject: [PATCH 24/34] Fix invalid HTML in comment votes We forgot to change the `span` tag when we replaced links with buttons in commit ba0d21b46. --- app/assets/stylesheets/layout.scss | 5 +++++ app/components/comments/votes_component.html.erb | 8 ++++---- spec/components/comments/votes_component_spec.rb | 8 ++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app/assets/stylesheets/layout.scss b/app/assets/stylesheets/layout.scss index bbe7d56b294..26957cbba2f 100644 --- a/app/assets/stylesheets/layout.scss +++ b/app/assets/stylesheets/layout.scss @@ -1720,6 +1720,11 @@ table { } } + .in-favor, + .against { + display: inline; + } + .in-favor button { @include like-unlike-icon(thumbs-up, $like); } diff --git a/app/components/comments/votes_component.html.erb b/app/components/comments/votes_component.html.erb index 8ef3a829350..75215e984c0 100644 --- a/app/components/comments/votes_component.html.erb +++ b/app/components/comments/votes_component.html.erb @@ -2,17 +2,17 @@ <%= t("comments.comment.votes", count: comment.total_votes) %>  |  - +
<%= render Shared::VoteButtonComponent.new(comment, value: "yes", title: t("votes.agree")) %> <%= comment.total_likes %> - +
- +
<%= render Shared::VoteButtonComponent.new(comment, value: "no", title: t("votes.disagree")) %> <%= comment.total_dislikes %> - +
diff --git a/spec/components/comments/votes_component_spec.rb b/spec/components/comments/votes_component_spec.rb index 59708d71a2b..5c373b0519c 100644 --- a/spec/components/comments/votes_component_spec.rb +++ b/spec/components/comments/votes_component_spec.rb @@ -5,6 +5,14 @@ let(:comment) { create(:comment, user: user) } let(:component) { Comments::VotesComponent.new(comment) } + it "generates valid HTML" do + render_inline component + + expect(page).not_to have_css "span form" + expect(page).to have_css "div.in-favor > form" + expect(page).to have_css "div.against > form" + end + describe "aria-pressed and method attributes" do it "have expected values when the in-favor button is pressed" do comment.vote_by(voter: user, vote: "yes") From 8b3ec8fc79a7eacd5f3adc8ce6b797c76e5af7a0 Mon Sep 17 00:00:00 2001 From: CoslaJohn Date: Thu, 7 Mar 2024 12:08:17 +0000 Subject: [PATCH 25/34] Applied patch to tidy whitespace and add tests --- app/models/geozone.rb | 5 ++- spec/models/geozone_spec.rb | 72 +++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 3 deletions(-) diff --git a/app/models/geozone.rb b/app/models/geozone.rb index eddf5a13f86..d3fc484d5a8 100644 --- a/app/models/geozone.rb +++ b/app/models/geozone.rb @@ -30,8 +30,7 @@ def normalized_coordinates if geojson.present? if geojson.match(/"coordinates"\s*:\s*\[\s*\[\s*\[\s*\[/) coordinates.reduce([], :concat).reduce([], :concat) - elsif geojson.match(/"coordinates"\s*:\s*\[\s*\[\s*\[/) - + elsif geojson.match(/"coordinates"\s*:\s*\[\s*\[\s*\[/) coordinates.reduce([], :concat) else coordinates @@ -40,7 +39,7 @@ def normalized_coordinates [] end end - + def coordinates JSON.parse(geojson)["geometry"]["coordinates"] end diff --git a/spec/models/geozone_spec.rb b/spec/models/geozone_spec.rb index c2b441f10b4..973e611391a 100644 --- a/spec/models/geozone_spec.rb +++ b/spec/models/geozone_spec.rb @@ -76,5 +76,77 @@ [-3.9247799675785, 40.8789131852224]] ) end + + it "handles coordinates with three-dimensional arrays" do + geozone = build(:geozone, geojson: '{ + "geometry": { + "type": "Polygon", + "coordinates": [[[40.8792937308316, -3.9259027239257], + [40.8788966596619, -3.9249047078766], + [40.8789131852224, -3.9247799675785]]] + } + }') + + expect(geozone.outline_points).to eq( + [[-3.9259027239257, 40.8792937308316], + [-3.9249047078766, 40.8788966596619], + [-3.9247799675785, 40.8789131852224]] + ) + end + + it "handles coordinates with three-dimensional arrays with spaces between brackets" do + geozone = build(:geozone, geojson: '{ + "geometry": { + "type": "Polygon", + "coordinates": [[ + [40.8792937308316, -3.9259027239257], + [40.8788966596619, -3.9249047078766], + [40.8789131852224, -3.9247799675785] + ]] + } + }') + + expect(geozone.outline_points).to eq( + [[-3.9259027239257, 40.8792937308316], + [-3.9249047078766, 40.8788966596619], + [-3.9247799675785, 40.8789131852224]] + ) + end + + it "handles coordinates with four-dimensional arrays" do + geozone = build(:geozone, geojson: '{ + "geometry": { + "type": "Polygon", + "coordinates": [[[[40.8792937308316, -3.9259027239257], + [40.8788966596619, -3.9249047078766], + [40.8789131852224, -3.9247799675785]]]] + } + }') + + expect(geozone.outline_points).to eq( + [[-3.9259027239257, 40.8792937308316], + [-3.9249047078766, 40.8788966596619], + [-3.9247799675785, 40.8789131852224]] + ) + end + + it "handles coordinates with four-dimensional arrays with spaces between brackets" do + geozone = build(:geozone, geojson: '{ + "geometry": { + "type": "Polygon", + "coordinates": [[[ + [40.8792937308316, -3.9259027239257], + [40.8788966596619, -3.9249047078766], + [40.8789131852224, -3.9247799675785] + ]]] + } + }') + + expect(geozone.outline_points).to eq( + [[-3.9259027239257, 40.8792937308316], + [-3.9249047078766, 40.8788966596619], + [-3.9247799675785, 40.8789131852224]] + ) + end end end From 3d63238ef6415fb0d32ed9e74b4afb4ec1452006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Wed, 28 Feb 2024 21:03:50 +0100 Subject: [PATCH 26/34] Add missing Spanish translations These texts were added in English in commit 7070b0915, but we forgot to add the texts in Spanish as well. --- config/locales/es/responders.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/es/responders.yml b/config/locales/es/responders.yml index 4a0b7d41570..f35f42a9698 100644 --- a/config/locales/es/responders.yml +++ b/config/locales/es/responders.yml @@ -17,6 +17,7 @@ es: support: "Proyecto de gasto apoyado correctamente" topic: "Tema creado correctamente." valuator_group: "Grupo de evaluadores creado correctamente" + vote: "Voto creado correctamente" save_changes: notice: Cambios guardados update: @@ -35,3 +36,4 @@ es: topic: "Tema eliminado." poll_question_answer_video: "VĂ­deo de respuesta eliminado." valuator_group: "Grupo de evaluadores eliminado correctamente" + vote: "Voto eliminado correctamente" From d921eee30df233c1eb2f891951b50dcbea9f7d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 23 Feb 2024 16:03:17 +0100 Subject: [PATCH 27/34] Update Code Climate Rubocop version Code Climate was failing to analyze our repo because their rubocop 1.31 doesn't support rubocop-capybara. Since we're using rubocop 1.56.4 in our code, we're going to use version 1.56.3 for Code Climate which, at the time of writing, is the latest available version in Code Climate. --- .codeclimate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codeclimate.yml b/.codeclimate.yml index 04f68683d25..bbc3f989e14 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -1,7 +1,7 @@ engines: rubocop: enabled: true - channel: rubocop-1-31-0 + channel: rubocop-1-56-3 duplication: enabled: true config: From 8ba37b295a7a6fe0fe0b584b089751774768f666 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Mon, 18 Mar 2024 15:09:17 +0100 Subject: [PATCH 28/34] Temporarily disable a test that fails sometimes This test is failing often due to an "Unable to autoload constant" error, that will be fixed after switching to zeitwerk. Just like it happened in the the "Polls can be listed" test, the reason seems to be accessing a page containing several ActiveStorage attachments. However, since this test only makes sense when two or more images are displayed on the page, we can't change the test so create just one image. So, for now, we're commenting the test, and we'll uncomment it again when we enable zeitwerk in version 2.2.0. --- spec/system/polls/polls_spec.rb | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/spec/system/polls/polls_spec.rb b/spec/system/polls/polls_spec.rb index 07880bf9957..bf00eb20ac2 100644 --- a/spec/system/polls/polls_spec.rb +++ b/spec/system/polls/polls_spec.rb @@ -210,23 +210,24 @@ expect("Second question").to appear_before("Third question") end - scenario "Buttons to slide through images work back and forth" do - question = create(:poll_question, :yes_no, poll: poll) - create(:image, imageable: question.question_answers.last, title: "The no movement") - create(:image, imageable: question.question_answers.last, title: "No movement planning") + # TODO: uncomment after switching to zeitwerk + # scenario "Buttons to slide through images work back and forth" do + # question = create(:poll_question, :yes_no, poll: poll) + # create(:image, imageable: question.question_answers.last, title: "The no movement") + # create(:image, imageable: question.question_answers.last, title: "No movement planning") - visit poll_path(poll) + # visit poll_path(poll) - within(".orbit-bullets") do - find("[data-slide='1']").click + # within(".orbit-bullets") do + # find("[data-slide='1']").click - expect(page).to have_css ".is-active[data-slide='1']" + # expect(page).to have_css ".is-active[data-slide='1']" - find("[data-slide='0']").click + # find("[data-slide='0']").click - expect(page).to have_css ".is-active[data-slide='0']" - end - end + # expect(page).to have_css ".is-active[data-slide='0']" + # end + # end scenario "Non-logged in users" do create(:poll_question, :yes_no, poll: poll) From 1a22db8b17ec912c56778929a827043ed553e010 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 22 Feb 2024 22:54:50 +0100 Subject: [PATCH 29/34] Fix link to debates help This link used to open in a new window, and we accidentally changed that behavior while refactoring it in commit c2710de5f. Since we're adding a test for this case, and the Proposals::NewComponent class is similar, we're adding a test for that class too. In the case of proposals, we need to sign in a user because the proposals form contains fields to attach image, that currently rely on a user being signed in. --- app/components/debates/new_component.html.erb | 2 +- spec/components/debates/new_component_spec.rb | 15 +++++++++++++++ spec/components/proposals/new_component_spec.rb | 16 ++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 spec/components/debates/new_component_spec.rb create mode 100644 spec/components/proposals/new_component_spec.rb diff --git a/app/components/debates/new_component.html.erb b/app/components/debates/new_component.html.erb index 17fb6c9b9de..1335ca037e3 100644 --- a/app/components/debates/new_component.html.erb +++ b/app/components/debates/new_component.html.erb @@ -2,7 +2,7 @@ <%= back_link_to debates_path, t("debates.index.section_header.title") %> <%= header do %> - <%= link_to t("debates.new.more_info"), help_path(anchor: "debates") %> + <%= new_window_link_to t("debates.new.more_info"), help_path(anchor: "debates") %> <% end %>