decidim-dev 0.28.3 → 0.29.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/app/packs/stylesheets/decidim/dev/_accessibility.scss +1 -1
  3. data/app/packs/stylesheets/decidim/dev/_bullet.scss +4 -0
  4. data/app/packs/stylesheets/decidim/dev/_rack_profiler.scss +4 -0
  5. data/app/packs/stylesheets/decidim/dev.scss +2 -0
  6. data/config/locales/sv.yml +1 -1
  7. data/config/rubocop/disabled.yml +60 -0
  8. data/config/rubocop/performance.yml +154 -0
  9. data/config/rubocop/rspec.yml +7 -2
  10. data/config/rubocop/ruby.yml +5 -5
  11. data/decidim-dev.gemspec +11 -8
  12. data/lib/decidim/dev/assets/assemblies.json +1 -34
  13. data/lib/decidim/dev/assets/assemblies_with_null.json +1 -2
  14. data/lib/decidim/dev/assets/participatory_processes.json +1 -34
  15. data/lib/decidim/dev/assets/participatory_processes_with_null.json +0 -1
  16. data/lib/decidim/dev/assets/participatory_text.md +0 -2
  17. data/lib/decidim/dev/component.rb +2 -2
  18. data/lib/decidim/dev/dummy_translator.rb +1 -1
  19. data/lib/decidim/dev/engine.rb +11 -0
  20. data/lib/decidim/dev/test/map_server.rb +125 -0
  21. data/lib/decidim/dev/test/rspec_support/autocomplete_select.rb +2 -2
  22. data/lib/decidim/dev/test/rspec_support/bullet.rb +4 -0
  23. data/lib/decidim/dev/test/rspec_support/capybara.rb +18 -8
  24. data/lib/decidim/dev/test/rspec_support/cell_matchers.rb +1 -1
  25. data/lib/decidim/dev/test/rspec_support/component_context.rb +1 -1
  26. data/lib/decidim/dev/test/rspec_support/data_consent.rb +6 -6
  27. data/lib/decidim/dev/test/rspec_support/datepicker_date_fill.rb +25 -0
  28. data/lib/decidim/dev/test/rspec_support/datepicker_time_fill.rb +23 -0
  29. data/lib/decidim/dev/test/rspec_support/dynamic_attach.rb +2 -2
  30. data/lib/decidim/dev/test/rspec_support/geocoder.rb +8 -72
  31. data/lib/decidim/dev/test/rspec_support/helpers.rb +4 -4
  32. data/lib/decidim/dev/test/rspec_support/tom_select.rb +1 -1
  33. data/lib/decidim/dev/test/rspec_support/translation_helpers.rb +5 -5
  34. data/lib/decidim/dev/test/rspec_support/webmock.rb +7 -1
  35. data/lib/decidim/dev/test/rspec_support/wicked_pdf_assets_mock.rb +2 -2
  36. data/lib/decidim/dev/test/spec_helper.rb +2 -8
  37. data/lib/decidim/dev/version.rb +1 -1
  38. data/lib/decidim/dev.rb +0 -9
  39. data/lib/decidim-dev.rb +2 -0
  40. data/lib/tasks/lighthouse_report.rake +1 -1
  41. data/rubocop-decidim.yml +6 -0
  42. metadata +85 -38
  43. data/lib/decidim/dev/test/rspec_support/activestorage_matchers.rb +0 -148
  44. /data/app/views/decidim/dummy_resource/{_linked_dummys.html.erb → _linked_dummies.html.erb} +0 -0
  45. /data/{app/controllers/concerns → lib}/decidim/dev/needs_development_tools.rb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.3
4
+ version: 0.29.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-09-10 00:00:00.000000000 Z
13
+ date: 2024-07-16 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.28.3
35
+ version: 0.29.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.28.3
42
+ version: 0.29.0.rc1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: factory_bot_rails
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -74,14 +74,14 @@ dependencies:
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '7.0'
77
+ version: 7.1.6
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '7.0'
84
+ version: 7.1.6
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: byebug
87
87
  requirement: !ruby/object:Gem::Requirement
@@ -130,20 +130,20 @@ dependencies:
130
130
  requirements:
131
131
  - - "~>"
132
132
  - !ruby/object:Gem::Version
133
- version: '1.14'
133
+ version: '1.16'
134
134
  - - ">="
135
135
  - !ruby/object:Gem::Version
136
- version: 1.14.3
136
+ version: 1.16.2
137
137
  type: :runtime
138
138
  prerelease: false
139
139
  version_requirements: !ruby/object:Gem::Requirement
140
140
  requirements:
141
141
  - - "~>"
142
142
  - !ruby/object:Gem::Version
143
- version: '1.14'
143
+ version: '1.16'
144
144
  - - ">="
145
145
  - !ruby/object:Gem::Version
146
- version: 1.14.3
146
+ version: 1.16.2
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: parallel_tests
149
149
  requirement: !ruby/object:Gem::Requirement
@@ -282,14 +282,42 @@ dependencies:
282
282
  requirements:
283
283
  - - "~>"
284
284
  - !ruby/object:Gem::Version
285
- version: 1.50.0
285
+ version: 1.65.0
286
286
  type: :runtime
287
287
  prerelease: false
288
288
  version_requirements: !ruby/object:Gem::Requirement
289
289
  requirements:
290
290
  - - "~>"
291
291
  - !ruby/object:Gem::Version
292
- version: 1.50.0
292
+ version: 1.65.0
293
+ - !ruby/object:Gem::Dependency
294
+ name: rubocop-capybara
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '2.21'
300
+ type: :runtime
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '2.21'
307
+ - !ruby/object:Gem::Dependency
308
+ name: rubocop-factory_bot
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '2.26'
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '2.26'
293
321
  - !ruby/object:Gem::Dependency
294
322
  name: rubocop-faker
295
323
  requirement: !ruby/object:Gem::Requirement
@@ -304,104 +332,118 @@ dependencies:
304
332
  - - "~>"
305
333
  - !ruby/object:Gem::Version
306
334
  version: '1.1'
335
+ - !ruby/object:Gem::Dependency
336
+ name: rubocop-performance
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - "~>"
340
+ - !ruby/object:Gem::Version
341
+ version: '1.21'
342
+ type: :runtime
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - "~>"
347
+ - !ruby/object:Gem::Version
348
+ version: '1.21'
307
349
  - !ruby/object:Gem::Dependency
308
350
  name: rubocop-rails
309
351
  requirement: !ruby/object:Gem::Requirement
310
352
  requirements:
311
353
  - - "~>"
312
354
  - !ruby/object:Gem::Version
313
- version: '2.19'
355
+ version: '2.25'
314
356
  type: :runtime
315
357
  prerelease: false
316
358
  version_requirements: !ruby/object:Gem::Requirement
317
359
  requirements:
318
360
  - - "~>"
319
361
  - !ruby/object:Gem::Version
320
- version: '2.19'
362
+ version: '2.25'
321
363
  - !ruby/object:Gem::Dependency
322
364
  name: rubocop-rspec
323
365
  requirement: !ruby/object:Gem::Requirement
324
366
  requirements:
325
367
  - - "~>"
326
368
  - !ruby/object:Gem::Version
327
- version: '2.20'
369
+ version: '3.0'
328
370
  type: :runtime
329
371
  prerelease: false
330
372
  version_requirements: !ruby/object:Gem::Requirement
331
373
  requirements:
332
374
  - - "~>"
333
375
  - !ruby/object:Gem::Version
334
- version: '2.20'
376
+ version: '3.0'
335
377
  - !ruby/object:Gem::Dependency
336
- name: selenium-webdriver
378
+ name: rubocop-rspec_rails
337
379
  requirement: !ruby/object:Gem::Requirement
338
380
  requirements:
339
381
  - - "~>"
340
382
  - !ruby/object:Gem::Version
341
- version: '4.9'
383
+ version: '2.30'
342
384
  type: :runtime
343
385
  prerelease: false
344
386
  version_requirements: !ruby/object:Gem::Requirement
345
387
  requirements:
346
388
  - - "~>"
347
389
  - !ruby/object:Gem::Version
348
- version: '4.9'
390
+ version: '2.30'
349
391
  - !ruby/object:Gem::Dependency
350
- name: simplecov
392
+ name: rubocop-rubycw
351
393
  requirement: !ruby/object:Gem::Requirement
352
394
  requirements:
353
395
  - - "~>"
354
396
  - !ruby/object:Gem::Version
355
- version: 0.22.0
397
+ version: '0.1'
356
398
  type: :runtime
357
399
  prerelease: false
358
400
  version_requirements: !ruby/object:Gem::Requirement
359
401
  requirements:
360
402
  - - "~>"
361
403
  - !ruby/object:Gem::Version
362
- version: 0.22.0
404
+ version: '0.1'
363
405
  - !ruby/object:Gem::Dependency
364
- name: simplecov-cobertura
406
+ name: selenium-webdriver
365
407
  requirement: !ruby/object:Gem::Requirement
366
408
  requirements:
367
409
  - - "~>"
368
410
  - !ruby/object:Gem::Version
369
- version: 2.1.0
411
+ version: '4.9'
370
412
  type: :runtime
371
413
  prerelease: false
372
414
  version_requirements: !ruby/object:Gem::Requirement
373
415
  requirements:
374
416
  - - "~>"
375
417
  - !ruby/object:Gem::Version
376
- version: 2.1.0
418
+ version: '4.9'
377
419
  - !ruby/object:Gem::Dependency
378
- name: spring
420
+ name: simplecov
379
421
  requirement: !ruby/object:Gem::Requirement
380
422
  requirements:
381
423
  - - "~>"
382
424
  - !ruby/object:Gem::Version
383
- version: '2.0'
425
+ version: 0.22.0
384
426
  type: :runtime
385
427
  prerelease: false
386
428
  version_requirements: !ruby/object:Gem::Requirement
387
429
  requirements:
388
430
  - - "~>"
389
431
  - !ruby/object:Gem::Version
390
- version: '2.0'
432
+ version: 0.22.0
391
433
  - !ruby/object:Gem::Dependency
392
- name: spring-watcher-listen
434
+ name: simplecov-cobertura
393
435
  requirement: !ruby/object:Gem::Requirement
394
436
  requirements:
395
437
  - - "~>"
396
438
  - !ruby/object:Gem::Version
397
- version: '2.0'
439
+ version: 2.1.0
398
440
  type: :runtime
399
441
  prerelease: false
400
442
  version_requirements: !ruby/object:Gem::Requirement
401
443
  requirements:
402
444
  - - "~>"
403
445
  - !ruby/object:Gem::Version
404
- version: '2.0'
446
+ version: 2.1.0
405
447
  - !ruby/object:Gem::Dependency
406
448
  name: w3c_rspec_validators
407
449
  requirement: !ruby/object:Gem::Requirement
@@ -456,7 +498,6 @@ files:
456
498
  - README.md
457
499
  - Rakefile
458
500
  - app/commands/decidim/dev/create_dummy_resource.rb
459
- - app/controllers/concerns/decidim/dev/needs_development_tools.rb
460
501
  - app/controllers/decidim/dev/dummy_resources_controller.rb
461
502
  - app/events/decidim/dev/dummy_resource_event.rb
462
503
  - app/forms/decidim/dev/dummy_resource_form.rb
@@ -475,12 +516,14 @@ files:
475
516
  - app/packs/src/decidim/dev/test/custom_map_factory.js
476
517
  - app/packs/stylesheets/decidim/dev.scss
477
518
  - app/packs/stylesheets/decidim/dev/_accessibility.scss
519
+ - app/packs/stylesheets/decidim/dev/_bullet.scss
478
520
  - app/packs/stylesheets/decidim/dev/_map.scss
521
+ - app/packs/stylesheets/decidim/dev/_rack_profiler.scss
479
522
  - app/presenters/decidim/dev/official_author_presenter.rb
480
523
  - app/serializers/decidim/dev/dummy_serializer.rb
481
524
  - app/views/decidim/dev/dummy_resources/foo.html.erb
482
525
  - app/views/decidim/dev/dummy_resources/show.html.erb
483
- - app/views/decidim/dummy_resource/_linked_dummys.html.erb
526
+ - app/views/decidim/dummy_resource/_linked_dummies.html.erb
484
527
  - config/assets.rb
485
528
  - config/locales/am-ET.yml
486
529
  - config/locales/ar-SA.yml
@@ -564,6 +607,7 @@ files:
564
607
  - config/locales/zh-TW.yml
565
608
  - config/rubocop/disabled.yml
566
609
  - config/rubocop/faker.yml
610
+ - config/rubocop/performance.yml
567
611
  - config/rubocop/rails.yml
568
612
  - config/rubocop/rspec.yml
569
613
  - config/rubocop/ruby.yml
@@ -626,16 +670,17 @@ files:
626
670
  - lib/decidim/dev/component.rb
627
671
  - lib/decidim/dev/dummy_translator.rb
628
672
  - lib/decidim/dev/engine.rb
673
+ - lib/decidim/dev/needs_development_tools.rb
629
674
  - lib/decidim/dev/railtie.rb
630
675
  - lib/decidim/dev/test/authorization_shared_examples.rb
631
676
  - lib/decidim/dev/test/base_spec_helper.rb
632
677
  - lib/decidim/dev/test/factories.rb
633
678
  - lib/decidim/dev/test/form_to_param_shared_examples.rb
679
+ - lib/decidim/dev/test/map_server.rb
634
680
  - lib/decidim/dev/test/promoted_participatory_processes_shared_examples.rb
635
681
  - lib/decidim/dev/test/rspec_support/accessibility_examples.rb
636
682
  - lib/decidim/dev/test/rspec_support/action_mailer.rb
637
683
  - lib/decidim/dev/test/rspec_support/active_job.rb
638
- - lib/decidim/dev/test/rspec_support/activestorage_matchers.rb
639
684
  - lib/decidim/dev/test/rspec_support/attachment_helpers.rb
640
685
  - lib/decidim/dev/test/rspec_support/authorization.rb
641
686
  - lib/decidim/dev/test/rspec_support/autocomplete_select.rb
@@ -651,6 +696,8 @@ files:
651
696
  - lib/decidim/dev/test/rspec_support/content_processing.rb
652
697
  - lib/decidim/dev/test/rspec_support/controller_example_group.rb
653
698
  - lib/decidim/dev/test/rspec_support/data_consent.rb
699
+ - lib/decidim/dev/test/rspec_support/datepicker_date_fill.rb
700
+ - lib/decidim/dev/test/rspec_support/datepicker_time_fill.rb
654
701
  - lib/decidim/dev/test/rspec_support/decidim_sanitization.rb
655
702
  - lib/decidim/dev/test/rspec_support/dynamic_attach.rb
656
703
  - lib/decidim/dev/test/rspec_support/editor_context.rb
@@ -706,14 +753,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
706
753
  requirements:
707
754
  - - "~>"
708
755
  - !ruby/object:Gem::Version
709
- version: 3.1.0
756
+ version: 3.2.0
710
757
  required_rubygems_version: !ruby/object:Gem::Requirement
711
758
  requirements:
712
- - - ">="
759
+ - - ">"
713
760
  - !ruby/object:Gem::Version
714
- version: '0'
761
+ version: 1.3.1
715
762
  requirements: []
716
- rubygems_version: 3.3.7
763
+ rubygems_version: 3.4.10
717
764
  signing_key:
718
765
  specification_version: 4
719
766
  summary: Decidim dev tools
@@ -1,148 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveStorageMatchers
4
- def be_blob_url(expected)
5
- BeBlobUrl.new(expected)
6
- end
7
-
8
- def include_blob_urls(*expected)
9
- IncludeBlobUrls.new(expected)
10
- end
11
-
12
- class BlobMatch
13
- BLOB_URL_MATCHERS = {
14
- redirect: %r{/rails/active_storage/blobs/redirect/([^/]+)/([^/]+)$},
15
- representation: %r{/rails/active_storage/representations/redirect/([^/]+)/([^/]+)/([^/]+)$},
16
- disk: %r{/rails/active_storage/disk/([^/]+)/([^/]+)$}
17
- }.freeze
18
-
19
- def initialize(url)
20
- @url = url
21
- end
22
-
23
- def blob
24
- return unless key_match
25
-
26
- @blob ||=
27
- case url_type
28
- when :redirect, :representation
29
- ActiveStorage::Blob.find_signed(key_match)
30
- when :disk
31
- decoded = ActiveStorage.verifier.verified(key_match, purpose: :blob_key)
32
- ActiveStorage::Blob.find_by(key: decoded[:key]) if decoded
33
- end
34
- end
35
-
36
- def variation
37
- return unless variation_match
38
-
39
- blob.representation(variation_match)
40
- end
41
-
42
- def key_match
43
- return unless match
44
-
45
- match[1]
46
- end
47
-
48
- def variation_match
49
- return unless match
50
-
51
- match[2] if url_type == :representation
52
- end
53
-
54
- def filename_match
55
- return unless match
56
-
57
- case url_type
58
- when :representation
59
- match[3]
60
- else
61
- match[2]
62
- end
63
- end
64
-
65
- private
66
-
67
- attr_reader :url, :url_type
68
-
69
- def match
70
- return @match if @url_type
71
-
72
- @url_type = :none
73
- @match = nil
74
- BLOB_URL_MATCHERS.each do |type, matcher|
75
- @match = url.match(matcher)
76
- if @match
77
- @url_type = type
78
- break
79
- end
80
- end
81
-
82
- @match
83
- end
84
- end
85
-
86
- class BeBlobUrl
87
- def initialize(expected)
88
- @expected = expected
89
- end
90
-
91
- def description
92
- "be a blob URL"
93
- end
94
-
95
- def matches?(actual)
96
- @actual = actual
97
- match = BlobMatch.new(actual)
98
- match.blob == expected
99
- end
100
-
101
- def failure_message
102
- "expected #{actual} to match blob with ID #{expected.id}"
103
- end
104
-
105
- def failure_message_when_negated
106
- "expected #{actual} not to match blob with ID #{expected.id}"
107
- end
108
-
109
- private
110
-
111
- attr_reader :expected, :actual
112
- end
113
-
114
- class IncludeBlobUrls
115
- def initialize(expected)
116
- @expected = expected
117
- end
118
-
119
- def description
120
- "include blob URLs"
121
- end
122
-
123
- def matches?(actual)
124
- @actual = actual
125
-
126
- actual.all? do |url|
127
- match = BlobMatch.new(url)
128
- expected.include?(match.blob)
129
- end
130
- end
131
-
132
- def failure_message
133
- "expected #{actual.inspect} to match blobs with ID #{expected.map(&:id).join(", ")}"
134
- end
135
-
136
- def failure_message_when_negated
137
- "expected #{actual.inspect} not to match blobs with ID #{expected.map(&:id).join(", ")}"
138
- end
139
-
140
- private
141
-
142
- attr_reader :expected, :actual
143
- end
144
- end
145
-
146
- RSpec.configure do |config|
147
- config.include ActiveStorageMatchers
148
- end