decidim-dev 0.25.0.rc4 → 0.26.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/config/locales/ar.yml +11 -0
  3. data/config/locales/bg.yml +6 -0
  4. data/config/locales/ca.yml +6 -0
  5. data/config/locales/cs.yml +8 -0
  6. data/config/locales/de.yml +6 -0
  7. data/config/locales/el.yml +6 -0
  8. data/config/locales/en.yml +8 -0
  9. data/config/locales/es-MX.yml +6 -0
  10. data/config/locales/es-PY.yml +6 -0
  11. data/config/locales/es.yml +8 -0
  12. data/config/locales/eu.yml +24 -0
  13. data/config/locales/fi-plain.yml +8 -0
  14. data/config/locales/fi.yml +8 -0
  15. data/config/locales/fr-CA.yml +8 -0
  16. data/config/locales/fr.yml +8 -0
  17. data/config/locales/ga-IE.yml +30 -0
  18. data/config/locales/gl.yml +8 -0
  19. data/config/locales/hu.yml +6 -0
  20. data/config/locales/id-ID.yml +11 -0
  21. data/config/locales/it.yml +8 -0
  22. data/config/locales/ja.yml +10 -2
  23. data/config/locales/lb.yml +1 -0
  24. data/config/locales/nl.yml +8 -0
  25. data/config/locales/no.yml +11 -0
  26. data/config/locales/pl.yml +6 -0
  27. data/config/locales/pt-BR.yml +7 -1
  28. data/config/locales/pt.yml +8 -0
  29. data/config/locales/ro-RO.yml +14 -6
  30. data/config/locales/ru.yml +11 -0
  31. data/config/locales/sk.yml +7 -0
  32. data/config/locales/sv.yml +6 -0
  33. data/config/locales/tr-TR.yml +6 -0
  34. data/config/locales/uk.yml +11 -0
  35. data/config/locales/val-ES.yml +1 -0
  36. data/config/locales/zh-CN.yml +6 -0
  37. data/lib/decidim/dev/assets/base64_content.html +1 -0
  38. data/lib/decidim/dev/assets/dummy-dummies-example.csv +2 -0
  39. data/lib/decidim/dev/assets/dummy-dummies-example.json +18 -0
  40. data/lib/decidim/dev/assets/dummy-dummies-example.xlsx +0 -0
  41. data/lib/decidim/dev/assets/import_voting_census.csv +1 -0
  42. data/lib/decidim/dev/assets/import_voting_census_without_headers.csv +4 -0
  43. data/lib/decidim/dev/assets/private_key3.jwk +1 -0
  44. data/lib/decidim/dev/assets/public_key3.jwk +1 -0
  45. data/lib/decidim/dev/assets/test_excel.xlsx +0 -0
  46. data/lib/decidim/dev/engine.rb +4 -0
  47. data/lib/decidim/dev/test/promoted_participatory_processes_shared_examples.rb +5 -0
  48. data/lib/decidim/dev/test/rspec_support/accessibility_examples.rb +0 -3
  49. data/lib/decidim/dev/test/rspec_support/capybara.rb +1 -1
  50. data/lib/decidim/dev/test/rspec_support/component.rb +46 -2
  51. data/lib/decidim/dev/test/rspec_support/imports_controller_shared_examples.rb +146 -0
  52. data/lib/decidim/dev/test/spec_helper.rb +1 -0
  53. data/lib/decidim/dev/test/w3c_rspec_validators_overrides.rb +34 -0
  54. data/lib/decidim/dev/version.rb +1 -1
  55. metadata +22 -16
@@ -0,0 +1 @@
1
+ {"alg":"RS256","d":"KDq63ew1R0wxKoyVyTuf9MSh1bFHFkluyQej3_g7lfKQF7nKvJt55-m19Vc69mymZCejBryh5Eur1RBTIgc9NOUqKooGVYHlGSFcX5AhaDjOKD8iF6pStmKI13EJqs5X_uzva7DNb_Df8lGJP1iJP9TL34ToFzDHA72gdj0vniSgS0vYI0aMdnBArt4zAZTYSdGpY4qwPUagOsicRrF9U49TUKbhjhk1kh4FSZ5cYQI_5-9Hgoqt9FwQ53Rt1YStArpn73EQluURkvqbKDDDKbYI4rY96cftVurZuMN03cG8gWvokgdxLlCxcXqLIwE9nK61ha6AhzDb9ELk4rzX7m0_QuAKxL9uYbwUrm6SWu-hfizi5ClBZdAiUQU_CqHp1UnaFtPEeHJFLlv1KJF3hcb258m9h-brydSpt6dfj-7hO8YaUa6-28FfG6XWS6bsWQT_dzDhZ3u5KN5p-_4j7TYWR5wSBwDNX5JHw45110a5NoTIzn_EMg8vBAjjQq45cEMa9uSV7iD5NF1onQ2zSCIOdq8zr30qAAR1ZrghVAdB001FqBgycEMZsOu30eCyFUnH1OxsyiKlyAsNHygAwMHusBrPq-GKUIv9FCGFhC7RTQi7j2nZUh1UEAbqjTspFdQPv_9I-R8tNmEErCdM3eQW0RMbq6LfC3z8jHwyFMU","dp":"e8jT1iRQs4Aqs4vB8hnyBS1Jqooptax9agFn4B8zYgJBUYWUNlSHa-ctNlney8wI_yn0zgdPBr227lkZ8lLTf2vn3YTEV9AbtehgYOnvkspNA-si8UJuegol5KS-Lqs43OXB1LvXeu6-Vrm8j1MfNn0MDmg4To1r8clI7tXWGiHGxXkIch4cmdjjxlCzCyl8fj7QLw7fD6EvN8iiDZI-nf1MCrQdWXm0EicUN1JfU_MvaD-niQfxtooE7hilAgbBhOir7ZUzgmMEeiGSbXuVLRt1_Wtyrw95PtF1w8OIBtLrzSKkEoK3F0ZwSTPTbPgWPuGi7d0A_IbXfZeB48l4uQ","dq":"tN7CWi-L2OmV4PxJ4E18hZ_-XcvQkFSA1vkj7xdVgNje8MVbb3iSQpnHO-WP267sR1zv5aaDKOgWcsqnSsY6NY6biuVlioiQTZbEnFZHZbo1dvtG9PtFTFuUS3xfOhN8M-HYLO_H_TnYbiTctkK7wIkxcLnsSRkuAf0WpJ4nlqG7GXHDxsNtwVx2h-ERNaZP0yrxaVsulCIUGuXoiTvsj-pwkEhLdCqn-wLZGS0UUvBd4uZGMjuGVodosXCeaxl0U7-lgX1hVZPpBbZdikhS2xc6SXFlz4W1NN8jp4FFfPAkXArH30ZUD4XWQP4XisN0zD8MuhagII29obUuY6uxMw","e":"AQAB","ext":true,"key_ops":["sign"],"kty":"RSA","n":"6A6UnWOtBnGM5kYa94xkL-qyteH7aohpao2ir2p3T--7jbbCFELjIjqmBMf1OMilOXgW8jyDYkO2Vg3cnByZRG1wwYLaZPjcEqrCuMxYG-ZSYQfFHmTipSq3B2BoGGzZSM-1v3M-dv_w7idxtM4X3rLJYLEvSTzxbAuWDOctcZRIgcnusqxu7Qhfm2QS95p3gN87Ro-6a25AF0Wuqlxnt40PbDzujF7ab1KUGKRwsSmgWtTlA3xJqKSamvv2Q8-c2EBSa2N95eCfh4Bs8FO3GKp-CiRy3q63uW7t6MAxDrdCtdJqx2NWjVeFYilQwbITLFbjj9XHgThHC_64Drrf--Ry-VTZrKCMpeyfecxL9gAT7BKkrUM7jt3q6uD6YvjYNvp7hs-39PRYOyPJecqFREymaC26p-DqBX3ktrXUJqP0u9w6FH26tYLARPR7H3vkrV3GDRk_x0pwIXaMNUgXA2gJgD96n_PSt5SD7K638nRULZWT0dP57tSpcDRAu8UKi9JuErmZ_agBVVW2oEBLm28CFd1j9uJr0T1vAw8bOaxCPqw8tLeU-fxKGr2Ww0C6tk-NpxP50Ra9Z2vWEPpPJHaykV2tdyXQ1jmXOYIEdH4RXqaN5qIxqW_71my6H6qTVv2tAvKIZY2uUAqBWgXuOY5agvnji_fINU5BSK0ym_s","p":"-AMAmjYuPJUwAS1zlBbinO25Z6qh0P8ZxKrBIpHRFSjdK8WhBMel-BGaNO4mNKWElnoXQoJdLlJ4ttLoKAuw8Kvccr1BetSPXP5Pzr5PNVfrcyB4b101tUdkNv4w1PNNT0Uoy3eKmFl7FrZxPW8zdoo7ufjSLMe_gTD_pBPi4r6AII5cWCUOOl1tlBAJ_D9cBSjzagoo14Ikqoz7jmUeMiaNiCH_gvVyT4JTysUOl0GQbE8zdK_VKY5LamddC4C9bSnYoqv4G5mPTzwATj96FLKnJX_eJa1jLYYJ5u87--QIk__yZCLzChujpW8voyz2zcUA42boVFXe8eOaGGnI9Q","q":"74gFohkJsQkFUNHgSsdX9AWWPZTLh73qMqzjjfCzfGjDl5aS43saL98xBgffRW6QXyZFkhBciHDvbMJfowmPTFqI1ewAzn_XZGOaeptDaQ7WXjnq3Tj7ndHOzJk9k9MG1ziMFKFH1VeKzHpJHJlcbxTHthrAAliHA1JVME4dUJEvp8B10x_nsM0kl0eDV8ov282DhulmA8JRRimZVKjmXdhDTjILABaoqUcVc-9J0zcPsk0dk7yGfWosYQhyaAJbH_GQMey9Xt15CvgLjLZOGZ4Ur3gWzsPtyI6IA4sNX5yvBDYsCJP3m8a7nxQ8Ev2HuXWK4IoHdJBxjncthbV7Lw","qi":"4KfTaGXzkUOYa7iO2n3GyKHdUHtEhWqZSzay4Ztm6PfngYqwWSZvajJ2s7UhGwhLjHOzHyV_4lyrvZkYCcOVd332ky1hrSOEPtp8cQrE-r0Y_2nlz_1dbuRPx83Zz6oYWW2P6KDJp3EajJHkhQbjXk9x8vdGaDUdOz3-HUbrC5GwR7I4u8rrgx62eKBBr9ant5P_K9r3AKMghaiz6UoF1MwhVnFYTZndyuyO_-ZdT5A-pYJ3xPSpqLkusphHux5yIoJDyoIYQ6u9n_AsjdnciFHRWRTPyBJKm9QvPL0N4h5_b6zQiKbeY5w-KcSj9_rVYCovJwOIom_0h0K495QVvw"}
@@ -0,0 +1 @@
1
+ {"alg":"RS256","e":"AQAB","kty":"RSA","n":"6A6UnWOtBnGM5kYa94xkL-qyteH7aohpao2ir2p3T--7jbbCFELjIjqmBMf1OMilOXgW8jyDYkO2Vg3cnByZRG1wwYLaZPjcEqrCuMxYG-ZSYQfFHmTipSq3B2BoGGzZSM-1v3M-dv_w7idxtM4X3rLJYLEvSTzxbAuWDOctcZRIgcnusqxu7Qhfm2QS95p3gN87Ro-6a25AF0Wuqlxnt40PbDzujF7ab1KUGKRwsSmgWtTlA3xJqKSamvv2Q8-c2EBSa2N95eCfh4Bs8FO3GKp-CiRy3q63uW7t6MAxDrdCtdJqx2NWjVeFYilQwbITLFbjj9XHgThHC_64Drrf--Ry-VTZrKCMpeyfecxL9gAT7BKkrUM7jt3q6uD6YvjYNvp7hs-39PRYOyPJecqFREymaC26p-DqBX3ktrXUJqP0u9w6FH26tYLARPR7H3vkrV3GDRk_x0pwIXaMNUgXA2gJgD96n_PSt5SD7K638nRULZWT0dP57tSpcDRAu8UKi9JuErmZ_agBVVW2oEBLm28CFd1j9uJr0T1vAw8bOaxCPqw8tLeU-fxKGr2Ww0C6tk-NpxP50Ra9Z2vWEPpPJHaykV2tdyXQ1jmXOYIEdH4RXqaN5qIxqW_71my6H6qTVv2tAvKIZY2uUAqBWgXuOY5agvnji_fINU5BSK0ym_s"}
@@ -12,6 +12,10 @@ module Decidim
12
12
  ActionController::Base.include Decidim::Dev::NeedsDevelopmentTools
13
13
  end
14
14
  end
15
+
16
+ initializer "decidim_dev.webpacker.assets_path" do
17
+ Decidim.register_assets_path File.expand_path("app/packs", root)
18
+ end
15
19
  end
16
20
  end
17
21
  end
@@ -35,6 +35,11 @@ shared_examples "with promoted participatory processes and groups" do
35
35
  organization: organization
36
36
  )
37
37
 
38
+ _external_promoted_group = create(
39
+ :participatory_process_group,
40
+ :promoted
41
+ )
42
+
38
43
  expect(controller.helpers.promoted_collection).to(
39
44
  match_array([promoted_group, promoted_process])
40
45
  )
@@ -11,9 +11,6 @@ shared_examples_for "accessible page" do
11
11
  html = page.source
12
12
  html = "<!DOCTYPE html>\n#{html}" unless html.strip.match?(/^<!DOCTYPE/i)
13
13
 
14
- # This would cause a CSS validation error (added by EmojiPicker). Bug reported in https://github.com/validator/validator/issues/1223.
15
- html = html.gsub("outline: 1px dotted var(--focus-indicator-color)", "outline: 1px dotted red")
16
-
17
14
  expect(html).to be_valid_html
18
15
  end
19
16
  end
@@ -30,7 +30,7 @@ Capybara.register_driver :headless_chrome do |app|
30
30
  options.args << if ENV["BIG_SCREEN_SIZE"].present?
31
31
  "--window-size=1920,3000"
32
32
  else
33
- "--window-size=1024,768"
33
+ "--window-size=1920,1080"
34
34
  end
35
35
 
36
36
  Capybara::Selenium::Driver.new(
@@ -45,6 +45,32 @@ module Decidim
45
45
 
46
46
  root to: proc { [200, {}, ["DUMMY ADMIN ENGINE"]] }
47
47
  end
48
+
49
+ initializer "dummy_admin.imports" do
50
+ class ::DummyCreator < Decidim::Admin::Import::Creator
51
+ def self.resource_klass
52
+ Decidim::DummyResources::DummyResource
53
+ end
54
+
55
+ def produce
56
+ resource
57
+ end
58
+
59
+ private
60
+
61
+ def resource
62
+ @resource ||= Decidim::DummyResources::DummyResource.new(
63
+ title: { en: "Dummy" },
64
+ author: context[:current_user],
65
+ component: component
66
+ )
67
+ end
68
+
69
+ def component
70
+ context[:current_component]
71
+ end
72
+ end
73
+ end
48
74
  end
49
75
 
50
76
  class ApplicationRecord < ActiveRecord::Base
@@ -162,14 +188,14 @@ module Decidim
162
188
  false
163
189
  end
164
190
 
165
- def respond_to_missing?
191
+ def respond_to_missing?(*)
166
192
  true
167
193
  end
168
194
 
169
195
  def method_missing(method, *args)
170
196
  if method.to_s.ends_with?("?")
171
197
  false
172
- elsif [:avatar_url, :profile_path, :badge, :followers_count].include?(method)
198
+ elsif [:avatar_url, :profile_path, :badge, :followers_count, :cache_key_with_version].include?(method)
173
199
  ""
174
200
  else
175
201
  super
@@ -268,6 +294,24 @@ Decidim.register_component(:dummy) do |component|
268
294
 
269
295
  exports.serializer DummySerializer
270
296
  end
297
+
298
+ component.imports :dummies do |imports|
299
+ imports.messages do |msg|
300
+ msg.set(:resource_name) { |count: 1| count == 1 ? "Dummy" : "Dummies" }
301
+ msg.set(:title) { "Import dummies" }
302
+ msg.set(:label) { "Import dummies from a file" }
303
+ end
304
+
305
+ imports.creator DummyCreator
306
+ imports.example do |import_component|
307
+ locales = import_component.organization.available_locales
308
+ translated = ->(name) { locales.map { |l| "#{name}/#{l}" } }
309
+ [
310
+ translated.call("title") + %w(body) + translated.call("translatable_text") + %w(address latitude longitude),
311
+ locales.map { "Title text" } + ["Body text"] + locales.map { "Translatable text" } + ["Fake street 1", 1.0, 1.0]
312
+ ]
313
+ end
314
+ end
271
315
  end
272
316
 
273
317
  RSpec.configure do |config|
@@ -0,0 +1,146 @@
1
+ # frozen_string_literal: true
2
+
3
+ shared_examples "admin imports controller" do
4
+ let!(:organization) { create(:organization) }
5
+ let!(:user) { create(:user, :admin, :confirmed, organization: organization) }
6
+ let!(:component) { create(:component, participatory_space: participatory_space, manifest_name: "dummy") }
7
+
8
+ let(:default_params) do
9
+ {
10
+ component_id: component.id,
11
+ name: "dummies"
12
+ }
13
+ end
14
+ let(:extra_params) { {} }
15
+
16
+ before do
17
+ request.env["decidim.current_organization"] = organization
18
+ sign_in user, scope: :user
19
+ end
20
+
21
+ describe "POST create" do
22
+ let(:file) do
23
+ # The file does not really matter for the dummies creator because it
24
+ # will always create a record for each data row regardless of the data.
25
+ Rack::Test::UploadedFile.new(
26
+ Decidim::Dev.test_file("import_proposals.csv", "text/csv"),
27
+ "text/csv"
28
+ )
29
+ end
30
+ let(:params) do
31
+ default_params.merge(extra_params).merge(file: file)
32
+ end
33
+
34
+ it "imports dummies" do
35
+ post(:create, params: params)
36
+ expect(response).to have_http_status(:found)
37
+ expect(flash[:notice]).not_to be_empty
38
+
39
+ expect(Decidim::DummyResources::DummyResource.count).to eq(3)
40
+ Decidim::DummyResources::DummyResource.find_each do |dummy|
41
+ expect(dummy.title).to eq("en" => "Dummy")
42
+ expect(dummy.author).to eq(user)
43
+ expect(dummy.component).to eq(component)
44
+ end
45
+ end
46
+ end
47
+
48
+ describe "GET example" do
49
+ let(:params) do
50
+ default_params.merge(extra_params).merge(format: format)
51
+ end
52
+
53
+ context "with CSV format" do
54
+ let(:format) { "csv" }
55
+
56
+ it "creates a correct CSV example file" do
57
+ get(:example, params: params)
58
+
59
+ expect(response).to have_http_status(:ok)
60
+ expect(response.content_type).to eq("text/csv")
61
+ expect(response.headers["Content-Disposition"]).to eq(
62
+ "attachment; filename=\"dummy-dummies-example.csv\"; filename*=UTF-8''dummy-dummies-example.csv"
63
+ )
64
+ expect(response.body).to eq(
65
+ File.read(Decidim::Dev.asset("dummy-dummies-example.csv"))
66
+ )
67
+ end
68
+ end
69
+
70
+ context "with JSON format" do
71
+ let(:format) { "json" }
72
+
73
+ it "creates a correct JSON example file" do
74
+ get(:example, params: params)
75
+
76
+ expect(response).to have_http_status(:ok)
77
+ expect(response.content_type).to eq("application/json")
78
+ expect(response.headers["Content-Disposition"]).to eq(
79
+ "attachment; filename=\"dummy-dummies-example.json\"; filename*=UTF-8''dummy-dummies-example.json"
80
+ )
81
+ expect(response.body).to eq(
82
+ File.read(Decidim::Dev.asset("dummy-dummies-example.json"))
83
+ )
84
+ end
85
+ end
86
+
87
+ context "with XLSX format" do
88
+ let(:format) { "xlsx" }
89
+
90
+ it "creates a correct XLSX example file" do
91
+ get(:example, params: params)
92
+
93
+ expect(response).to have_http_status(:ok)
94
+ expect(response.content_type).to eq(
95
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
96
+ )
97
+ expect(response.headers["Content-Disposition"]).to eq(
98
+ "attachment; filename=\"dummy-dummies-example.xlsx\"; filename*=UTF-8''dummy-dummies-example.xlsx"
99
+ )
100
+
101
+ # The generated XLSX can have some byte differences which is why we need
102
+ # to read the values from both files and compare them instead.
103
+ workbook = RubyXL::Parser.parse_buffer(response.body)
104
+ actual = workbook.worksheets[0].map { |row| row.cells.map(&:value) }
105
+
106
+ workbook = RubyXL::Parser.parse(Decidim::Dev.asset("dummy-dummies-example.xlsx"))
107
+ expected = workbook.worksheets[0].map { |row| row.cells.map(&:value) }
108
+
109
+ expect(actual).to eq(expected)
110
+ end
111
+ end
112
+
113
+ context "with unknown format" do
114
+ let(:format) { "foo" }
115
+
116
+ it "raises ActionController::UnknownFormat" do
117
+ expect { get(:example, params: params) }.to raise_error(
118
+ ActionController::UnknownFormat
119
+ )
120
+ end
121
+ end
122
+ end
123
+
124
+ context "with abstract creator" do
125
+ let(:creator) { Decidim::Admin::Import::Creator.new({ id: 1, "title/en": "My title for abstract creator" }) }
126
+ let(:params) do
127
+ default_params.merge(extra_params).merge(name: "abstract")
128
+ end
129
+
130
+ describe "POST create" do
131
+ it "raises ActionController::RoutingError" do
132
+ expect { post(:create, params: params) }.to raise_error(
133
+ ActionController::RoutingError
134
+ )
135
+ end
136
+ end
137
+
138
+ describe "GET example" do
139
+ it "raises ActionController::RoutingError" do
140
+ expect { get(:example, params: params) }.to raise_error(
141
+ ActionController::RoutingError
142
+ )
143
+ end
144
+ end
145
+ end
146
+ end
@@ -10,6 +10,7 @@ require "db-query-matchers"
10
10
  require "action_view/helpers/sanitize_helper"
11
11
  require "axe-rspec"
12
12
  require "w3c_rspec_validators"
13
+ require "decidim/dev/test/w3c_rspec_validators_overrides"
13
14
 
14
15
  # Requires supporting files with custom matchers and macros, etc,
15
16
  # in ./rspec_support/ and its subdirectories.
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This is a temporary fix to ignore some HTML/CSS validation issues with the
4
+ # Decidim HTML validation process.
5
+ #
6
+ # See: https://github.com/decidim/decidim/issues/8596
7
+ # Related: https://github.com/w3c/css-validator/issues/355
8
+ module W3CValidators
9
+ class NuValidator
10
+ protected
11
+
12
+ alias validate_nu validate unless method_defined?(:validate_nu)
13
+
14
+ def validate(options) # :nodoc:
15
+ filter_results(validate_nu(options))
16
+ end
17
+
18
+ def ignore_errors
19
+ @ignore_errors ||= [
20
+ "CSS: “--content-height”: One operand must be a number."
21
+ ]
22
+ end
23
+
24
+ def filter_results(results)
25
+ messages = results.instance_variable_get(:@messages)
26
+ messages.delete_if do |msg|
27
+ msg.is_error? && ignore_errors.include?(msg.message)
28
+ end
29
+ results.instance_variable_set(:@validity, messages.none?(&:is_error?))
30
+
31
+ results
32
+ end
33
+ end
34
+ end
@@ -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.25.0.rc4"
7
+ "0.26.0.rc1"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.25.0.rc4
4
+ version: 0.26.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
8
8
  - Marc Riera Casals
9
9
  - Oriol Gual Oliva
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-09-20 00:00:00.000000000 Z
13
+ date: 2022-01-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: capybara
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.25.0.rc4
35
+ version: 0.26.0.rc1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.25.0.rc4
42
+ version: 0.26.0.rc1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: factory_bot_rails
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -144,20 +144,14 @@ dependencies:
144
144
  requirements:
145
145
  - - "~>"
146
146
  - !ruby/object:Gem::Version
147
- version: '1.11'
148
- - - ">="
149
- - !ruby/object:Gem::Version
150
- version: 1.11.4
147
+ version: '1.12'
151
148
  type: :runtime
152
149
  prerelease: false
153
150
  version_requirements: !ruby/object:Gem::Requirement
154
151
  requirements:
155
152
  - - "~>"
156
153
  - !ruby/object:Gem::Version
157
- version: '1.11'
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: 1.11.4
154
+ version: '1.12'
161
155
  - !ruby/object:Gem::Dependency
162
156
  name: puma
163
157
  requirement: !ruby/object:Gem::Requirement
@@ -464,6 +458,7 @@ files:
464
458
  - config/locales/ko-KR.yml
465
459
  - config/locales/ko.yml
466
460
  - config/locales/lb-LU.yml
461
+ - config/locales/lb.yml
467
462
  - config/locales/lt-LT.yml
468
463
  - config/locales/lt.yml
469
464
  - config/locales/lv.yml
@@ -488,6 +483,7 @@ files:
488
483
  - config/locales/ti-ER.yml
489
484
  - config/locales/tr-TR.yml
490
485
  - config/locales/uk.yml
486
+ - config/locales/val-ES.yml
491
487
  - config/locales/vi-VN.yml
492
488
  - config/locales/vi.yml
493
489
  - config/locales/zh-CN.yml
@@ -499,10 +495,14 @@ files:
499
495
  - lib/decidim/dev/assets/assemblies.json
500
496
  - lib/decidim/dev/assets/assemblies_with_null.json
501
497
  - lib/decidim/dev/assets/avatar.jpg
498
+ - lib/decidim/dev/assets/base64_content.html
502
499
  - lib/decidim/dev/assets/city.jpeg
503
500
  - lib/decidim/dev/assets/city2.jpeg
504
501
  - lib/decidim/dev/assets/city3.jpeg
505
502
  - lib/decidim/dev/assets/dni.jpg
503
+ - lib/decidim/dev/assets/dummy-dummies-example.csv
504
+ - lib/decidim/dev/assets/dummy-dummies-example.json
505
+ - lib/decidim/dev/assets/dummy-dummies-example.xlsx
506
506
  - lib/decidim/dev/assets/geocoder_result_here.json
507
507
  - lib/decidim/dev/assets/geocoder_result_osm.json
508
508
  - lib/decidim/dev/assets/icon.png
@@ -516,6 +516,7 @@ files:
516
516
  - lib/decidim/dev/assets/import_proposals_broken.csv
517
517
  - lib/decidim/dev/assets/import_voting_census.csv
518
518
  - lib/decidim/dev/assets/import_voting_census_with_ballot_styles.csv
519
+ - lib/decidim/dev/assets/import_voting_census_without_headers.csv
519
520
  - lib/decidim/dev/assets/invalid.jpeg
520
521
  - lib/decidim/dev/assets/iso-8859-15.md
521
522
  - lib/decidim/dev/assets/malicious.jpg
@@ -526,8 +527,11 @@ files:
526
527
  - lib/decidim/dev/assets/participatory_text_wrong.odt
527
528
  - lib/decidim/dev/assets/private_key.jwk
528
529
  - lib/decidim/dev/assets/private_key2.jwk
530
+ - lib/decidim/dev/assets/private_key3.jwk
529
531
  - lib/decidim/dev/assets/public_key.jwk
530
532
  - lib/decidim/dev/assets/public_key2.jwk
533
+ - lib/decidim/dev/assets/public_key3.jwk
534
+ - lib/decidim/dev/assets/test_excel.xlsx
531
535
  - lib/decidim/dev/assets/verify_user_groups.csv
532
536
  - lib/decidim/dev/common_rake.rb
533
537
  - lib/decidim/dev/dummy_translator.rb
@@ -559,6 +563,7 @@ files:
559
563
  - lib/decidim/dev/test/rspec_support/geocoder.rb
560
564
  - lib/decidim/dev/test/rspec_support/helpers.rb
561
565
  - lib/decidim/dev/test/rspec_support/html_matchers.rb
566
+ - lib/decidim/dev/test/rspec_support/imports_controller_shared_examples.rb
562
567
  - lib/decidim/dev/test/rspec_support/migration.rb
563
568
  - lib/decidim/dev/test/rspec_support/orderly_matchers.rb
564
569
  - lib/decidim/dev/test/rspec_support/organization.rb
@@ -575,6 +580,7 @@ files:
575
580
  - lib/decidim/dev/test/rspec_support/wisper.rb
576
581
  - lib/decidim/dev/test/rspec_support/z_download_helper.rb
577
582
  - lib/decidim/dev/test/spec_helper.rb
583
+ - lib/decidim/dev/test/w3c_rspec_validators_overrides.rb
578
584
  - lib/decidim/dev/version.rb
579
585
  - lib/tasks/generators.rake
580
586
  - lib/tasks/locale_checker.rake
@@ -582,7 +588,7 @@ homepage: https://github.com/decidim/decidim
582
588
  licenses:
583
589
  - AGPL-3.0
584
590
  metadata: {}
585
- post_install_message:
591
+ post_install_message:
586
592
  rdoc_options: []
587
593
  require_paths:
588
594
  - lib
@@ -597,8 +603,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
597
603
  - !ruby/object:Gem::Version
598
604
  version: 1.3.1
599
605
  requirements: []
600
- rubygems_version: 3.1.2
601
- signing_key:
606
+ rubygems_version: 3.1.6
607
+ signing_key:
602
608
  specification_version: 4
603
609
  summary: Decidim dev tools
604
610
  test_files: []