decidim-dev 0.26.2 → 0.27.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/dummy_resources/create_dummy_resource.rb +1 -1
  3. data/app/controllers/concerns/decidim/dev/needs_development_tools.rb +1 -1
  4. data/config/locales/am-ET.yml +1 -0
  5. data/config/locales/ar.yml +1 -0
  6. data/config/locales/bg.yml +1 -0
  7. data/config/locales/ca.yml +1 -0
  8. data/config/locales/cs.yml +1 -0
  9. data/config/locales/da.yml +1 -0
  10. data/config/locales/de.yml +1 -0
  11. data/config/locales/el.yml +1 -0
  12. data/config/locales/eo.yml +1 -0
  13. data/config/locales/es-MX.yml +1 -0
  14. data/config/locales/es-PY.yml +1 -0
  15. data/config/locales/es.yml +1 -0
  16. data/config/locales/et.yml +1 -0
  17. data/config/locales/eu.yml +1 -0
  18. data/config/locales/fi-plain.yml +1 -0
  19. data/config/locales/fi.yml +1 -0
  20. data/config/locales/fr-CA.yml +1 -0
  21. data/config/locales/fr.yml +1 -0
  22. data/config/locales/ga-IE.yml +1 -0
  23. data/config/locales/gl.yml +1 -0
  24. data/config/locales/hr.yml +1 -0
  25. data/config/locales/hu.yml +1 -0
  26. data/config/locales/id-ID.yml +1 -0
  27. data/config/locales/is-IS.yml +2 -1
  28. data/config/locales/it.yml +1 -0
  29. data/config/locales/ja.yml +1 -0
  30. data/config/locales/ko.yml +1 -0
  31. data/config/locales/lb.yml +1 -0
  32. data/config/locales/lt.yml +1 -0
  33. data/config/locales/lv.yml +1 -0
  34. data/config/locales/mt.yml +1 -0
  35. data/config/locales/nl.yml +1 -0
  36. data/config/locales/no.yml +1 -0
  37. data/config/locales/om-ET.yml +1 -0
  38. data/config/locales/pl.yml +1 -0
  39. data/config/locales/pt-BR.yml +2 -1
  40. data/config/locales/pt.yml +1 -0
  41. data/config/locales/ro-RO.yml +1 -0
  42. data/config/locales/ru.yml +1 -0
  43. data/config/locales/si-LK.yml +1 -0
  44. data/config/locales/sk.yml +1 -0
  45. data/config/locales/sl.yml +1 -0
  46. data/config/locales/so-SO.yml +1 -0
  47. data/config/locales/sr-CS.yml +1 -0
  48. data/config/locales/sv.yml +1 -0
  49. data/config/locales/sw-KE.yml +1 -0
  50. data/config/locales/ti-ER.yml +1 -0
  51. data/config/locales/tr-TR.yml +1 -0
  52. data/config/locales/uk.yml +1 -0
  53. data/config/locales/val-ES.yml +1 -0
  54. data/config/locales/vi.yml +1 -0
  55. data/config/locales/zh-CN.yml +1 -0
  56. data/config/locales/zh-TW.yml +1 -0
  57. data/lib/decidim/dev/assets/geocoder_result_here.json +46 -67
  58. data/lib/decidim/dev/assets/logo.png +0 -0
  59. data/lib/decidim/dev/common_rake.rb +1 -0
  60. data/lib/decidim/dev/railtie.rb +1 -1
  61. data/lib/decidim/dev/test/base_spec_helper.rb +2 -1
  62. data/lib/decidim/dev/test/rspec_support/attachment_helpers.rb +30 -0
  63. data/lib/decidim/dev/test/rspec_support/autocomplete_select.rb +23 -0
  64. data/lib/decidim/dev/test/rspec_support/capybara.rb +43 -5
  65. data/lib/decidim/dev/test/rspec_support/comments.rb +1 -1
  66. data/lib/decidim/dev/test/rspec_support/component.rb +5 -5
  67. data/lib/decidim/dev/test/rspec_support/controller_example_group.rb +27 -0
  68. data/lib/decidim/dev/test/rspec_support/cookies.rb +41 -0
  69. data/lib/decidim/dev/test/rspec_support/dynamic_attach.rb +31 -0
  70. data/lib/decidim/dev/test/rspec_support/frontend.rb +1 -1
  71. data/lib/decidim/dev/test/rspec_support/geocoder.rb +6 -2
  72. data/lib/decidim/dev/test/rspec_support/html_matchers.rb +11 -0
  73. data/lib/decidim/dev/test/rspec_support/imports_controller_shared_examples.rb +3 -8
  74. data/lib/decidim/dev/test/rspec_support/network_conditions_helpers.rb +18 -0
  75. data/lib/decidim/dev/test/rspec_support/rake_tasks.rb +0 -2
  76. data/lib/decidim/dev/test/rspec_support/screenshot_helper.rb +41 -0
  77. data/lib/decidim/dev/test/rspec_support/warden.rb +5 -0
  78. data/lib/decidim/dev/test/rspec_support/wicked_pdf_assets_mock.rb +4 -0
  79. data/lib/decidim/dev/test/spec_helper.rb +2 -4
  80. data/lib/decidim/dev/test/w3c_rspec_validators_overrides.rb +0 -2
  81. data/lib/decidim/dev/version.rb +1 -1
  82. data/lib/decidim-dev.rb +1 -1
  83. data/lib/tasks/generators.rake +6 -2
  84. data/lib/tasks/lighthouse_report.rake +29 -0
  85. data/lib/tasks/locale_checker.rake +1 -1
  86. metadata +48 -41
  87. data/lib/decidim/dev/test/rspec_support/react_select.rb +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50132c260ef4765031cd76d2d2b40ee595486116921450818d44ae17bf7100a5
4
- data.tar.gz: 02e66c8ef8a84cb593d335632144e7887aa03608dad84b219dee2f2fa5b39934
3
+ metadata.gz: 352297a2285a46b08d1d758ef879cb997dd0c4cd6fc5d4413a3db9503ba04a24
4
+ data.tar.gz: '0099b3b7b5e6566b5f3f3dfb1c44cbf5e3e871b976e8e453d3d668e2a4f161cb'
5
5
  SHA512:
6
- metadata.gz: 76f5ff5c1c7730b950ede51f2dffab919de04281e14861703aedb772b8e921a31d616079108990b3b118ed13c5473d6ec1229af8c37239d73c65258714ddd417
7
- data.tar.gz: e8b43ab5c1aea1fdb0c5da52075bbcdb2921a79583892c1908e32c6e11861176bb022b244f375d5c09d0509010ffa2ac5c5f103d5cf1a9e72f9a750578485f76
6
+ metadata.gz: 3dff37974008ead98152ef3f156e3f73e082af7477c72c84c0f5e8f18204510d3a3c46605a88842289da7a57e228e2f2da3744d9aab59de2497f8aca5e5075e9
7
+ data.tar.gz: ed2983e1a820fa3686cf6f5a7cae8d64d9aaf4e473ccda2952f291d795ffe87f95555864d30c56b91523a4ce0ee003b1d1dd3eefa8226c96266ea2a59b183537
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  module DummyResources
5
- class CreateDummyResource < Rectify::Command
5
+ class CreateDummyResource < Decidim::Command
6
6
  include Decidim::AttachmentMethods
7
7
  include Decidim::GalleryMethods
8
8
 
@@ -18,7 +18,7 @@ module Decidim
18
18
  return unless respond_to?(:snippets)
19
19
 
20
20
  snippets.add(:head, helpers.stylesheet_pack_tag("decidim_dev"))
21
- snippets.add(:head, helpers.javascript_pack_tag("decidim_dev"))
21
+ snippets.add(:foot, helpers.javascript_pack_tag("decidim_dev", defer: false))
22
22
  end
23
23
  end
24
24
  end
@@ -1 +1,2 @@
1
+ ---
1
2
  am:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ar:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  bg:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ca:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  cs:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  da:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  de:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  el:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  eo:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  es-MX:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  es-PY:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  es:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  et:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  eu:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  fi-pl:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  fi:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  fr-CA:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  fr:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ga:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  gl:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  hr:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  hu:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  id:
2
3
  activemodel:
3
4
  attributes:
@@ -1,4 +1,5 @@
1
- is-IS:
1
+ ---
2
+ is:
2
3
  activemodel:
3
4
  attributes:
4
5
  dummy_resource:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  it:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ja:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  ko:
@@ -1 +1,2 @@
1
+ ---
1
2
  lb:
@@ -1 +1,2 @@
1
+ ---
1
2
  lt:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  lv:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  mt:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  nl:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  "no":
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  om:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  pl:
2
3
  activemodel:
3
4
  attributes:
@@ -1,4 +1,5 @@
1
- pt-BR:
1
+ ---
2
+ pt:
2
3
  activemodel:
3
4
  attributes:
4
5
  dummy_resource:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  pt:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ro:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ru:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  si:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  sk:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  sl:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  so:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  sr:
2
3
  decidim:
3
4
  components:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  sv:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  sw:
@@ -1 +1,2 @@
1
+ ---
1
2
  ti:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  tr:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  uk:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  val:
@@ -1 +1,2 @@
1
+ ---
1
2
  vi:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  zh-CN:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  zh-TW:
@@ -1,72 +1,51 @@
1
1
  {
2
- "Response": {
3
- "MetaInfo": {
4
- "Timestamp": "2013-02-08T16:26:39.382+0000"
2
+ "items": [
3
+ {
4
+ "title": "5 Rue Daunou, 75002 Paris, France",
5
+ "id": "here:af:streetsection:bI4Le6cyA.1mlQyLunYpjC:CggIBCCi-9SPARABGgE1KGQ",
6
+ "resultType": "houseNumber",
7
+ "houseNumberType": "PA",
8
+ "address": {
9
+ "label": "5 Rue Daunou, 75002 Paris, France",
10
+ "countryCode": "FRA",
11
+ "countryName": "France",
12
+ "stateCode": "IDF",
13
+ "state": "Île-de-France",
14
+ "county": "Paris",
15
+ "city": "Paris",
16
+ "district": "2e Arrondissement",
17
+ "street": "Rue Daunou",
18
+ "postalCode": "75002",
19
+ "houseNumber": "5"
5
20
  },
6
- "View": [
21
+ "position": {
22
+ "lat": 48.86926,
23
+ "lng": 2.3321
24
+ },
25
+ "access": [
7
26
  {
8
- "_type": "SearchResultsViewType",
9
- "ViewId": 0,
10
- "Result": [
11
- {
12
- "Relevance": 1.0,
13
- "MatchLevel": "houseNumber",
14
- "MatchQuality": {
15
- "State": 1.0,
16
- "City": 1.0,
17
- "Street": [
18
- 1.0
19
- ],
20
- "HouseNumber": 1.0
21
- },
22
- "MatchType": "pointAddress",
23
- "Location": {
24
- "LocationId": "NT_ArsGdYbpo6dqjPQel9gTID_4",
25
- "LocationType": "point",
26
- "DisplayPosition": {
27
- "Latitude": 40.7504692,
28
- "Longitude": -73.9933777
29
- },
30
- "NavigationPosition": [
31
- {
32
- "Latitude": 40.7500305,
33
- "Longitude": -73.9942398
34
- }
35
- ],
36
- "MapView": {
37
- "TopLeft": {
38
- "Latitude": 40.7515934,
39
- "Longitude": -73.9948616
40
- },
41
- "BottomRight": {
42
- "Latitude": 40.7493451,
43
- "Longitude": -73.9918938
44
- }
45
- },
46
- "Address": {
47
- "Label": "4 Penn Plz, New York, NY 10001, United States",
48
- "Country": "USA",
49
- "State": "NY",
50
- "County": "New York",
51
- "City": "New York",
52
- "Street": "Penn Plz",
53
- "HouseNumber": "4",
54
- "PostalCode": "10001",
55
- "AdditionalData": [
56
- {
57
- "value": "United States",
58
- "key": "CountryName"
59
- },
60
- {
61
- "value": "New York",
62
- "key": "StateName"
63
- }
64
- ]
65
- }
66
- }
67
- }
68
- ]
27
+ "lat": 48.86931,
28
+ "lng": 2.33215
29
+ }
30
+ ],
31
+ "mapView": {
32
+ "west": 2.33073,
33
+ "south": 48.86836,
34
+ "east": 2.33347,
35
+ "north": 48.87016
36
+ },
37
+ "scoring": {
38
+ "queryScore": 0.97,
39
+ "fieldScore": {
40
+ "country": 1,
41
+ "city": 1,
42
+ "streets": [
43
+ 1
44
+ ],
45
+ "houseNumber": 1,
46
+ "postalCode": 0.82
69
47
  }
70
- ]
48
+ }
71
49
  }
72
- }
50
+ ]
51
+ }
Binary file
@@ -3,6 +3,7 @@
3
3
  require "bundler/gem_tasks"
4
4
  require "rspec/core/rake_task"
5
5
  require "decidim/dev"
6
+ require "parallel_tests/tasks"
6
7
 
7
8
  RSpec::Core::RakeTask.new(:spec) do |t|
8
9
  t.rspec_opts = "--format progress --format RspecJunitFormatter -o ~/rspec/rspec.xml" if ENV["CI"]
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "rails"
3
+ require "decidim/rails"
4
4
 
5
5
  module Decidim
6
6
  module Dev
@@ -3,6 +3,7 @@
3
3
  require "decidim/dev"
4
4
 
5
5
  ENV["RAILS_ENV"] ||= "test"
6
+ ENV["RAILS_SYSTEM_TESTING_SCREENSHOT_HTML"] ||= "1"
6
7
 
7
8
  engine_spec_dir = File.join(Dir.pwd, "spec")
8
9
 
@@ -18,7 +19,7 @@ require_relative "rspec_support/authorization"
18
19
 
19
20
  require "#{Decidim::Dev.dummy_app_path}/config/environment"
20
21
 
21
- Dir["#{engine_spec_dir}/shared/**/*.rb"].sort.each { |f| require f }
22
+ Dir["#{engine_spec_dir}/shared/**/*.rb"].each { |f| require f }
22
23
 
23
24
  require "paper_trail/frameworks/rspec"
24
25
 
@@ -9,6 +9,36 @@ module AttachmentHelpers
9
9
  def attachment_file_size(attachment)
10
10
  ActiveSupport::NumberHelper.number_to_human_size(attachment.file_size)
11
11
  end
12
+
13
+ # Creates ActiveStorage::Blob object and returns its signed_id
14
+ # Used in non-system tests that need files.
15
+ def upload_test_file(file, options = {})
16
+ filename = options[:filename] || upload_test_file_filename(file)
17
+ content_type = options[:content_type] || upload_test_file_content_type(file)
18
+
19
+ blob = ActiveStorage::Blob.create_and_upload!(
20
+ io: File.open(file),
21
+ filename: filename,
22
+ content_type: content_type
23
+ )
24
+ return blob if options[:return_blob]
25
+
26
+ blob.signed_id
27
+ end
28
+
29
+ private
30
+
31
+ def upload_test_file_filename(file)
32
+ return file.original_filename if file.respond_to? :original_filename
33
+
34
+ file.split("/").last
35
+ end
36
+
37
+ def upload_test_file_content_type(file)
38
+ return file.content_type if file.respond_to? :content_type
39
+
40
+ MIME::Types.type_for(file).first.content_type
41
+ end
12
42
  end
13
43
 
14
44
  RSpec.configure do |config|
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Capybara
4
+ module AutoCompleteJS
5
+ def autocomplete_select(value, from:)
6
+ within("div[data-autocomplete-for='#{from}']") do
7
+ find(".autocomplete-input").click
8
+ find(".autocomplete-input").native.send_keys(value[0..4])
9
+ expect(page).to have_css("#autoComplete_list_1") # select should be open now
10
+
11
+ expect(page).to have_css("#autoComplete_result_0", text: value)
12
+ find("#autoComplete_result_0", text: value).hover
13
+ expect(page).to have_css("#autoComplete_result_0", text: value)
14
+ find("#autoComplete_result_0", text: value).click
15
+ expect(page).to have_css(".autocomplete__selected-item", text: value)
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ RSpec.configure do |config|
22
+ config.include Capybara::AutoCompleteJS, type: :system
23
+ end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "selenium-webdriver"
4
- require "system_test_html_screenshots"
5
4
 
6
5
  module Decidim
7
6
  # Helpers meant to be used only during capybara test runs.
@@ -32,11 +31,40 @@ Capybara.register_driver :headless_chrome do |app|
32
31
  else
33
32
  "--window-size=1920,1080"
34
33
  end
34
+ Capybara::Selenium::Driver.new(
35
+ app,
36
+ browser: :chrome,
37
+ capabilities: [options]
38
+ )
39
+ end
40
+
41
+ Capybara.server_port = rand(5000..6999)
42
+
43
+ # In order to work with PWA apps, Chrome can't be run in headless mode, and requires
44
+ # setting up special prefs and flags
45
+ Capybara.register_driver :pwa_chrome do |app|
46
+ options = ::Selenium::WebDriver::Chrome::Options.new
47
+ options.args << "--no-sandbox"
48
+ # Don't limit browser resources
49
+ options.args << "--disable-dev-shm-usage"
50
+ # Add pwa.lvh.me host as a secure origin
51
+ options.args << "--unsafely-treat-insecure-origin-as-secure=http://pwa.lvh.me:#{Capybara.server_port}"
52
+ # User data flag is mandatory when preferences and locale state is set
53
+ options.args << "--user-data-dir=/tmp/decidim_tests_user_data_#{rand(1000)}"
54
+ options.args << if ENV["BIG_SCREEN_SIZE"].present?
55
+ "--window-size=1920,3000"
56
+ else
57
+ "--window-size=1920,1080"
58
+ end
59
+ # Set notifications allowed in http protocol
60
+ options.local_state["browser.enabled_labs_experiments"] = ["enable-system-notifications@1", "unsafely-treat-insecure-origin-as-secure"]
61
+ # Mark notification permission as enabled
62
+ options.prefs["profile.default_content_setting_values.notifications"] = 1
35
63
 
36
64
  Capybara::Selenium::Driver.new(
37
65
  app,
38
66
  browser: :chrome,
39
- options: options
67
+ capabilities: [options]
40
68
  )
41
69
  end
42
70
 
@@ -49,11 +77,11 @@ Capybara.register_driver :iphone do |app|
49
77
  Capybara::Selenium::Driver.new(
50
78
  app,
51
79
  browser: :chrome,
52
- options: options
80
+ capabilities: [options]
53
81
  )
54
82
  end
55
83
 
56
- Capybara.server = :puma, { Silent: true, Threads: "1:1" }
84
+ Capybara.server = :puma, { Silent: true, queue_requests: false }
57
85
 
58
86
  Capybara.asset_host = "http://localhost:3000"
59
87
 
@@ -65,6 +93,16 @@ RSpec.configure do |config|
65
93
  config.before :each, type: :system do
66
94
  driven_by(:headless_chrome)
67
95
  switch_to_default_host
96
+ domain = (try(:organization) || try(:current_organization))&.host
97
+ if domain
98
+ page.driver.browser.execute_cdp(
99
+ "Network.setCookie",
100
+ domain: domain,
101
+ name: Decidim.consent_cookie_name,
102
+ value: { essential: true }.to_json,
103
+ path: "/"
104
+ )
105
+ end
68
106
  end
69
107
 
70
108
  config.before :each, driver: :rack_test do
@@ -80,7 +118,7 @@ RSpec.configure do |config|
80
118
  end
81
119
 
82
120
  config.after(type: :system) do |example|
83
- warn page.driver.browser.manage.logs.get(:browser) unless example.metadata[:driver].eql?(:rack_test)
121
+ warn page.driver.browser.logs.get(:browser) unless example.metadata[:driver].eql?(:rack_test)
84
122
  end
85
123
 
86
124
  config.include Decidim::CapybaraTestHelpers, type: :system
@@ -3,7 +3,7 @@
3
3
  module CommentsHelpers
4
4
  def have_comment_from(user, text, opts = {})
5
5
  within "#comments" do
6
- have_content(user.name, opts) && have_content(text, opts)
6
+ have_content(user.name, **opts) && have_content(text, **opts)
7
7
  end
8
8
  end
9
9