decidim-dev 0.28.3 → 0.29.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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