decidim-dev 0.29.0.rc3 → 0.29.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 532ac1a2c87f914b38cd0ac1fc0a7803307f4008ab6aaa6b6dde29b33512f317
4
- data.tar.gz: 888f18d168c316b6fe7e1395f71b5cbbf5bbd162caa36941af3a01e7fca9c63c
3
+ metadata.gz: 480ef934e54b5fc844be08f117d10c6c02e99124528ff6869443d4e4d5715865
4
+ data.tar.gz: 11ca66bdc38faae3b4f3772e3d7a1b0f2fe585617993b919d10f207a0424954d
5
5
  SHA512:
6
- metadata.gz: 62a83d2bc9cb90abfcf4e5c153af5d91805c6ffdada4d0b47b1387945c50156fb6c9095fa5fce4c620a86743f09ffd7fa477f26b8c2fff6a9b930dfb5bc77747
7
- data.tar.gz: 7bbcc991b9a80332e430e187031761c3dcd41e856406825c24edfeba67046ad2d58d2505ebf760a0305c63d573012bbe310020039a771ff54403961cc3eb61e3
6
+ metadata.gz: 4033172626237fd53bcb0c8ea786e9f3f45daa64dfd6d894ebbbdbb5aec1ab74a8d9e0a2e24fa60f327c2b5a3118f4f8035dbc800c600614e89ad299eee3aebb
7
+ data.tar.gz: 0a2b89008c229215fececbe2f60d4a3ef7a8753ce20b95bcc5e8e18b232d3d288c398026d36d39f03f019893f4c259d574669b976c6641696abdb7442f712128
@@ -4,7 +4,7 @@ sv:
4
4
  attributes:
5
5
  dummy_resource:
6
6
  created_at: Skapad
7
- decidim_scope_id: Omfattning
7
+ decidim_scope_id: Indelning
8
8
  field: Mitt fält
9
9
  start_date: Startdatum
10
10
  title: Titel
data/decidim-dev.gemspec CHANGED
@@ -63,6 +63,8 @@ Gem::Specification.new do |s|
63
63
  s.add_dependency "selenium-webdriver", "~> 4.9"
64
64
  s.add_dependency "simplecov", "~> 0.22.0"
65
65
  s.add_dependency "simplecov-cobertura", "~> 2.1.0"
66
+ s.add_dependency "spring", "~> 4.0"
67
+ s.add_dependency "spring-watcher-listen", "~> 2.0"
66
68
  s.add_dependency "w3c_rspec_validators", "~> 0.3.0"
67
69
  s.add_dependency "webmock", "~> 3.18"
68
70
  s.add_dependency "wisper-rspec", "~> 1.0"
@@ -0,0 +1,148 @@
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
@@ -56,6 +56,7 @@ Capybara.register_driver :headless_chrome do |app|
56
56
  options = Selenium::WebDriver::Chrome::Options.new
57
57
  options.args << "--explicitly-allowed-ports=#{Capybara.server_port}"
58
58
  options.args << "--headless=new"
59
+ options.args << "--disable-search-engine-choice-screen" # Prevents closing the window normally
59
60
  # Do not limit browser resources
60
61
  options.args << "--disable-dev-shm-usage"
61
62
  options.args << "--no-sandbox"
@@ -45,4 +45,11 @@ RSpec.configure do |config|
45
45
  "connect-src": %W(#{Decidim::Dev::Test::MapServer.host})
46
46
  }
47
47
  end
48
+
49
+ config.before do
50
+ # Ensure that the current host is not set for any spec in order to test that
51
+ # the automatic current host definition is working correctly in all
52
+ # situations.
53
+ ActiveStorage::Current.url_options = {}
54
+ end
48
55
  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.29.0.rc3"
7
+ "0.29.0"
8
8
  end
9
9
  end
10
10
  end
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.29.0.rc3
4
+ version: 0.29.0
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-07-22 00:00:00.000000000 Z
13
+ date: 2024-09-10 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.29.0.rc3
35
+ version: 0.29.0
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.29.0.rc3
42
+ version: 0.29.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: factory_bot_rails
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -444,6 +444,34 @@ dependencies:
444
444
  - - "~>"
445
445
  - !ruby/object:Gem::Version
446
446
  version: 2.1.0
447
+ - !ruby/object:Gem::Dependency
448
+ name: spring
449
+ requirement: !ruby/object:Gem::Requirement
450
+ requirements:
451
+ - - "~>"
452
+ - !ruby/object:Gem::Version
453
+ version: '4.0'
454
+ type: :runtime
455
+ prerelease: false
456
+ version_requirements: !ruby/object:Gem::Requirement
457
+ requirements:
458
+ - - "~>"
459
+ - !ruby/object:Gem::Version
460
+ version: '4.0'
461
+ - !ruby/object:Gem::Dependency
462
+ name: spring-watcher-listen
463
+ requirement: !ruby/object:Gem::Requirement
464
+ requirements:
465
+ - - "~>"
466
+ - !ruby/object:Gem::Version
467
+ version: '2.0'
468
+ type: :runtime
469
+ prerelease: false
470
+ version_requirements: !ruby/object:Gem::Requirement
471
+ requirements:
472
+ - - "~>"
473
+ - !ruby/object:Gem::Version
474
+ version: '2.0'
447
475
  - !ruby/object:Gem::Dependency
448
476
  name: w3c_rspec_validators
449
477
  requirement: !ruby/object:Gem::Requirement
@@ -681,6 +709,7 @@ files:
681
709
  - lib/decidim/dev/test/rspec_support/accessibility_examples.rb
682
710
  - lib/decidim/dev/test/rspec_support/action_mailer.rb
683
711
  - lib/decidim/dev/test/rspec_support/active_job.rb
712
+ - lib/decidim/dev/test/rspec_support/activestorage_matchers.rb
684
713
  - lib/decidim/dev/test/rspec_support/attachment_helpers.rb
685
714
  - lib/decidim/dev/test/rspec_support/authorization.rb
686
715
  - lib/decidim/dev/test/rspec_support/autocomplete_select.rb
@@ -756,9 +785,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
756
785
  version: 3.2.0
757
786
  required_rubygems_version: !ruby/object:Gem::Requirement
758
787
  requirements:
759
- - - ">"
788
+ - - ">="
760
789
  - !ruby/object:Gem::Version
761
- version: 1.3.1
790
+ version: '0'
762
791
  requirements: []
763
792
  rubygems_version: 3.4.10
764
793
  signing_key: