decidim-dev 0.29.1 → 0.30.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/decidim/dev/dummy_resource.rb +2 -0
  3. data/app/permissions/decidim/dev/permissions.rb +22 -0
  4. data/app/views/decidim/dev/dummy_resources/show.html.erb +1 -1
  5. data/config/locales/ar.yml +4 -1
  6. data/config/locales/bg.yml +1 -1
  7. data/config/locales/bn-BD.yml +1 -0
  8. data/config/locales/bs-BA.yml +9 -0
  9. data/config/locales/ca.yml +6 -1
  10. data/config/locales/cs.yml +6 -1
  11. data/config/locales/de.yml +6 -1
  12. data/config/locales/el.yml +1 -1
  13. data/config/locales/en.yml +5 -0
  14. data/config/locales/es-MX.yml +6 -1
  15. data/config/locales/es-PY.yml +6 -1
  16. data/config/locales/es.yml +6 -1
  17. data/config/locales/eu.yml +9 -4
  18. data/config/locales/fi-plain.yml +6 -1
  19. data/config/locales/fi.yml +6 -1
  20. data/config/locales/fr-CA.yml +4 -1
  21. data/config/locales/fr.yml +4 -1
  22. data/config/locales/gl.yml +1 -1
  23. data/config/locales/hu.yml +1 -1
  24. data/config/locales/id-ID.yml +1 -1
  25. data/config/locales/it.yml +1 -1
  26. data/config/locales/ja.yml +6 -1
  27. data/config/locales/lt.yml +1 -1
  28. data/config/locales/lv.yml +1 -1
  29. data/config/locales/nl.yml +1 -1
  30. data/config/locales/no.yml +1 -1
  31. data/config/locales/pl.yml +1 -1
  32. data/config/locales/pt-BR.yml +1 -1
  33. data/config/locales/pt.yml +1 -1
  34. data/config/locales/ro-RO.yml +1 -1
  35. data/config/locales/ru.yml +1 -1
  36. data/config/locales/sk.yml +1 -1
  37. data/config/locales/sv.yml +16 -6
  38. data/config/locales/tr-TR.yml +1 -1
  39. data/config/locales/zh-CN.yml +1 -1
  40. data/config/locales/zh-TW.yml +1 -1
  41. data/config/rubocop/disabled.yml +0 -27
  42. data/config/rubocop/faker.yml +1 -1
  43. data/config/rubocop/graphql.yml +23 -0
  44. data/config/rubocop/rspec.yml +1 -0
  45. data/config/rubocop/ruby.yml +1 -1
  46. data/decidim-dev.gemspec +13 -7
  47. data/lib/decidim/dev/auth_engine.rb +2 -0
  48. data/lib/decidim/dev/component.rb +2 -2
  49. data/lib/decidim/dev/test/rspec_support/capybara.rb +10 -25
  50. data/lib/decidim/dev/test/rspec_support/component.rb +2 -0
  51. data/lib/decidim/dev/test/rspec_support/component_context.rb +13 -7
  52. data/lib/decidim/dev/test/rspec_support/confirmation_helpers.rb +4 -4
  53. data/lib/decidim/dev/test/rspec_support/controller_example_group.rb +8 -0
  54. data/lib/decidim/dev/test/rspec_support/geocoder.rb +13 -0
  55. data/lib/decidim/dev/test/rspec_support/screenshot_helper.rb +2 -2
  56. data/lib/decidim/dev/version.rb +1 -1
  57. data/lib/tasks/generators.rake +2 -1
  58. data/lib/tasks/lighthouse_report.rake +3 -3
  59. data/rubocop-decidim.yml +1 -0
  60. metadata +104 -23
  61. data/lib/decidim/dev/test/rspec_support/wicked_pdf_assets_mock.rb +0 -21
@@ -29,7 +29,7 @@ ru:
29
29
  badges:
30
30
  test:
31
31
  conditions:
32
- - Используйте тестовую среду для decidim.
32
+ - Используйте тестовую среду для decidim.
33
33
  description: Участники получают этот значок за написание тестов.
34
34
  description_another: Этот участник написал %{score} тестов.
35
35
  description_own: Вы написали %{score} тест.
@@ -31,7 +31,7 @@ sk:
31
31
  badges:
32
32
  test:
33
33
  conditions:
34
- - Použiť testovacie prostredie pre decidim.
34
+ - Použiť testovacie prostredie pre decidim.
35
35
  description: Účastníci dostanú tento odznak za vytváranie testov.
36
36
  description_another: Tento účastník vytvoril %{score} testov.
37
37
  description_own: Vytvorili ste %{score} testov.
@@ -2,6 +2,9 @@
2
2
  sv:
3
3
  activemodel:
4
4
  attributes:
5
+ dummy:
6
+ image: Bild
7
+ dummy_attribute: Testattribut
5
8
  dummy_resource:
6
9
  created_at: Skapad
7
10
  decidim_scope_id: Indelning
@@ -15,14 +18,20 @@ sv:
15
18
  dummy:
16
19
  settings:
17
20
  global:
18
- guided: Guidad ingång
21
+ clear_all: Rensa alla
22
+ guided: Guidad inmatning
19
23
  guided_help: Hjälptext
24
+ guided_readonly: Inmatning inaktiverad
25
+ guided_rich: Guidad formatterad textinmatning
26
+ guided_rich_help_html: HTML <strong>hjälp</strong>-text
27
+ guided_rich_readonly_html: HTML <strong>hjälp</strong>-text för inaktiverad inmatning
20
28
  readonly_attribute: Skrivskyddat attribut
21
29
  test: Ett test
30
+ test_add: Lägg till test
22
31
  test_choices:
23
- a: Ett val
24
- b: B val
25
- c: C val
32
+ a: Alternativ A
33
+ b: Alternativ B
34
+ c: Alternativ C
26
35
  test_options:
27
36
  bar: Bar
28
37
  baz: Baz
@@ -30,7 +39,7 @@ sv:
30
39
  step:
31
40
  endorsements_blocked: Blockera gilla-markeringar
32
41
  endorsements_enabled: Aktivera gilla-markeringar
33
- readonly_step_attribute: Skrivskyddade steg attribut
42
+ readonly_step_attribute: Attribut för skrivskyddat steg
34
43
  test_options:
35
44
  bar: Bar
36
45
  baz: Baz
@@ -43,12 +52,13 @@ sv:
43
52
  badges:
44
53
  test:
45
54
  conditions:
46
- - Använd en testmiljö för decidim.
55
+ - Använd en testmiljö för decidim.
47
56
  description: Deltagare får detta märke genom att skapa tester.
48
57
  description_another: Deltagaren har skapat %{score} tester.
49
58
  description_own: Du har skapat %{score} tester.
50
59
  name: Tester
51
60
  next_level_in: Skapa %{score} till tester för att nå nästa nivå!
61
+ unearned_another: Den här deltagaren har inte skapat några tester än.
52
62
  unearned_own: Du har inte skapat några tester än.
53
63
  resource_links:
54
64
  test_link:
@@ -39,7 +39,7 @@ tr:
39
39
  badges:
40
40
  test:
41
41
  conditions:
42
- - Decidim için bir test ortamı kullanın.
42
+ - Decidim için bir test ortamı kullanın.
43
43
  description: Katılımcılar testler oluşturarak bu rozeti alırlar.
44
44
  description_another: Bu katılımcı %{score} test oluşturdu.
45
45
  description_own: '%{score} test oluşturdunuz.'
@@ -39,7 +39,7 @@ zh-CN:
39
39
  badges:
40
40
  test:
41
41
  conditions:
42
- - 对判定环境使用测试环境。
42
+ - 对判定环境使用测试环境。
43
43
  description: 参与者通过创建测试获得这个徽章。
44
44
  description_another: 此参与者已创建了 %{score} 个测试。
45
45
  description_own: 您已创建了 %{score} 个测试。
@@ -47,7 +47,7 @@ zh-TW:
47
47
  badges:
48
48
  test:
49
49
  conditions:
50
- - 在Decidim中使用測試環境。
50
+ - 在Decidim中使用測試環境。
51
51
  description: 參與者通過建立測試可獲得此徽章。
52
52
  description_another: 此參與者已建立了 %{score} 個測試。
53
53
  description_own: 您已建立了 %{score} 個測試。
@@ -10,9 +10,6 @@ Naming/MemoizedInstanceVariableName:
10
10
  RSpec/VerifiedDoubleReference:
11
11
  Enabled: false
12
12
 
13
- FactoryBot/ConsistentParenthesesStyle:
14
- Enabled: false
15
-
16
13
  FactoryBot/ExcessiveCreateList:
17
14
  Enabled: false
18
15
 
@@ -43,29 +40,5 @@ FactoryBot/AssociationStyle:
43
40
  Rubycw/Rubycw:
44
41
  Enabled: false
45
42
 
46
- Lint/SymbolConversion:
47
- Enabled: false
48
-
49
- Style/RedundantParentheses:
50
- Enabled: false
51
-
52
- Style/MapIntoArray:
53
- Enabled: false
54
-
55
- Style/SuperWithArgsParentheses:
56
- Enabled: false
57
-
58
- Style/ArgumentsForwarding:
59
- Enabled: false
60
-
61
- Style/SuperArguments:
62
- Enabled: false
63
-
64
43
  Lint/SelfAssignment:
65
44
  Enabled: false
66
-
67
- Style/SendWithLiteralMethodName:
68
- Enabled: false
69
-
70
- Rails/WhereRange:
71
- Enabled: false
@@ -172,7 +172,7 @@ Faker/DeprecatedArguments:
172
172
  paragraph_by_chars:
173
173
  - characters
174
174
  - supplemental
175
- Faker::IDNumber:
175
+ Faker::IdNumber:
176
176
  brazilian_citizen_number:
177
177
  - formatted
178
178
  brazilian_id:
@@ -0,0 +1,23 @@
1
+ require: rubocop-graphql
2
+
3
+ GraphQL:
4
+ Enabled: true
5
+ Include:
6
+ - "**/lib/decidim/api/**/*"
7
+ Exclude:
8
+ - "**/lib/decidim/api/test/**/*"
9
+ - "**/lib/decidim/api/functions/*"
10
+ - "spec/**/*"
11
+ - "test/**/*"
12
+
13
+ GraphQL/ObjectDescription:
14
+ Exclude:
15
+ - "**/lib/decidim/api/engine.rb"
16
+ - "**/lib/decidim/api/schema.rb"
17
+ - "**/lib/decidim/api/graphiql/config.rb"
18
+ - "**/lib/decidim/api/functions/*"
19
+ - "spec/**/*"
20
+ - "test/**/*"
21
+
22
+ GraphQL/ExtractType:
23
+ Enabled: false
@@ -25,6 +25,7 @@ RSpec/ContextWording:
25
25
  RSpec/DescribeClass:
26
26
  Exclude:
27
27
  - spec/gemfiles_spec.rb
28
+ - spec/gemspecs_spec.rb
28
29
  - spec/webpacker_spec.rb
29
30
  - spec/version_files_spec.rb
30
31
  - spec/spellcheck_spec.rb
@@ -66,7 +66,7 @@ AllCops:
66
66
  # If a value is specified for TargetRubyVersion then it is used.
67
67
  # Else if .ruby-version exists and it contains an MRI version it is used.
68
68
  # Otherwise we fallback to the oldest officially supported Ruby version (2.0).
69
- TargetRubyVersion: 3.2
69
+ TargetRubyVersion: 3.3
70
70
 
71
71
  # Indent private/protected/public as deep as method definitions
72
72
  Layout/AccessModifierIndentation:
data/decidim-dev.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.version = Decidim::Dev.version
11
11
  s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
12
12
  s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
13
- s.license = "AGPL-3.0"
13
+ s.license = "AGPL-3.0-or-later"
14
14
  s.homepage = "https://decidim.org"
15
15
  s.metadata = {
16
16
  "bug_tracker_uri" => "https://github.com/decidim/decidim/issues",
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  "homepage_uri" => "https://decidim.org",
20
20
  "source_code_uri" => "https://github.com/decidim/decidim"
21
21
  }
22
- s.required_ruby_version = "~> 3.2.0"
22
+ s.required_ruby_version = "~> 3.3.0"
23
23
 
24
24
  s.name = "decidim-dev"
25
25
  s.summary = "Decidim dev tools"
@@ -33,17 +33,22 @@ Gem::Specification.new do |s|
33
33
  end
34
34
 
35
35
  s.add_dependency "capybara", "~> 3.39"
36
- s.add_dependency "decidim", Decidim::Dev.version
36
+ s.add_dependency "decidim-admin", Decidim::Dev.version
37
+ s.add_dependency "decidim-api", Decidim::Dev.version
38
+ s.add_dependency "decidim-comments", Decidim::Dev.version
39
+ s.add_dependency "decidim-core", Decidim::Dev.version
40
+ s.add_dependency "decidim-generators", Decidim::Dev.version
41
+ s.add_dependency "decidim-verifications", Decidim::Dev.version
37
42
  s.add_dependency "factory_bot_rails", "~> 6.2"
38
43
  s.add_dependency "faker", "~> 3.2"
39
44
 
40
- s.add_dependency "bullet", "~> 7.1.6"
45
+ s.add_dependency "bullet", "~> 8.0.0"
41
46
  s.add_dependency "byebug", "~> 11.0"
42
- s.add_dependency "erb_lint", "~> 0.4.0"
47
+ s.add_dependency "erb_lint", "~> 0.8.0"
43
48
  s.add_dependency "i18n-tasks", "~> 1.0"
44
49
  s.add_dependency "nokogiri", "~> 1.16", ">= 1.16.2"
45
50
  s.add_dependency "parallel_tests", "~> 4.2"
46
- s.add_dependency "puma", "~> 6.2", ">= 6.3.1"
51
+ s.add_dependency "puma", "~> 6.5"
47
52
  s.add_dependency "rails-controller-testing", "~> 1.0"
48
53
  s.add_dependency "rspec", "~> 3.12"
49
54
  s.add_dependency "rspec-cells", "~> 0.3.7"
@@ -51,10 +56,11 @@ Gem::Specification.new do |s|
51
56
  s.add_dependency "rspec_junit_formatter", "~> 0.6.0"
52
57
  s.add_dependency "rspec-rails", "~> 6.0"
53
58
  s.add_dependency "rspec-retry", "~> 0.6.2"
54
- s.add_dependency "rubocop", "~> 1.65.0"
59
+ s.add_dependency "rubocop", "~> 1.69.0"
55
60
  s.add_dependency "rubocop-capybara", "~> 2.21"
56
61
  s.add_dependency "rubocop-factory_bot", "~> 2.26"
57
62
  s.add_dependency "rubocop-faker", "~> 1.1"
63
+ s.add_dependency "rubocop-graphql", "~> 1.5"
58
64
  s.add_dependency "rubocop-performance", "~> 1.21"
59
65
  s.add_dependency "rubocop-rails", "~> 2.25"
60
66
  s.add_dependency "rubocop-rspec", "~> 3.0"
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "decidim/dev/needs_development_tools"
4
+
3
5
  module Decidim
4
6
  module Dev
5
7
  # Example engine overriding the core authentication routes.
@@ -8,10 +8,10 @@ Decidim.register_component(:dummy) do |component|
8
8
  component.actions = %w(foo bar)
9
9
 
10
10
  component.newsletter_participant_entities = ["Decidim::Dev::DummyResource"]
11
+ component.permissions_class_name = "Decidim::Dev::Permissions"
11
12
 
12
13
  component.settings(:global) do |settings|
13
- settings.attribute :scopes_enabled, type: :boolean, default: false
14
- settings.attribute :scope_id, type: :scope
14
+ settings.attribute :taxonomy_filters, type: :taxonomy_filters, default: []
15
15
  settings.attribute :comments_enabled, type: :boolean, default: true
16
16
  settings.attribute :comments_max_length, type: :integer, required: false
17
17
  settings.attribute :resources_permissions_enabled, type: :boolean, default: true
@@ -32,6 +32,8 @@ end
32
32
 
33
33
  1.step do
34
34
  port = rand(5000..6999)
35
+ next if port == 6379 # Reserved for Redis
36
+
35
37
  begin
36
38
  redis = Redis.new
37
39
  reserved_ports = (redis.get("decidim_test_capybara_reserved_ports") || "").split(",").map(&:to_i)
@@ -66,6 +68,13 @@ Capybara.register_driver :headless_chrome do |app|
66
68
  "--window-size=1920,1080"
67
69
  end
68
70
  options.args << "--ignore-certificate-errors" if ENV["TEST_SSL"]
71
+
72
+ options.add_preference(:download,
73
+ directory_upgrade: true,
74
+ prompt_for_download: false,
75
+ default_directory: DownloadHelper::PATH.to_s)
76
+ options.add_preference(:browser, set_download_behavior: { behavior: "allow" })
77
+
69
78
  Capybara::Selenium::Driver.new(
70
79
  app,
71
80
  browser: :chrome,
@@ -111,7 +120,7 @@ Capybara.register_driver :iphone do |app|
111
120
  options.args << "--no-sandbox"
112
121
  # Do not limit browser resources
113
122
  options.args << "--disable-dev-shm-usage"
114
- options.add_emulation(device_name: "iPhone 6")
123
+ options.add_emulation(device_name: "iPhone XR")
115
124
 
116
125
  Capybara::Selenium::Driver.new(
117
126
  app,
@@ -139,33 +148,9 @@ Capybara.save_path = Rails.root.join("tmp/screenshots")
139
148
  Capybara.default_max_wait_time = 10
140
149
 
141
150
  RSpec.configure do |config|
142
- config.before :all, type: :system do
143
- if ENV["BIG_SCREEN_SIZE"].present?
144
- warn "[DECIDIM] ChromeDriver Workaround is being active: Setting window size to 1920x3000."
145
- else
146
- warn "[DECIDIM] ChromeDriver Workaround is being active: Setting window size to 1920x1080."
147
- end
148
- end
149
-
150
151
  config.before :each, type: :system do
151
152
  driven_by(:headless_chrome)
152
153
 
153
- # Workaround for flaky spec related to resolution change
154
- #
155
- # For some unknown reason, depending on the order run for these specs, the resolution is changed to
156
- # 800x600, which breaks the drag and drop. This forces the resolution to be 1920x1080.
157
- # One possible culprit for the screen resolution change is the alert error intercepting which messes with the window focus.
158
- # This has been reported to SeleniumHQ, https://github.com/SeleniumHQ/selenium/issues/13553
159
- # and to the chromedriver project, https://bugs.chromium.org/p/chromedriver/issues/detail?id=4709
160
- #
161
- # Note to future maintainers: If you remove this workaround, please make sure to check if the issue has been fixed.
162
- # If that is the case, please remove this comment, workaround, and the above warning that starts with "[DECIDIM] ChromeDriver Workaround".
163
- if ENV["BIG_SCREEN_SIZE"].present?
164
- current_window.resize_to(1920, 3000)
165
- else
166
- current_window.resize_to(1920, 1080)
167
- end
168
-
169
154
  switch_to_default_host
170
155
  domain = (try(:organization) || try(:current_organization))&.host
171
156
  if domain
@@ -16,6 +16,7 @@ RSpec.configure do |config|
16
16
  t.float :latitude
17
17
  t.float :longitude
18
18
  t.datetime :published_at
19
+ t.datetime :deleted_at
19
20
  t.integer :coauthorships_count, null: false, default: 0
20
21
  t.integer :endorsements_count, null: false, default: 0
21
22
  t.integer :comments_count, null: false, default: 0
@@ -50,6 +51,7 @@ RSpec.configure do |config|
50
51
  t.float :latitude
51
52
  t.float :longitude
52
53
  t.datetime :published_at
54
+ t.datetime :deleted_at
53
55
  t.integer :coauthorships_count, null: false, default: 0
54
56
  t.integer :endorsements_count, null: false, default: 0
55
57
  t.integer :comments_count, null: false, default: 0
@@ -22,7 +22,7 @@ end
22
22
 
23
23
  shared_context "with a component" do
24
24
  let(:manifest) { Decidim.find_component_manifest(manifest_name) }
25
- let(:user) { create :user, :confirmed, organization: }
25
+ let(:user) { create(:user, :confirmed, organization:) }
26
26
 
27
27
  let!(:organization) { create(:organization, *organization_traits, available_authorizations: %w(dummy_authorization_handler another_dummy_authorization_handler)) }
28
28
 
@@ -38,8 +38,14 @@ shared_context "with a component" do
38
38
  participatory_space:)
39
39
  end
40
40
 
41
- let!(:category) { create :category, participatory_space: }
42
- let!(:scope) { create :scope, organization: }
41
+ let!(:category) { create(:category, participatory_space:) }
42
+ let!(:scope) { create(:scope, organization:) }
43
+ let(:root_taxonomy) { create(:taxonomy, organization:) }
44
+ let!(:taxonomy) { create(:taxonomy, organization:, parent: root_taxonomy) }
45
+ let(:taxonomy_filter) { create(:taxonomy_filter, internal_name:, name:, participatory_space_manifests: [participatory_space.manifest.name], root_taxonomy:) }
46
+ let!(:taxonomy_filter_item) { create(:taxonomy_filter_item, taxonomy_filter:, taxonomy_item: taxonomy) }
47
+ let(:internal_name) { { "en" => "Internal taxonomy filter name" } }
48
+ let(:name) { { "en" => "Public taxonomy filter name" } }
43
49
 
44
50
  let(:organization_traits) { [] }
45
51
 
@@ -91,10 +97,10 @@ shared_context "when managing a component as an admin" do
91
97
  let(:admin_component_organization_traits) { [] }
92
98
 
93
99
  let(:user) do
94
- create :user,
100
+ create(:user,
95
101
  :admin,
96
102
  :confirmed,
97
- organization:
103
+ organization:)
98
104
  end
99
105
  end
100
106
 
@@ -102,9 +108,9 @@ shared_context "when managing a component as a process admin" do
102
108
  include_context "when managing a component"
103
109
 
104
110
  let(:user) do
105
- create :process_admin,
111
+ create(:process_admin,
106
112
  :confirmed,
107
113
  organization:,
108
- participatory_process:
114
+ participatory_process:)
109
115
  end
110
116
  end
@@ -47,15 +47,15 @@ module ConfirmationHelpers
47
47
  # Used to accept the "onbeforeunload" event's normal browser confirm modal
48
48
  # as this cannot be overridden. Original confirm dismiss implementation in
49
49
  # Capybara.
50
- def accept_page_unload(text = nil, **options, &)
51
- page.send(:accept_modal, :confirm, text, options, &)
50
+ def accept_page_unload(text = nil, **, &)
51
+ accept_confirm(text, &)
52
52
  end
53
53
 
54
54
  # Used to dismiss the "onbeforeunload" event's normal browser confirm modal
55
55
  # as this cannot be overridden. Original confirm dismiss implementation in
56
56
  # Capybara.
57
- def dismiss_page_unload(text = nil, **options, &)
58
- page.send(:dismiss_modal, :confirm, text, options, &)
57
+ def dismiss_page_unload(text = nil, **, &)
58
+ dismiss_confirm(text, &)
59
59
  end
60
60
  end
61
61
 
@@ -19,6 +19,14 @@ module Decidim
19
19
  end
20
20
  end
21
21
  end
22
+
23
+ def process(action, method: "GET", params: nil, session: nil, body: nil, flash: {}, format: nil, xhr: false, as: nil) # rubocop:disable Metrics/ParameterLists
24
+ params = (params || {}).symbolize_keys
25
+
26
+ params.merge!(use_route: request.env["decidim.current_component"]&.mounted_engine) if request.env["decidim.current_component"].present?
27
+
28
+ super
29
+ end
22
30
  end
23
31
  end
24
32
 
@@ -14,6 +14,19 @@ module GeocoderHelpers
14
14
  )
15
15
  end
16
16
 
17
+ def stub_geocoding_coordinates(coordinates)
18
+ geocoder_request_url = "https://nominatim.openstreetmap.org/reverse?accept-language=en&addressdetails=1&format=json&lat=#{coordinates[0]}&lon=#{coordinates[1]}"
19
+ geocoder_response = File.read(Decidim::Dev.asset("geocoder_result_here.json"))
20
+
21
+ stub_request(:get, geocoder_request_url).with(
22
+ headers: {
23
+ "Accept" => "*/*",
24
+ "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
25
+ "User-Agent" => "Ruby"
26
+ }
27
+ ).to_return(body: geocoder_response)
28
+ end
29
+
17
30
  # Waits for the front-end geocoding request to finish in order to ensure there
18
31
  # are no pending requests when proceeding.
19
32
  def fill_in_geocoding(attribute, options = {})
@@ -21,8 +21,8 @@ module ActionDispatch
21
21
 
22
22
  # Add the file URI scheme so terminal emulators can open one click
23
23
  def display_image
24
- message = +"[Screenshot Image]: file://#{image_path}\n"
25
- message << +"[Screenshot HTML]: file://#{html_path}\n" if save_html?
24
+ message = "[Screenshot Image]: file://#{image_path}\n"
25
+ message << "[Screenshot HTML]: file://#{html_path}\n" if save_html?
26
26
 
27
27
  case output_type
28
28
  when "artifact"
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-dev version.
5
5
  module Dev
6
6
  def self.version
7
- "0.29.1"
7
+ "0.30.0.rc1"
8
8
  end
9
9
  end
10
10
  end
@@ -53,7 +53,8 @@ namespace :decidim do
53
53
  "--profiling",
54
54
  "--locales",
55
55
  "en,ca,es",
56
- "--dev_ssl"
56
+ "--dev_ssl",
57
+ "--queue=sidekiq"
57
58
  )
58
59
  end
59
60
  end
@@ -42,9 +42,9 @@ namespace :decidim do
42
42
 
43
43
  def lighthouse_paths
44
44
  ["/"].tap do |urls|
45
- urls << Decidim::ResourceLocatorPresenter.new(Decidim::ParticipatoryProcess.published.first).path
46
- urls << Decidim::ResourceLocatorPresenter.new(Decidim::Meetings::Meeting.published.not_hidden.first).path
47
- urls << Decidim::ResourceLocatorPresenter.new(Decidim::Proposals::Proposal.published.not_hidden.first).path
45
+ urls << Decidim::ResourceLocatorPresenter.new(Decidim::ParticipatoryProcess.published.first).path if Decidim.module_installed?(:participatory_processes)
46
+ urls << Decidim::ResourceLocatorPresenter.new(Decidim::Meetings::Meeting.published.not_hidden.first).path if Decidim.module_installed?(:meetings)
47
+ urls << Decidim::ResourceLocatorPresenter.new(Decidim::Proposals::Proposal.published.not_hidden.first).path if Decidim.module_installed?(:proposals)
48
48
  end
49
49
  end
50
50
  end
data/rubocop-decidim.yml CHANGED
@@ -16,4 +16,5 @@ inherit_from:
16
16
  - config/rubocop/rails.yml
17
17
  - config/rubocop/rspec.yml
18
18
  - config/rubocop/faker.yml
19
+ - config/rubocop/graphql.yml
19
20
  - config/rubocop/disabled.yml