decidim-dev 0.13.1 → 0.14.1
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/app/assets/images/decidim/gamification/badges/test.svg +145 -0
- data/config/locales/ca.yml +10 -0
- data/config/locales/en.yml +10 -0
- data/config/locales/es-PY.yml +10 -0
- data/config/locales/es.yml +10 -0
- data/config/locales/eu.yml +10 -0
- data/config/locales/fi.yml +17 -7
- data/config/locales/fr.yml +11 -1
- data/config/locales/gl.yml +10 -0
- data/config/locales/hu.yml +38 -0
- data/config/locales/it.yml +10 -0
- data/config/locales/nl.yml +10 -0
- data/config/locales/pl.yml +10 -0
- data/config/locales/pt-BR.yml +10 -0
- data/config/locales/pt.yml +10 -0
- data/config/locales/sv.yml +10 -0
- data/lib/decidim/dev/test/factories.rb +1 -1
- data/lib/decidim/dev/test/rspec_support/authorization.rb +2 -0
- data/lib/decidim/dev/test/rspec_support/capybara.rb +1 -0
- data/lib/decidim/dev/test/rspec_support/component.rb +6 -0
- data/lib/decidim/dev/test/rspec_support/gamification.rb +10 -0
- data/lib/decidim/dev/test/rspec_support/geocoder.rb +13 -0
- data/lib/decidim/dev/test/rspec_support/helpers.rb +1 -1
- data/lib/decidim/dev/test/rspec_support/translation_helpers.rb +6 -9
- data/lib/decidim/dev/test/spec_helper.rb +0 -2
- data/lib/decidim/dev/version.rb +1 -1
- metadata +24 -29
- data/lib/decidim/dev/test/ext/screenshot_helper.rb +0 -111
- data/lib/decidim/dev/test/screenshot_helper_ext.rb +0 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6c25ea76d43131809869549e86940c492c8037b1aedee4e81abe38d6e8e198e7
|
|
4
|
+
data.tar.gz: d187a93f0409aa3aaf307671858ce87ad391ba5f540aa73f1696157cc94328f5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 608e86180ff366011a2cea8e9ff9b248d097219c538e53c997c9c9a3807261f08b44dc9f8bab59ad5b3ad75f00069bbf1d58de693c2d0b9093caa6e5243e2019
|
|
7
|
+
data.tar.gz: c2a24a5756b0130562d91e5cb8927b999f1a51f227d9e26496e31a85555a2be1ea4063155ec01599337b812940bb1cdcf6f8d3cca314169efbc7e42a1264e7ff
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
<svg version="1.1" id="proposals-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
|
2
|
+
y="0px" width="1080px" height="1080px" viewBox="0 0 1080 1080" enable-background="new 0 0 1080 1080" xml:space="preserve">
|
|
3
|
+
<g id="proposals" class="stroke-primary">
|
|
4
|
+
<g id="sleeve">
|
|
5
|
+
|
|
6
|
+
<rect class="fill-primary" id="_x32_5-pct_1_" x="419.5" y="798.5" fill="#31536E" fill-opacity="0.25" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="251" height="286"/>
|
|
7
|
+
<rect class="fill-primary" x="419.5" y="911.5" fill="#31536E" width="251" height="173"/>
|
|
8
|
+
<circle fill="#FFFFFF" stroke="#31536E" stroke-width="8" stroke-miterlimit="10" cx="615.667" cy="864.668" r="22.5"/>
|
|
9
|
+
<circle class="fill-primary" fill="#31536E" cx="615.5" cy="864.5" r="13"/>
|
|
10
|
+
</g>
|
|
11
|
+
<g>
|
|
12
|
+
<g id="hand">
|
|
13
|
+
|
|
14
|
+
<path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
15
|
+
M650.395,674.5c51.605,0,58.62-90.165,64.562-154.237"/>
|
|
16
|
+
|
|
17
|
+
<line fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="457.5" y1="798.5" x2="457.5" y2="667.689"/>
|
|
18
|
+
|
|
19
|
+
<line fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="646.5" y1="675.5" x2="646.5" y2="798.5"/>
|
|
20
|
+
|
|
21
|
+
<path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
22
|
+
M451.324,498.5c0,0,31.176-4,64.176-32s32-81-4-111c-22,12-156,79-156,79l0,0v74c0,17.992-2.5,41,1.577,65.972
|
|
23
|
+
C377.942,619.5,401.5,665,466.031,667.689"/>
|
|
24
|
+
|
|
25
|
+
<path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
26
|
+
M505.818,513.229c12.682,29.272,13.405,80.272,8.682,102.271"/>
|
|
27
|
+
|
|
28
|
+
<path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
29
|
+
M468.5,380.5v-14.282c0-28.564,17.923-51.718,42.5-51.718l0,0c24.577,0,44.5,23.154,44.5,51.718v95.564
|
|
30
|
+
c0,28.563-19.923,51.718-44.5,51.718l0,0c-17.737,0-25.049-1.979-32.199-19.428"/>
|
|
31
|
+
|
|
32
|
+
<path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
33
|
+
M548.052,337.583c7.849-8.05,19.034-13.083,31.448-13.083l0,0c23.748,0,43,18.419,43,41.141v94.719
|
|
34
|
+
c0,22.721-19.252,41.14-43,41.14l0,0c-11.874,0-22.624-4.605-30.406-12.05"/>
|
|
35
|
+
|
|
36
|
+
<path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
37
|
+
M621.341,356.167c6.171-4.207,13.628-6.667,21.659-6.667l0,0c21.263,0,38.5,17.237,38.5,38.5v81c0,21.263-17.237,38.5-38.5,38.5
|
|
38
|
+
l0,0c-13.871,0-26.029-7.336-32.807-18.34"/>
|
|
39
|
+
|
|
40
|
+
<path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
41
|
+
M681.973,386.233c4.827-4.194,9.131-6.733,16.027-6.733l0,0c15.188,0,27.5,12.312,27.5,27.5v89c0,15.188-12.312,27.5-27.5,27.5
|
|
42
|
+
l0,0c-15.188,0-27.5-12.312-27.5-27.5"/>
|
|
43
|
+
<path class="fill-primary" id="_x32_5-pct_2_" fill="#31536E" fill-opacity="0.25" d="M688,523.5c-15.188,0-27.5-12.312-27.5-27.5l0.008-0.075
|
|
44
|
+
C653.52,503.064,643.779,507.5,633,507.5c-13.871,0-26.028-7.336-32.807-18.339c-7.803,7.611-18.669,12.339-30.693,12.339
|
|
45
|
+
c-11.874,0-22.624-4.605-30.406-12.051l-0.006-0.91C531.29,503.501,517.15,513.5,501,513.5c-10.683,0-18.826-16-27.386-20.245
|
|
46
|
+
c-5.651-2.803-13.74,8.544-14.813,0.817l10,35C475.952,546.522,490.26,623.5,524,623.5c16.15,0,18.094-67.051,18.094-67.051
|
|
47
|
+
c7.782,7.445,8.532,23.051,20.406,23.051c12.024,0,29.891-47.728,37.693-55.339C606.972,535.164,619.129,542.5,633,542.5
|
|
48
|
+
c10.779,0,20.52-4.436,27.508-11.575L660.5,531c0,15.188,12.312,27.5,27.5,27.5s27.5-12.312,27.5-27.5v-35
|
|
49
|
+
C715.5,511.188,703.188,523.5,688,523.5z"/>
|
|
50
|
+
<path fill="none" stroke="#31536E" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
51
|
+
M473.499,373.498c0,0,12.987,26.002,22.994,22.002s32.046-23.229,32.046-23.229"/>
|
|
52
|
+
|
|
53
|
+
<path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
54
|
+
M542.539,502.5c12.047,5.577,23.875,74.756,22.961,69"/>
|
|
55
|
+
</g>
|
|
56
|
+
</g>
|
|
57
|
+
|
|
58
|
+
<line fill="none" stroke="#31536E" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="638.5" y1="864.5" x2="648.5" y2="864.5"/>
|
|
59
|
+
|
|
60
|
+
<line fill="none" stroke="#31536E" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="580.5" y1="864.5" x2="593.5" y2="864.5"/>
|
|
61
|
+
<path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
62
|
+
M426.638,477.259"/>
|
|
63
|
+
<path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
64
|
+
M469.333,347.889V99.028c0-23.58-19.115-42.695-42.695-42.695l0,0c-23.58,0-42.696,19.115-42.696,42.695v320.536"/>
|
|
65
|
+
|
|
66
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-miterlimit="10" x1="404.098" y1="165.608" x2="447.455" y2="165.608"/>
|
|
67
|
+
|
|
68
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-miterlimit="10" x1="404.098" y1="269.608" x2="447.455" y2="269.608"/>
|
|
69
|
+
|
|
70
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-miterlimit="10" x1="404.098" y1="387.608" x2="447.455" y2="387.608"/>
|
|
71
|
+
<g id="stars_2" class="stars">
|
|
72
|
+
|
|
73
|
+
<path fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
74
|
+
M137.5,645.605c0-14.688-18.667-35.354-35.355-35.354c15.355,0,35.355-20.333,35.355-35.354c0,15.021,16.666,35.354,35.355,35.354
|
|
75
|
+
C153.833,610.251,137.5,630.918,137.5,645.605z"/>
|
|
76
|
+
<g>
|
|
77
|
+
|
|
78
|
+
<circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="1008.882" cy="708.662" r="13.5"/>
|
|
79
|
+
|
|
80
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="992.383" y1="691.927" x2="971.17" y2="670.714"/>
|
|
81
|
+
|
|
82
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="1026.324" y1="725.868" x2="1047.537" y2="747.081"/>
|
|
83
|
+
|
|
84
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="1025.617" y1="692.634" x2="1046.83" y2="671.421"/>
|
|
85
|
+
|
|
86
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="992.383" y1="725.868" x2="971.17" y2="747.081"/>
|
|
87
|
+
</g>
|
|
88
|
+
<g>
|
|
89
|
+
|
|
90
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="212.112" y1="161.345" x2="185.95" y2="187.508"/>
|
|
91
|
+
|
|
92
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="176.758" y1="196.701" x2="150.595" y2="222.864"/>
|
|
93
|
+
|
|
94
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="211.405" y1="222.864" x2="185.242" y2="196.701"/>
|
|
95
|
+
|
|
96
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="176.051" y1="187.508" x2="149.888" y2="161.345"/>
|
|
97
|
+
</g>
|
|
98
|
+
|
|
99
|
+
<path fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
|
100
|
+
M833.092,333.86c0,0-24.604,4.603-30.25,10.249c-5.646,5.646-10.248,30.249-10.248,30.249s-4.604-24.603-10.25-30.249
|
|
101
|
+
c-5.646-5.646-30.248-10.249-30.248-10.249s25.188-5.187,30.248-10.249c5.062-5.062,10.25-30.249,10.25-30.249
|
|
102
|
+
s4.604,24.603,10.248,30.249C808.488,329.257,833.092,333.86,833.092,333.86z"/>
|
|
103
|
+
<g>
|
|
104
|
+
|
|
105
|
+
<circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="978.834" cy="500.751" r="18.5"/>
|
|
106
|
+
|
|
107
|
+
<circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="938.834" cy="500.751" r="7.166"/>
|
|
108
|
+
|
|
109
|
+
<circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="978.834" cy="540.751" r="7.166"/>
|
|
110
|
+
|
|
111
|
+
<circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="1018.834" cy="500.751" r="7.166"/>
|
|
112
|
+
|
|
113
|
+
<circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="978.834" cy="460.751" r="7.166"/>
|
|
114
|
+
</g>
|
|
115
|
+
<g>
|
|
116
|
+
|
|
117
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="296.246" y1="682.224" x2="351.149" y2="737.129"/>
|
|
118
|
+
|
|
119
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="351.149" y1="682.224" x2="296.246" y2="737.129"/>
|
|
120
|
+
|
|
121
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="305.5" y1="709.251" x2="278.5" y2="709.251"/>
|
|
122
|
+
|
|
123
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="343.5" y1="709.251" x2="370.5" y2="709.251"/>
|
|
124
|
+
|
|
125
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="324.5" y1="728.251" x2="324.5" y2="755.251"/>
|
|
126
|
+
|
|
127
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="324.5" y1="690.251" x2="324.5" y2="663.251"/>
|
|
128
|
+
</g>
|
|
129
|
+
<g>
|
|
130
|
+
|
|
131
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="629.5" y1="122.251" x2="629.5" y2="201.251"/>
|
|
132
|
+
|
|
133
|
+
<line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="668.5" y1="162.251" x2="589.5" y2="162.251"/>
|
|
134
|
+
|
|
135
|
+
<circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="609.5" cy="181.751" r="7.039"/>
|
|
136
|
+
|
|
137
|
+
<circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="609.5" cy="141.751" r="7.039"/>
|
|
138
|
+
|
|
139
|
+
<circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="649.5" cy="181.751" r="7.039"/>
|
|
140
|
+
|
|
141
|
+
<circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="649.5" cy="141.751" r="7.039"/>
|
|
142
|
+
</g>
|
|
143
|
+
</g>
|
|
144
|
+
</g>
|
|
145
|
+
</svg>
|
data/config/locales/ca.yml
CHANGED
|
@@ -12,6 +12,16 @@ ca:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Maniquins
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Aquest usuari ha creat %{score} proves.
|
|
19
|
+
description_own: Heu creat %{score} proves.
|
|
20
|
+
explanation: Els usuaris obtenen aquesta insígnia creant proves.
|
|
21
|
+
name: Proves
|
|
22
|
+
next_level_in: Crea %{score} més proves per arribar al següent nivell!
|
|
23
|
+
unearned_another: Aquest usuari encara no ha creat cap prova.
|
|
24
|
+
unearned_own: Encara no has creat cap prova.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
data/config/locales/en.yml
CHANGED
|
@@ -13,6 +13,16 @@ en:
|
|
|
13
13
|
admin:
|
|
14
14
|
exports:
|
|
15
15
|
dummies: Dummies
|
|
16
|
+
gamification:
|
|
17
|
+
badges:
|
|
18
|
+
test:
|
|
19
|
+
description_another: This user has created %{score} tests.
|
|
20
|
+
description_own: You have created %{score} tests.
|
|
21
|
+
explanation: Users get this badge by creating tests.
|
|
22
|
+
name: Tests
|
|
23
|
+
next_level_in: Create %{score} more tests to reach the next level!
|
|
24
|
+
unearned_another: This user hasn't created any tests yet.
|
|
25
|
+
unearned_own: You have created no tests yet.
|
|
16
26
|
pages:
|
|
17
27
|
home:
|
|
18
28
|
statistics:
|
data/config/locales/es-PY.yml
CHANGED
|
@@ -12,6 +12,16 @@ es-PY:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Maniquíes
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Este usuario ha creado %{score} pruebas.
|
|
19
|
+
description_own: Has creado %{score} pruebas.
|
|
20
|
+
explanation: Los usuarios obtienen esta insignia al crear pruebas.
|
|
21
|
+
name: Pruebas
|
|
22
|
+
next_level_in: '¡Crea %{score} pruebas más para alcanzar el siguiente nivel!'
|
|
23
|
+
unearned_another: Este usuario aún no ha creado ninguna prueba.
|
|
24
|
+
unearned_own: No has creado ninguna prueba todavía.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
data/config/locales/es.yml
CHANGED
|
@@ -12,6 +12,16 @@ es:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Maniquíes
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Este usuario ha creado %{score} pruebas.
|
|
19
|
+
description_own: Has creado %{score} pruebas.
|
|
20
|
+
explanation: Los usuarios obtienen esta insignia al crear pruebas.
|
|
21
|
+
name: Pruebas
|
|
22
|
+
next_level_in: '¡Crea %{score} pruebas más para alcanzar el siguiente nivel!'
|
|
23
|
+
unearned_another: Este usuario aún no ha creado ninguna prueba.
|
|
24
|
+
unearned_own: No has creado ninguna prueba todavía.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
data/config/locales/eu.yml
CHANGED
|
@@ -12,6 +12,16 @@ eu:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Manikiak
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Erabiltzaile honek %{score} proba egin ditu.
|
|
19
|
+
description_own: '%{score} proba sortu dituzu.'
|
|
20
|
+
explanation: Erabiltzaileek plaka hau lortzen dute probak sortzeko.
|
|
21
|
+
name: probak
|
|
22
|
+
next_level_in: Sortu %{score} proba gehiago hurrengo mailara iristeko!
|
|
23
|
+
unearned_another: Erabiltzaile honek ez du proba oraindik sortu.
|
|
24
|
+
unearned_own: Oraindik ez duzu probak sortu.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
data/config/locales/fi.yml
CHANGED
|
@@ -2,27 +2,37 @@ fi:
|
|
|
2
2
|
activemodel:
|
|
3
3
|
attributes:
|
|
4
4
|
dummy_resource:
|
|
5
|
-
created_at:
|
|
5
|
+
created_at: Luontiaika
|
|
6
6
|
field: Oma kenttä
|
|
7
7
|
start_date: Aloituspäivämäärä
|
|
8
|
-
title:
|
|
9
|
-
updated_at:
|
|
8
|
+
title: Otsikko
|
|
9
|
+
updated_at: Päivitysaika
|
|
10
10
|
decidim:
|
|
11
11
|
dummy:
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Esimerkkitiedot
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Tämä käyttäjä on luonut %{score} testiä.
|
|
19
|
+
description_own: Olet luonut %{score} testiä.
|
|
20
|
+
explanation: Käyttäjät saavat tämän kunniamerkin luomalla testejä.
|
|
21
|
+
name: Testit
|
|
22
|
+
next_level_in: Luo vielä %{score} testiä seuraavan tason saavuttamiseksi!
|
|
23
|
+
unearned_another: Tämä käyttäjä ei ole vielä luonut testejä.
|
|
24
|
+
unearned_own: Et ole vielä luonut testejä.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
|
18
28
|
bar: Palkki
|
|
19
|
-
dummies_count_high:
|
|
20
|
-
dummies_count_medium:
|
|
29
|
+
dummies_count_high: Esimerkkiluku, korkea
|
|
30
|
+
dummies_count_medium: Esimerkkiluku, keskitaso
|
|
21
31
|
foo: Foo
|
|
22
32
|
participatory_processes:
|
|
23
33
|
statistics:
|
|
24
|
-
dummies_count_high:
|
|
25
|
-
dummies_count_medium:
|
|
34
|
+
dummies_count_high: Esimerkkiluku, korkea
|
|
35
|
+
dummies_count_medium: Esimerkkiluku, keskitaso
|
|
26
36
|
resource_links:
|
|
27
37
|
test_link:
|
|
28
38
|
dummy_resource_dummy: Liittyvät esimerkkitiedot
|
data/config/locales/fr.yml
CHANGED
|
@@ -2,7 +2,7 @@ fr:
|
|
|
2
2
|
activemodel:
|
|
3
3
|
attributes:
|
|
4
4
|
dummy_resource:
|
|
5
|
-
created_at:
|
|
5
|
+
created_at: Créé le
|
|
6
6
|
field: Champ
|
|
7
7
|
start_date: Date de début
|
|
8
8
|
title: Titre
|
|
@@ -12,6 +12,16 @@ fr:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Référence de test
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Cet utilisateur a créé %{score} tests.
|
|
19
|
+
description_own: Vous avez créé %{score} tests.
|
|
20
|
+
explanation: Les utilisateurs obtiennent ce badge en créant des tests.
|
|
21
|
+
name: Tests
|
|
22
|
+
next_level_in: Créez %{score} autres tests pour atteindre le niveau suivant !
|
|
23
|
+
unearned_another: Cet utilisateur n'a pas encore créé de test.
|
|
24
|
+
unearned_own: Vous n'avez créé aucun test pour le moment.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
data/config/locales/gl.yml
CHANGED
|
@@ -12,6 +12,16 @@ gl:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Dummies
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Este usuario creou %{score} probas.
|
|
19
|
+
description_own: Creaches %{score} probas.
|
|
20
|
+
explanation: Os usuarios obtén esta insignia creando probas.
|
|
21
|
+
name: Probas
|
|
22
|
+
next_level_in: Crea %{score} probas máis para chegar ao seguinte nivel!
|
|
23
|
+
unearned_another: Este usuario aínda non creou ningunha proba.
|
|
24
|
+
unearned_own: Non creaches probas aínda.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
hu:
|
|
2
|
+
activemodel:
|
|
3
|
+
attributes:
|
|
4
|
+
dummy_resource:
|
|
5
|
+
created_at: 'Létrehozva:'
|
|
6
|
+
field: A mezőm
|
|
7
|
+
start_date: Kezdő dátum
|
|
8
|
+
title: Cím
|
|
9
|
+
updated_at: 'Frissítve:'
|
|
10
|
+
decidim:
|
|
11
|
+
dummy:
|
|
12
|
+
admin:
|
|
13
|
+
exports:
|
|
14
|
+
dummies: Dummik
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: '%{score} teszt létrehozva.'
|
|
19
|
+
description_own: Létrehoztad a(z) %{score} teszteket.
|
|
20
|
+
explanation: A jelvényt tesztek létrehozásával kapod meg.
|
|
21
|
+
name: Tesztek
|
|
22
|
+
next_level_in: Hozz létre még %{score} tesztet a következő szint eléréséhez!
|
|
23
|
+
unearned_another: Ez a felhasználó még nem hozott létre teszteket.
|
|
24
|
+
unearned_own: Még nem hoztál létre teszteket.
|
|
25
|
+
pages:
|
|
26
|
+
home:
|
|
27
|
+
statistics:
|
|
28
|
+
bar: Oszlop
|
|
29
|
+
dummies_count_high: Dummies high
|
|
30
|
+
dummies_count_medium: Dummies medium
|
|
31
|
+
foo: Foo
|
|
32
|
+
participatory_processes:
|
|
33
|
+
statistics:
|
|
34
|
+
dummies_count_high: Dummies high
|
|
35
|
+
dummies_count_medium: Dummies medium
|
|
36
|
+
resource_links:
|
|
37
|
+
test_link:
|
|
38
|
+
dummy_resource_dummy: Kapcsolódó dummy
|
data/config/locales/it.yml
CHANGED
|
@@ -12,6 +12,16 @@ it:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Risorse Fittizie
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Questo utente ha creato %{score} test.
|
|
19
|
+
description_own: Hai creato %{score} test.
|
|
20
|
+
explanation: Gli utenti ottengono questo badge creando test.
|
|
21
|
+
name: test
|
|
22
|
+
next_level_in: Crea altri %{score} test per raggiungere il livello successivo!
|
|
23
|
+
unearned_another: Questo utente non ha ancora creato alcun test.
|
|
24
|
+
unearned_own: Non hai ancora creato alcun test.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
data/config/locales/nl.yml
CHANGED
|
@@ -12,6 +12,16 @@ nl:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Dummies
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Deze gebruiker heeft %{score} tests gemaakt.
|
|
19
|
+
description_own: U hebt %{score} tests gemaakt.
|
|
20
|
+
explanation: Gebruikers krijgen deze badge door tests te maken.
|
|
21
|
+
name: Tests
|
|
22
|
+
next_level_in: Maak %{score} extra tests om het volgende niveau te bereiken!
|
|
23
|
+
unearned_another: Deze gebruiker heeft nog geen tests gemaakt.
|
|
24
|
+
unearned_own: U hebt nog geen tests gemaakt.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
data/config/locales/pl.yml
CHANGED
|
@@ -12,6 +12,16 @@ pl:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Manekiny
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Ten użytkownik utworzył %{score} testów.
|
|
19
|
+
description_own: Stworzyłeś %{score} testów.
|
|
20
|
+
explanation: Użytkownicy otrzymują tę odznakę, tworząc testy.
|
|
21
|
+
name: Testy
|
|
22
|
+
next_level_in: Stwórz %{score} dodatkowych testów, aby przejść do następnego poziomu!
|
|
23
|
+
unearned_another: Ten użytkownik nie utworzył jeszcze żadnych testów.
|
|
24
|
+
unearned_own: Nie stworzyłeś jeszcze żadnych testów.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
data/config/locales/pt-BR.yml
CHANGED
|
@@ -12,6 +12,16 @@ pt-BR:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Manequim
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Este usuário criou %{score} testes.
|
|
19
|
+
description_own: Você criou %{score} testes.
|
|
20
|
+
explanation: Os usuários obtêm esse selo criando testes.
|
|
21
|
+
name: Testes
|
|
22
|
+
next_level_in: Crie mais %{score} testes para alcançar o próximo nível!
|
|
23
|
+
unearned_another: Este usuário ainda não criou nenhum teste.
|
|
24
|
+
unearned_own: Você não criou testes ainda.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
data/config/locales/pt.yml
CHANGED
|
@@ -12,6 +12,16 @@ pt:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Manequim
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Este usuário criou %{score} testes.
|
|
19
|
+
description_own: Você criou %{score} testes.
|
|
20
|
+
explanation: Os usuários obtêm esse selo criando testes.
|
|
21
|
+
name: Testes
|
|
22
|
+
next_level_in: Crie mais %{score} testes para alcançar o próximo nível!
|
|
23
|
+
unearned_another: Este usuário ainda não criou nenhum teste.
|
|
24
|
+
unearned_own: Você não criou testes ainda.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
data/config/locales/sv.yml
CHANGED
|
@@ -12,6 +12,16 @@ sv:
|
|
|
12
12
|
admin:
|
|
13
13
|
exports:
|
|
14
14
|
dummies: Dummies
|
|
15
|
+
gamification:
|
|
16
|
+
badges:
|
|
17
|
+
test:
|
|
18
|
+
description_another: Den här användaren har skapat %{score} tester.
|
|
19
|
+
description_own: Du har skapat %{score} tester.
|
|
20
|
+
explanation: Användare får detta märke genom att skapa test.
|
|
21
|
+
name: tester
|
|
22
|
+
next_level_in: Skapa %{score} fler tester för att nå nästa nivå!
|
|
23
|
+
unearned_another: Den här användaren har inte skapat några tester än.
|
|
24
|
+
unearned_own: Du har inte skapat några tester än.
|
|
15
25
|
pages:
|
|
16
26
|
home:
|
|
17
27
|
statistics:
|
|
@@ -9,6 +9,8 @@ module Decidim
|
|
|
9
9
|
class Engine < ::Rails::Engine
|
|
10
10
|
isolate_namespace Decidim::Verifications::DummyVerification
|
|
11
11
|
|
|
12
|
+
paths["lib/tasks"] = nil
|
|
13
|
+
|
|
12
14
|
routes do
|
|
13
15
|
root to: proc { [200, {}, ["DUMMY VERIFICATION ENGINE"]] }
|
|
14
16
|
get :edit_authorization, to: proc { [200, {}, ["CONTINUE YOUR VERIFICATION"]] }
|
|
@@ -64,6 +64,10 @@ module Decidim
|
|
|
64
64
|
ResourceLocatorPresenter.new(self).url
|
|
65
65
|
end
|
|
66
66
|
|
|
67
|
+
def allow_resource_permissions?
|
|
68
|
+
component.settings.resources_permissions_enabled
|
|
69
|
+
end
|
|
70
|
+
|
|
67
71
|
def self.user_collection(user)
|
|
68
72
|
where(decidim_author_id: user.id)
|
|
69
73
|
end
|
|
@@ -96,6 +100,7 @@ Decidim.register_component(:dummy) do |component|
|
|
|
96
100
|
|
|
97
101
|
component.settings(:global) do |settings|
|
|
98
102
|
settings.attribute :comments_enabled, type: :boolean, default: true
|
|
103
|
+
settings.attribute :resources_permissions_enabled, type: :boolean, default: true
|
|
99
104
|
settings.attribute :dummy_global_attribute_1, type: :boolean
|
|
100
105
|
settings.attribute :dummy_global_attribute_2, type: :boolean
|
|
101
106
|
end
|
|
@@ -110,6 +115,7 @@ Decidim.register_component(:dummy) do |component|
|
|
|
110
115
|
resource.name = :dummy
|
|
111
116
|
resource.model_class_name = "Decidim::DummyResources::DummyResource"
|
|
112
117
|
resource.template = "decidim/dummy_resource/linked_dummys"
|
|
118
|
+
resource.actions = %w(foo)
|
|
113
119
|
end
|
|
114
120
|
|
|
115
121
|
component.register_stat :dummies_count_high, primary: true, priority: Decidim::StatsRegistry::HIGH_PRIORITY do |components, _start_at, _end_at|
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
module GeocoderHelpers
|
|
4
|
+
def stub_geocoding(address, coordinates)
|
|
5
|
+
result = coordinates.blank? ? [] : [{ "coordinates" => [latitude, longitude] }]
|
|
6
|
+
|
|
7
|
+
Geocoder::Lookup::Test.add_stub(
|
|
8
|
+
address,
|
|
9
|
+
result
|
|
10
|
+
)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
3
14
|
RSpec.configure do |config|
|
|
15
|
+
config.include GeocoderHelpers
|
|
16
|
+
|
|
4
17
|
config.before(:suite) do
|
|
5
18
|
# Set geocoder configuration in test mode
|
|
6
19
|
Decidim.geocoder = {
|
|
@@ -20,20 +20,18 @@ module TranslationHelpers
|
|
|
20
20
|
# HTML tags from the field (in case there are any).
|
|
21
21
|
#
|
|
22
22
|
# field - the field that holds the translations
|
|
23
|
-
# locale - the ID of the locale to check
|
|
24
23
|
# upcase - a boolean to indicate whether the string must be checked upcased or not.
|
|
25
|
-
def have_i18n_content(field,
|
|
26
|
-
have_content(i18n_content(field,
|
|
24
|
+
def have_i18n_content(field, upcase: false)
|
|
25
|
+
have_content(i18n_content(field, upcase: upcase))
|
|
27
26
|
end
|
|
28
27
|
|
|
29
28
|
# Checks that the current page doesn't have some translated content. It strips
|
|
30
29
|
# the HTML tags from the field (in case there are any).
|
|
31
30
|
#
|
|
32
31
|
# field - the field that holds the translations
|
|
33
|
-
# locale - the ID of the locale to check
|
|
34
32
|
# upcase - a boolean to indicate whether the string must be checked upcased or not.
|
|
35
|
-
def have_no_i18n_content(field,
|
|
36
|
-
have_no_content(i18n_content(field,
|
|
33
|
+
def have_no_i18n_content(field, upcase: false)
|
|
34
|
+
have_no_content(i18n_content(field, upcase: upcase))
|
|
37
35
|
end
|
|
38
36
|
|
|
39
37
|
# Handles how to fill in i18n form fields.
|
|
@@ -93,10 +91,9 @@ module TranslationHelpers
|
|
|
93
91
|
# Gives a specific language version of a field and (optionally) upcases it
|
|
94
92
|
#
|
|
95
93
|
# field - the field that holds the translations
|
|
96
|
-
# locale - the ID of the locale to check
|
|
97
94
|
# upcase - a boolean to indicate whether the string must be checked upcased or not.
|
|
98
|
-
def i18n_content(field,
|
|
99
|
-
content = stripped(translated(field, locale: locale))
|
|
95
|
+
def i18n_content(field, upcase: false)
|
|
96
|
+
content = stripped(translated(field, locale: I18n.locale))
|
|
100
97
|
upcase ? content.upcase : content
|
|
101
98
|
end
|
|
102
99
|
end
|
|
@@ -14,7 +14,6 @@ require "action_view/helpers/sanitize_helper"
|
|
|
14
14
|
Dir["#{__dir__}/rspec_support/**/*.rb"].each { |f| require f }
|
|
15
15
|
|
|
16
16
|
require_relative "factories"
|
|
17
|
-
require_relative "screenshot_helper_ext"
|
|
18
17
|
|
|
19
18
|
RSpec.configure do |config|
|
|
20
19
|
config.color = true
|
|
@@ -36,5 +35,4 @@ RSpec.configure do |config|
|
|
|
36
35
|
config.include ActionView::Helpers::SanitizeHelper
|
|
37
36
|
config.include ERB::Util
|
|
38
37
|
config.include Capybara::ReactSelect, type: :system
|
|
39
|
-
config.include Decidim::ScreenshotHelperExt, type: :system
|
|
40
38
|
end
|
data/lib/decidim/dev/version.rb
CHANGED
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.14.1
|
|
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: 2018-
|
|
13
|
+
date: 2018-09-17 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.
|
|
35
|
+
version: 0.14.1
|
|
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.
|
|
42
|
+
version: 0.14.1
|
|
43
43
|
- !ruby/object:Gem::Dependency
|
|
44
44
|
name: factory_bot_rails
|
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -144,26 +144,6 @@ dependencies:
|
|
|
144
144
|
- - ">="
|
|
145
145
|
- !ruby/object:Gem::Version
|
|
146
146
|
version: 1.8.2
|
|
147
|
-
- !ruby/object:Gem::Dependency
|
|
148
|
-
name: parser
|
|
149
|
-
requirement: !ruby/object:Gem::Requirement
|
|
150
|
-
requirements:
|
|
151
|
-
- - ">="
|
|
152
|
-
- !ruby/object:Gem::Version
|
|
153
|
-
version: '2.5'
|
|
154
|
-
- - "!="
|
|
155
|
-
- !ruby/object:Gem::Version
|
|
156
|
-
version: 2.5.1.1
|
|
157
|
-
type: :runtime
|
|
158
|
-
prerelease: false
|
|
159
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
160
|
-
requirements:
|
|
161
|
-
- - ">="
|
|
162
|
-
- !ruby/object:Gem::Version
|
|
163
|
-
version: '2.5'
|
|
164
|
-
- - "!="
|
|
165
|
-
- !ruby/object:Gem::Version
|
|
166
|
-
version: 2.5.1.1
|
|
167
147
|
- !ruby/object:Gem::Dependency
|
|
168
148
|
name: puma
|
|
169
149
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -254,14 +234,14 @@ dependencies:
|
|
|
254
234
|
requirements:
|
|
255
235
|
- - "~>"
|
|
256
236
|
- !ruby/object:Gem::Version
|
|
257
|
-
version: 0.
|
|
237
|
+
version: 0.58.0
|
|
258
238
|
type: :runtime
|
|
259
239
|
prerelease: false
|
|
260
240
|
version_requirements: !ruby/object:Gem::Requirement
|
|
261
241
|
requirements:
|
|
262
242
|
- - "~>"
|
|
263
243
|
- !ruby/object:Gem::Version
|
|
264
|
-
version: 0.
|
|
244
|
+
version: 0.58.0
|
|
265
245
|
- !ruby/object:Gem::Dependency
|
|
266
246
|
name: rubocop-rspec
|
|
267
247
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -304,6 +284,20 @@ dependencies:
|
|
|
304
284
|
- - "~>"
|
|
305
285
|
- !ruby/object:Gem::Version
|
|
306
286
|
version: '0.13'
|
|
287
|
+
- !ruby/object:Gem::Dependency
|
|
288
|
+
name: system_test_html_screenshots
|
|
289
|
+
requirement: !ruby/object:Gem::Requirement
|
|
290
|
+
requirements:
|
|
291
|
+
- - "~>"
|
|
292
|
+
- !ruby/object:Gem::Version
|
|
293
|
+
version: 0.1.1
|
|
294
|
+
type: :runtime
|
|
295
|
+
prerelease: false
|
|
296
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
297
|
+
requirements:
|
|
298
|
+
- - "~>"
|
|
299
|
+
- !ruby/object:Gem::Version
|
|
300
|
+
version: 0.1.1
|
|
307
301
|
- !ruby/object:Gem::Dependency
|
|
308
302
|
name: webmock
|
|
309
303
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -344,6 +338,7 @@ files:
|
|
|
344
338
|
- README.md
|
|
345
339
|
- Rakefile
|
|
346
340
|
- app/assets/images/decidim/dummy.svg
|
|
341
|
+
- app/assets/images/decidim/gamification/badges/test.svg
|
|
347
342
|
- app/controllers/decidim/dummy_resources/dummy_resources_controller.rb
|
|
348
343
|
- app/views/decidim/dummy_resource/_linked_dummys.html.erb
|
|
349
344
|
- app/views/decidim/dummy_resources/dummy_resources/foo.html.erb
|
|
@@ -356,6 +351,7 @@ files:
|
|
|
356
351
|
- config/locales/fi.yml
|
|
357
352
|
- config/locales/fr.yml
|
|
358
353
|
- config/locales/gl.yml
|
|
354
|
+
- config/locales/hu.yml
|
|
359
355
|
- config/locales/it.yml
|
|
360
356
|
- config/locales/nl.yml
|
|
361
357
|
- config/locales/pl.yml
|
|
@@ -378,7 +374,6 @@ files:
|
|
|
378
374
|
- lib/decidim/dev/railtie.rb
|
|
379
375
|
- lib/decidim/dev/test/authorization_shared_examples.rb
|
|
380
376
|
- lib/decidim/dev/test/base_spec_helper.rb
|
|
381
|
-
- lib/decidim/dev/test/ext/screenshot_helper.rb
|
|
382
377
|
- lib/decidim/dev/test/factories.rb
|
|
383
378
|
- lib/decidim/dev/test/promoted_participatory_processes_shared_examples.rb
|
|
384
379
|
- lib/decidim/dev/test/rspec_support/action_mailer.rb
|
|
@@ -395,6 +390,7 @@ files:
|
|
|
395
390
|
- lib/decidim/dev/test/rspec_support/component_context.rb
|
|
396
391
|
- lib/decidim/dev/test/rspec_support/content_processing.rb
|
|
397
392
|
- lib/decidim/dev/test/rspec_support/factory_bot.rb
|
|
393
|
+
- lib/decidim/dev/test/rspec_support/gamification.rb
|
|
398
394
|
- lib/decidim/dev/test/rspec_support/geocoder.rb
|
|
399
395
|
- lib/decidim/dev/test/rspec_support/helpers.rb
|
|
400
396
|
- lib/decidim/dev/test/rspec_support/html_matchers.rb
|
|
@@ -406,7 +402,6 @@ files:
|
|
|
406
402
|
- lib/decidim/dev/test/rspec_support/warden.rb
|
|
407
403
|
- lib/decidim/dev/test/rspec_support/webmock.rb
|
|
408
404
|
- lib/decidim/dev/test/rspec_support/wisper.rb
|
|
409
|
-
- lib/decidim/dev/test/screenshot_helper_ext.rb
|
|
410
405
|
- lib/decidim/dev/test/spec_helper.rb
|
|
411
406
|
- lib/decidim/dev/version.rb
|
|
412
407
|
- lib/tasks/generators.rake
|
|
@@ -431,7 +426,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
431
426
|
version: '0'
|
|
432
427
|
requirements: []
|
|
433
428
|
rubyforge_project:
|
|
434
|
-
rubygems_version: 2.7.
|
|
429
|
+
rubygems_version: 2.7.7
|
|
435
430
|
signing_key:
|
|
436
431
|
specification_version: 4
|
|
437
432
|
summary: Decidim dev tools
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module ActionDispatch
|
|
4
|
-
module SystemTesting
|
|
5
|
-
module TestHelpers
|
|
6
|
-
# Screenshot helper for system testing.
|
|
7
|
-
module ScreenshotHelper
|
|
8
|
-
# Takes a screenshot of the current page in the browser.
|
|
9
|
-
#
|
|
10
|
-
# +take_screenshot+ can be used at any point in your system tests to take
|
|
11
|
-
# a screenshot of the current state. This can be useful for debugging or
|
|
12
|
-
# automating visual testing.
|
|
13
|
-
#
|
|
14
|
-
# The screenshot will be displayed in your console, if supported.
|
|
15
|
-
#
|
|
16
|
-
# You can set the +RAILS_SYSTEM_TESTING_SCREENSHOT+ environment variable to
|
|
17
|
-
# control the output. Possible values are:
|
|
18
|
-
# * [+simple+ (default)] Only displays the screenshot path.
|
|
19
|
-
# This is the default value.
|
|
20
|
-
# * [+inline+] Display the screenshot in the terminal using the
|
|
21
|
-
# iTerm image protocol (https://iterm2.com/documentation-images.html).
|
|
22
|
-
# * [+artifact+] Display the screenshot in the terminal, using the terminal
|
|
23
|
-
# artifact format (https://buildkite.github.io/terminal/inline-images/).
|
|
24
|
-
def take_screenshot
|
|
25
|
-
save_image
|
|
26
|
-
save_page
|
|
27
|
-
STDOUT.puts display_screenshot
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
# Takes a screenshot of the current page in the browser if the test
|
|
31
|
-
# failed.
|
|
32
|
-
#
|
|
33
|
-
# +take_failed_screenshot+ is included in <tt>application_system_test_case.rb</tt>
|
|
34
|
-
# that is generated with the application. To take screenshots when a test
|
|
35
|
-
# fails add +take_failed_screenshot+ to the teardown block before clearing
|
|
36
|
-
# sessions.
|
|
37
|
-
def take_failed_screenshot
|
|
38
|
-
take_screenshot if failed? && supports_screenshot?
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
private
|
|
42
|
-
|
|
43
|
-
def screenshot_name
|
|
44
|
-
failed? ? "failures_#{method_name}" : method_name
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def image_path
|
|
48
|
-
@image_path ||= absolute_image_path.to_s
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def page_path
|
|
52
|
-
@page_path ||= absolute_page_path.to_s
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def absolute_image_path
|
|
56
|
-
Rails.root.join("tmp/screenshots/#{screenshot_name}.png")
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def absolute_page_path
|
|
60
|
-
Rails.root.join("tmp/screenshots/#{screenshot_name}.html")
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def save_image
|
|
64
|
-
page.save_screenshot(absolute_image_path)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def save_page
|
|
68
|
-
page.save_page(absolute_page_path)
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def output_type
|
|
72
|
-
# Environment variables have priority
|
|
73
|
-
output_type = ENV["RAILS_SYSTEM_TESTING_SCREENSHOT"] || ENV["CAPYBARA_INLINE_SCREENSHOT"]
|
|
74
|
-
|
|
75
|
-
# Default to outputting a path to the screenshot
|
|
76
|
-
output_type ||= "simple"
|
|
77
|
-
|
|
78
|
-
output_type
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def display_screenshot
|
|
82
|
-
message = "[Image screenshot]: file://#{image_path}\n"
|
|
83
|
-
message += " [Page HTML]: file://#{page_path}\n"
|
|
84
|
-
|
|
85
|
-
case output_type
|
|
86
|
-
when "artifact"
|
|
87
|
-
message << "\e]1338;url=artifact://#{absolute_image_path}\a\n"
|
|
88
|
-
when "inline"
|
|
89
|
-
name = inline_base64(File.basename(absolute_image_path))
|
|
90
|
-
image = inline_base64(File.read(absolute_image_path))
|
|
91
|
-
message << "\e]1337;File=name=#{name};height=400px;inline=1:#{image}\a\n"
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
message
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def inline_base64(path)
|
|
98
|
-
Base64.strict_encode64(path)
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
def failed?
|
|
102
|
-
!passed? && !skipped?
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
def supports_screenshot?
|
|
106
|
-
Capybara.current_driver != :rack_test
|
|
107
|
-
end
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
end
|