decidim-dev 0.6.8 → 0.7.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 +4 -4
- data/config/locales/fr.yml +1 -1
- data/config/locales/ru.yml +9 -0
- data/lib/decidim/dev/test/promoted_participatory_processes_shared_examples.rb +3 -3
- data/lib/decidim/dev/test/rspec_support/authorization_handlers.rb +9 -3
- data/lib/decidim/dev/test/rspec_support/capybara.rb +3 -2
- data/lib/decidim/dev/test/rspec_support/capybara_select2.rb +15 -18
- data/lib/decidim/dev/test/rspec_support/feature.rb +22 -16
- data/lib/decidim/dev/test/rspec_support/phantomjs_polyfills/weakmap-polyfill.js +144 -0
- data/lib/decidim/dev/test/spec_helper.rb +0 -5
- data/lib/decidim/dev/version.rb +10 -0
- data/lib/generators/decidim/dummy_generator.rb +4 -7
- metadata +57 -55
- data/lib/decidim/dev/dummy_authorization_handler.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 589e2d9ba327ce3a9251b3b5e8e1a24f76c00f15
|
4
|
+
data.tar.gz: 204078584e3c2cd34ae445a3e12968800476f118
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1cdbae0464475b3a92cc34c5148b019bb3beadbd2c3956d15abdddf911595d8519bd192ca322bac713055ee6239efa792fd96570320a0a68d7f53faf9d08c883
|
7
|
+
data.tar.gz: 64d04c05e2e07966034a232cd06a95079161d4445d78e7ff41c0e5c0eaa43596d4cff12635edbb57581cd0154c18e0d93ff3ada12fb5bf4d506eba22a1d86b65
|
data/config/locales/fr.yml
CHANGED
@@ -29,7 +29,7 @@ shared_examples "with promoted participatory processes" do
|
|
29
29
|
:promoted,
|
30
30
|
organization: organization
|
31
31
|
)
|
32
|
-
last.active_step.
|
32
|
+
last.active_step.update_attributes!(end_date: nil)
|
33
33
|
|
34
34
|
first = create(
|
35
35
|
:participatory_process,
|
@@ -39,7 +39,7 @@ shared_examples "with promoted participatory processes" do
|
|
39
39
|
organization: organization,
|
40
40
|
end_date: Time.current.advance(days: 10)
|
41
41
|
)
|
42
|
-
first.active_step.
|
42
|
+
first.active_step.update_attributes!(end_date: Time.current.advance(days: 2))
|
43
43
|
|
44
44
|
second = create(
|
45
45
|
:participatory_process,
|
@@ -49,7 +49,7 @@ shared_examples "with promoted participatory processes" do
|
|
49
49
|
organization: organization,
|
50
50
|
end_date: Time.current.advance(days: 8)
|
51
51
|
)
|
52
|
-
second.active_step.
|
52
|
+
second.active_step.update_attributes!(end_date: Time.current.advance(days: 4))
|
53
53
|
|
54
54
|
expect(controller.helpers.promoted_participatory_processes)
|
55
55
|
.to match_array([first, second, last])
|
@@ -1,8 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "decidim/dev/dummy_authorization_handler"
|
4
3
|
RSpec.configure do |config|
|
5
|
-
config.
|
6
|
-
|
4
|
+
config.around(:example, without_authorizations: true) do |example|
|
5
|
+
begin
|
6
|
+
previous_handlers = Decidim.authorization_handlers
|
7
|
+
Decidim.authorization_handlers = []
|
8
|
+
|
9
|
+
example.run
|
10
|
+
ensure
|
11
|
+
Decidim.authorization_handlers = previous_handlers
|
12
|
+
end
|
7
13
|
end
|
8
14
|
end
|
@@ -25,11 +25,12 @@ capybara_options = {
|
|
25
25
|
extensions: [
|
26
26
|
File.join(__dir__, "phantomjs_polyfills", "promise.js"),
|
27
27
|
File.join(__dir__, "phantomjs_polyfills", "phantomjs-shim.js"),
|
28
|
-
File.join(__dir__, "phantomjs_polyfills", "phantomjs-getOwnPropertyNames.js")
|
28
|
+
File.join(__dir__, "phantomjs_polyfills", "phantomjs-getOwnPropertyNames.js"),
|
29
|
+
File.join(__dir__, "phantomjs_polyfills", "weakmap-polyfill.js")
|
29
30
|
],
|
30
31
|
js_errors: true,
|
31
32
|
url_whitelist: ["http://*.lvh.me", "localhost", "127.0.0.1"],
|
32
|
-
timeout:
|
33
|
+
timeout: 2.minutes
|
33
34
|
}
|
34
35
|
|
35
36
|
Capybara.register_driver :poltergeist do |app|
|
@@ -1,35 +1,32 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
#
|
3
|
+
# Adapted from https://github.com/goodwill/capybara-select2
|
4
4
|
|
5
5
|
module Capybara
|
6
6
|
module Select2
|
7
|
-
def select2(value,
|
8
|
-
|
7
|
+
def select2(value, xpath:, search:)
|
8
|
+
expect(page).to have_xpath(xpath)
|
9
|
+
select2_container = find(:xpath, xpath)
|
9
10
|
|
10
|
-
|
11
|
-
select2_container = find(:xpath, options[:xpath])
|
12
|
-
elsif options.has_key? :css
|
13
|
-
select2_container = find(:css, options[:css])
|
14
|
-
else
|
15
|
-
select_name = options[:from]
|
16
|
-
select2_container = find("label", text: select_name).find(:xpath, "..").find(".select2-container")
|
17
|
-
end
|
18
|
-
|
19
|
-
# Open select2 field
|
11
|
+
expect(select2_container).to have_selector(".select2-selection")
|
20
12
|
select2_container.find(".select2-selection").click
|
21
13
|
|
22
|
-
if
|
23
|
-
find(:xpath, "//body")
|
14
|
+
if search
|
15
|
+
body = find(:xpath, "//body")
|
16
|
+
expect(body).to have_selector(".select2-search input.select2-search__field")
|
17
|
+
body.find(".select2-search input.select2-search__field").set(value)
|
18
|
+
|
24
19
|
page.execute_script(%|$("input.select2-search__field:visible").keyup();|)
|
25
20
|
drop_container = ".select2-results"
|
26
21
|
else
|
27
22
|
drop_container = ".select2-dropdown"
|
28
23
|
end
|
29
24
|
|
30
|
-
|
31
|
-
|
32
|
-
|
25
|
+
expect(page).to have_no_content("Searching...")
|
26
|
+
|
27
|
+
body = find(:xpath, "//body")
|
28
|
+
expect(body).to have_selector("#{drop_container} li.select2-results__option", text: value)
|
29
|
+
body.find("#{drop_container} li.select2-results__option", text: value).click
|
33
30
|
end
|
34
31
|
end
|
35
32
|
end
|
@@ -27,20 +27,26 @@ module Decidim
|
|
27
27
|
include Decidim::Events::NotificationEvent
|
28
28
|
end
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
30
|
+
module DummyResources
|
31
|
+
class ApplicationRecord < ActiveRecord::Base
|
32
|
+
self.abstract_class = true
|
33
|
+
end
|
34
|
+
|
35
|
+
class DummyResource < ApplicationRecord
|
36
|
+
include HasFeature
|
37
|
+
include Resourceable
|
38
|
+
include Reportable
|
39
|
+
include Authorable
|
40
|
+
include HasCategory
|
41
|
+
include HasScope
|
42
|
+
include Decidim::Comments::Commentable
|
43
|
+
include Followable
|
44
|
+
|
45
|
+
feature_manifest_name "dummy"
|
46
|
+
|
47
|
+
def reported_content_url
|
48
|
+
ResourceLocatorPresenter.new(self).url
|
49
|
+
end
|
44
50
|
end
|
45
51
|
end
|
46
52
|
|
@@ -49,7 +55,7 @@ module Decidim
|
|
49
55
|
skip_authorization_check
|
50
56
|
|
51
57
|
def show
|
52
|
-
@commentable = DummyResource.find(params[:id])
|
58
|
+
@commentable = DummyResources::DummyResource.find(params[:id])
|
53
59
|
render inline: %{
|
54
60
|
<%= csrf_meta_tags %>
|
55
61
|
<%= display_flash_messages %>
|
@@ -94,7 +100,7 @@ Decidim.register_feature(:dummy) do |feature|
|
|
94
100
|
|
95
101
|
feature.register_resource do |resource|
|
96
102
|
resource.name = :dummy
|
97
|
-
resource.model_class_name = "Decidim::DummyResource"
|
103
|
+
resource.model_class_name = "Decidim::DummyResources::DummyResource"
|
98
104
|
resource.template = "decidim/dummy_resource/linked_dummys"
|
99
105
|
end
|
100
106
|
|
@@ -0,0 +1,144 @@
|
|
1
|
+
/*!
|
2
|
+
* weakmap-polyfill v2.0.0 - ECMAScript6 WeakMap polyfill
|
3
|
+
* https://github.com/polygonplanet/weakmap-polyfill
|
4
|
+
* Copyright (c) 2015-2016 polygon planet <polygon.planet.aqua@gmail.com>
|
5
|
+
* @license MIT
|
6
|
+
*/
|
7
|
+
|
8
|
+
(function(self) {
|
9
|
+
'use strict';
|
10
|
+
|
11
|
+
if (self.WeakMap) {
|
12
|
+
return;
|
13
|
+
}
|
14
|
+
|
15
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
16
|
+
var defineProperty = function(object, name, value) {
|
17
|
+
if (Object.defineProperty) {
|
18
|
+
Object.defineProperty(object, name, {
|
19
|
+
configurable: true,
|
20
|
+
writable: true,
|
21
|
+
value: value
|
22
|
+
});
|
23
|
+
} else {
|
24
|
+
object[name] = value;
|
25
|
+
}
|
26
|
+
};
|
27
|
+
|
28
|
+
self.WeakMap = (function() {
|
29
|
+
|
30
|
+
// ECMA-262 23.3 WeakMap Objects
|
31
|
+
function WeakMap() {
|
32
|
+
if (this === void 0) {
|
33
|
+
throw new TypeError("Constructor WeakMap requires 'new'");
|
34
|
+
}
|
35
|
+
|
36
|
+
defineProperty(this, '_id', genId('_WeakMap'));
|
37
|
+
|
38
|
+
// ECMA-262 23.3.1.1 WeakMap([iterable])
|
39
|
+
if (arguments.length > 0) {
|
40
|
+
// Currently, WeakMap `iterable` argument is not supported
|
41
|
+
throw new TypeError('WeakMap iterable is not supported');
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
// ECMA-262 23.3.3.2 WeakMap.prototype.delete(key)
|
46
|
+
defineProperty(WeakMap.prototype, 'delete', function(key) {
|
47
|
+
checkInstance(this, 'delete');
|
48
|
+
|
49
|
+
if (!isObject(key)) {
|
50
|
+
return false;
|
51
|
+
}
|
52
|
+
|
53
|
+
var entry = key[this._id];
|
54
|
+
if (entry && entry[0] === key) {
|
55
|
+
delete key[this._id];
|
56
|
+
return true;
|
57
|
+
}
|
58
|
+
|
59
|
+
return false;
|
60
|
+
});
|
61
|
+
|
62
|
+
// ECMA-262 23.3.3.3 WeakMap.prototype.get(key)
|
63
|
+
defineProperty(WeakMap.prototype, 'get', function(key) {
|
64
|
+
checkInstance(this, 'get');
|
65
|
+
|
66
|
+
if (!isObject(key)) {
|
67
|
+
return void 0;
|
68
|
+
}
|
69
|
+
|
70
|
+
var entry = key[this._id];
|
71
|
+
if (entry && entry[0] === key) {
|
72
|
+
return entry[1];
|
73
|
+
}
|
74
|
+
|
75
|
+
return void 0;
|
76
|
+
});
|
77
|
+
|
78
|
+
// ECMA-262 23.3.3.4 WeakMap.prototype.has(key)
|
79
|
+
defineProperty(WeakMap.prototype, 'has', function(key) {
|
80
|
+
checkInstance(this, 'has');
|
81
|
+
|
82
|
+
if (!isObject(key)) {
|
83
|
+
return false;
|
84
|
+
}
|
85
|
+
|
86
|
+
var entry = key[this._id];
|
87
|
+
if (entry && entry[0] === key) {
|
88
|
+
return true;
|
89
|
+
}
|
90
|
+
|
91
|
+
return false;
|
92
|
+
});
|
93
|
+
|
94
|
+
// ECMA-262 23.3.3.5 WeakMap.prototype.set(key, value)
|
95
|
+
defineProperty(WeakMap.prototype, 'set', function(key, value) {
|
96
|
+
checkInstance(this, 'set');
|
97
|
+
|
98
|
+
if (!isObject(key)) {
|
99
|
+
throw new TypeError('Invalid value used as weak map key');
|
100
|
+
}
|
101
|
+
|
102
|
+
var entry = key[this._id];
|
103
|
+
if (entry && entry[0] === key) {
|
104
|
+
entry[1] = value;
|
105
|
+
return this;
|
106
|
+
}
|
107
|
+
|
108
|
+
defineProperty(key, this._id, [key, value]);
|
109
|
+
return this;
|
110
|
+
});
|
111
|
+
|
112
|
+
|
113
|
+
function checkInstance(x, methodName) {
|
114
|
+
if (!isObject(x) || !hasOwnProperty.call(x, '_id')) {
|
115
|
+
throw new TypeError(
|
116
|
+
methodName + ' method called on incompatible receiver ' +
|
117
|
+
typeof x
|
118
|
+
);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
|
122
|
+
function genId(prefix) {
|
123
|
+
return prefix + '_' + rand() + '.' + rand();
|
124
|
+
}
|
125
|
+
|
126
|
+
function rand() {
|
127
|
+
return Math.random().toString().substring(2);
|
128
|
+
}
|
129
|
+
|
130
|
+
|
131
|
+
defineProperty(WeakMap, '_polyfill', true);
|
132
|
+
return WeakMap;
|
133
|
+
})();
|
134
|
+
|
135
|
+
|
136
|
+
function isObject(x) {
|
137
|
+
return Object(x) === x;
|
138
|
+
}
|
139
|
+
|
140
|
+
})(
|
141
|
+
typeof self !== 'undefined' ? self :
|
142
|
+
typeof window !== 'undefined' ? window :
|
143
|
+
typeof global !== 'undefined' ? global : this
|
144
|
+
);
|
@@ -14,8 +14,8 @@ module Decidim
|
|
14
14
|
# all the flags passed to the `AppGenerator` class, which is the one that
|
15
15
|
# actually generates the Rails app.
|
16
16
|
#
|
17
|
-
# Remember that,
|
18
|
-
# definition order of the public methods.
|
17
|
+
# Remember that, because of how generators work, actions are executed based
|
18
|
+
# on the definition order of the public methods.
|
19
19
|
class DummyGenerator < Rails::Generators::Base
|
20
20
|
desc "Generate dummy app for testing purposes"
|
21
21
|
|
@@ -42,7 +42,8 @@ module Decidim
|
|
42
42
|
"../..",
|
43
43
|
"--app_const_base=DummyApplication",
|
44
44
|
"--recreate_db",
|
45
|
-
"--skip_gemfile=#{options[:skip_gemfile]}"
|
45
|
+
"--skip_gemfile=#{options[:skip_gemfile]}",
|
46
|
+
"--demo"
|
46
47
|
]
|
47
48
|
end
|
48
49
|
|
@@ -79,10 +80,6 @@ module Decidim
|
|
79
80
|
def remove_directory_if_exists(path)
|
80
81
|
remove_dir(path) if File.directory?(path)
|
81
82
|
end
|
82
|
-
|
83
|
-
def dir_name
|
84
|
-
dummy_app_path.split("/").last
|
85
|
-
end
|
86
83
|
end
|
87
84
|
end
|
88
85
|
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.
|
4
|
+
version: 0.7.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: 2017-10-
|
13
|
+
date: 2017-10-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: decidim
|
@@ -18,14 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.7.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - '='
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.
|
28
|
+
version: 0.7.0
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: factory_girl_rails
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -46,70 +46,70 @@ dependencies:
|
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 1.6
|
49
|
+
version: '1.6'
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 1.6
|
56
|
+
version: '1.6'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: capybara
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 2.15
|
63
|
+
version: '2.15'
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 2.15
|
70
|
+
version: '2.15'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: capybara-screenshot
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
75
|
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 1.0
|
77
|
+
version: '1.0'
|
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: 1.0
|
84
|
+
version: '1.0'
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: rspec-rails
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: 3.6
|
91
|
+
version: '3.6'
|
92
92
|
type: :runtime
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: 3.6
|
98
|
+
version: '3.6'
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: rspec-repeat
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
103
|
- - "~>"
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: 1.0
|
105
|
+
version: '1.0'
|
106
106
|
type: :runtime
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - "~>"
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: 1.0
|
112
|
+
version: '1.0'
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: byebug
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,28 +144,14 @@ dependencies:
|
|
144
144
|
requirements:
|
145
145
|
- - "~>"
|
146
146
|
- !ruby/object:Gem::Version
|
147
|
-
version: 3.1
|
147
|
+
version: '3.1'
|
148
148
|
type: :runtime
|
149
149
|
prerelease: false
|
150
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
151
|
requirements:
|
152
152
|
- - "~>"
|
153
153
|
- !ruby/object:Gem::Version
|
154
|
-
version: 3.1
|
155
|
-
- !ruby/object:Gem::Dependency
|
156
|
-
name: launchy
|
157
|
-
requirement: !ruby/object:Gem::Requirement
|
158
|
-
requirements:
|
159
|
-
- - ">="
|
160
|
-
- !ruby/object:Gem::Version
|
161
|
-
version: '0'
|
162
|
-
type: :runtime
|
163
|
-
prerelease: false
|
164
|
-
version_requirements: !ruby/object:Gem::Requirement
|
165
|
-
requirements:
|
166
|
-
- - ">="
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
version: '0'
|
154
|
+
version: '3.1'
|
169
155
|
- !ruby/object:Gem::Dependency
|
170
156
|
name: i18n-tasks
|
171
157
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,48 +166,34 @@ dependencies:
|
|
180
166
|
- - '='
|
181
167
|
- !ruby/object:Gem::Version
|
182
168
|
version: 0.9.18
|
183
|
-
- !ruby/object:Gem::Dependency
|
184
|
-
name: faker
|
185
|
-
requirement: !ruby/object:Gem::Requirement
|
186
|
-
requirements:
|
187
|
-
- - "~>"
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: 1.8.4
|
190
|
-
type: :runtime
|
191
|
-
prerelease: false
|
192
|
-
version_requirements: !ruby/object:Gem::Requirement
|
193
|
-
requirements:
|
194
|
-
- - "~>"
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
version: 1.8.4
|
197
169
|
- !ruby/object:Gem::Dependency
|
198
170
|
name: poltergeist
|
199
171
|
requirement: !ruby/object:Gem::Requirement
|
200
172
|
requirements:
|
201
173
|
- - "~>"
|
202
174
|
- !ruby/object:Gem::Version
|
203
|
-
version: 1.16
|
175
|
+
version: '1.16'
|
204
176
|
type: :runtime
|
205
177
|
prerelease: false
|
206
178
|
version_requirements: !ruby/object:Gem::Requirement
|
207
179
|
requirements:
|
208
180
|
- - "~>"
|
209
181
|
- !ruby/object:Gem::Version
|
210
|
-
version: 1.16
|
182
|
+
version: '1.16'
|
211
183
|
- !ruby/object:Gem::Dependency
|
212
184
|
name: rails-controller-testing
|
213
185
|
requirement: !ruby/object:Gem::Requirement
|
214
186
|
requirements:
|
215
187
|
- - "~>"
|
216
188
|
- !ruby/object:Gem::Version
|
217
|
-
version: 1.0
|
189
|
+
version: '1.0'
|
218
190
|
type: :runtime
|
219
191
|
prerelease: false
|
220
192
|
version_requirements: !ruby/object:Gem::Requirement
|
221
193
|
requirements:
|
222
194
|
- - "~>"
|
223
195
|
- !ruby/object:Gem::Version
|
224
|
-
version: 1.0
|
196
|
+
version: '1.0'
|
225
197
|
- !ruby/object:Gem::Dependency
|
226
198
|
name: simplecov
|
227
199
|
requirement: !ruby/object:Gem::Requirement
|
@@ -256,14 +228,14 @@ dependencies:
|
|
256
228
|
requirements:
|
257
229
|
- - "~>"
|
258
230
|
- !ruby/object:Gem::Version
|
259
|
-
version: 0.
|
231
|
+
version: 0.50.0
|
260
232
|
type: :runtime
|
261
233
|
prerelease: false
|
262
234
|
version_requirements: !ruby/object:Gem::Requirement
|
263
235
|
requirements:
|
264
236
|
- - "~>"
|
265
237
|
- !ruby/object:Gem::Version
|
266
|
-
version: 0.
|
238
|
+
version: 0.50.0
|
267
239
|
- !ruby/object:Gem::Dependency
|
268
240
|
name: db-query-matchers
|
269
241
|
requirement: !ruby/object:Gem::Requirement
|
@@ -298,14 +270,42 @@ dependencies:
|
|
298
270
|
requirements:
|
299
271
|
- - "~>"
|
300
272
|
- !ruby/object:Gem::Version
|
301
|
-
version: 3.0
|
273
|
+
version: '3.0'
|
274
|
+
type: :runtime
|
275
|
+
prerelease: false
|
276
|
+
version_requirements: !ruby/object:Gem::Requirement
|
277
|
+
requirements:
|
278
|
+
- - "~>"
|
279
|
+
- !ruby/object:Gem::Version
|
280
|
+
version: '3.0'
|
281
|
+
- !ruby/object:Gem::Dependency
|
282
|
+
name: puma
|
283
|
+
requirement: !ruby/object:Gem::Requirement
|
284
|
+
requirements:
|
285
|
+
- - "~>"
|
286
|
+
- !ruby/object:Gem::Version
|
287
|
+
version: '3.10'
|
288
|
+
type: :runtime
|
289
|
+
prerelease: false
|
290
|
+
version_requirements: !ruby/object:Gem::Requirement
|
291
|
+
requirements:
|
292
|
+
- - "~>"
|
293
|
+
- !ruby/object:Gem::Version
|
294
|
+
version: '3.10'
|
295
|
+
- !ruby/object:Gem::Dependency
|
296
|
+
name: nokogiri
|
297
|
+
requirement: !ruby/object:Gem::Requirement
|
298
|
+
requirements:
|
299
|
+
- - "~>"
|
300
|
+
- !ruby/object:Gem::Version
|
301
|
+
version: '1.8'
|
302
302
|
type: :runtime
|
303
303
|
prerelease: false
|
304
304
|
version_requirements: !ruby/object:Gem::Requirement
|
305
305
|
requirements:
|
306
306
|
- - "~>"
|
307
307
|
- !ruby/object:Gem::Version
|
308
|
-
version:
|
308
|
+
version: '1.8'
|
309
309
|
description: Utilities and tools we need to develop Decidim
|
310
310
|
email:
|
311
311
|
- josepjaume@gmail.com
|
@@ -328,6 +328,7 @@ files:
|
|
328
328
|
- config/locales/it.yml
|
329
329
|
- config/locales/nl.yml
|
330
330
|
- config/locales/pl.yml
|
331
|
+
- config/locales/ru.yml
|
331
332
|
- config/locales/uk.yml
|
332
333
|
- lib/decidim/dev.rb
|
333
334
|
- lib/decidim/dev/assets/Exampledocument.pdf
|
@@ -338,7 +339,6 @@ files:
|
|
338
339
|
- lib/decidim/dev/assets/icon.png
|
339
340
|
- lib/decidim/dev/assets/malicious.jpg
|
340
341
|
- lib/decidim/dev/common_rake.rb
|
341
|
-
- lib/decidim/dev/dummy_authorization_handler.rb
|
342
342
|
- lib/decidim/dev/railtie.rb
|
343
343
|
- lib/decidim/dev/test/authorization_shared_examples.rb
|
344
344
|
- lib/decidim/dev/test/base_spec_helper.rb
|
@@ -361,12 +361,14 @@ files:
|
|
361
361
|
- lib/decidim/dev/test/rspec_support/phantomjs_polyfills/phantomjs-getOwnPropertyNames.js
|
362
362
|
- lib/decidim/dev/test/rspec_support/phantomjs_polyfills/phantomjs-shim.js
|
363
363
|
- lib/decidim/dev/test/rspec_support/phantomjs_polyfills/promise.js
|
364
|
+
- lib/decidim/dev/test/rspec_support/phantomjs_polyfills/weakmap-polyfill.js
|
364
365
|
- lib/decidim/dev/test/rspec_support/route_helpers.rb
|
365
366
|
- lib/decidim/dev/test/rspec_support/translation_helpers.rb
|
366
367
|
- lib/decidim/dev/test/rspec_support/warden.rb
|
367
368
|
- lib/decidim/dev/test/rspec_support/webmock.rb
|
368
369
|
- lib/decidim/dev/test/rspec_support/wisper.rb
|
369
370
|
- lib/decidim/dev/test/spec_helper.rb
|
371
|
+
- lib/decidim/dev/version.rb
|
370
372
|
- lib/generators/decidim/dummy_generator.rb
|
371
373
|
- lib/generators/decidim/templates/autoprefixer.yml
|
372
374
|
- lib/generators/decidim/templates/autoprefixer_initializer.rb
|
@@ -375,7 +377,7 @@ files:
|
|
375
377
|
- lib/tasks/test_app.rake
|
376
378
|
homepage: https://github.com/decidim/decidim
|
377
379
|
licenses:
|
378
|
-
-
|
380
|
+
- AGPL-3.0
|
379
381
|
metadata: {}
|
380
382
|
post_install_message:
|
381
383
|
rdoc_options: []
|
@@ -393,7 +395,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
393
395
|
version: '0'
|
394
396
|
requirements: []
|
395
397
|
rubyforge_project:
|
396
|
-
rubygems_version: 2.6.
|
398
|
+
rubygems_version: 2.6.13
|
397
399
|
signing_key:
|
398
400
|
specification_version: 4
|
399
401
|
summary: Decidim Dev tools
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
# An example implementation of an AuthorizationHandler to be used in tests.
|
5
|
-
class DummyAuthorizationHandler < AuthorizationHandler
|
6
|
-
attribute :document_number, String
|
7
|
-
attribute :postal_code, String
|
8
|
-
attribute :birthday, Date
|
9
|
-
|
10
|
-
validates :document_number, presence: true
|
11
|
-
validate :valid_document_number
|
12
|
-
|
13
|
-
def metadata
|
14
|
-
super.merge(document_number: document_number)
|
15
|
-
end
|
16
|
-
|
17
|
-
def unique_id
|
18
|
-
document_number
|
19
|
-
end
|
20
|
-
|
21
|
-
private
|
22
|
-
|
23
|
-
def valid_document_number
|
24
|
-
errors.add(:document_number, :invalid) unless document_number.to_s.end_with?("X")
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|