decidim-dev 0.23.4 → 0.24.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/forms/decidim/dummy_resources/dummy_resource_form.rb +5 -3
- data/lib/decidim/dev/assets/assemblies.json +2 -1
- data/lib/decidim/dev/assets/import_proposals.csv +6 -0
- data/lib/decidim/dev/assets/import_proposals.json +14 -0
- data/lib/decidim/dev/assets/import_proposals.xls +0 -0
- data/lib/decidim/dev/assets/import_proposals_broken.csv +6 -0
- data/lib/decidim/dev/assets/invalid.jpeg +0 -0
- data/lib/decidim/dev/assets/participatory_processes.json +1 -1
- data/lib/decidim/dev/assets/participatory_processes_with_null.json +1 -1
- data/lib/decidim/dev/assets/private_key.jwk +1 -0
- data/lib/decidim/dev/assets/private_key2.jwk +1 -0
- data/lib/decidim/dev/assets/public_key.jwk +1 -0
- data/lib/decidim/dev/assets/public_key2.jwk +1 -0
- data/lib/decidim/dev/test/base_spec_helper.rb +4 -4
- data/lib/decidim/dev/test/promoted_participatory_processes_shared_examples.rb +38 -4
- data/lib/decidim/dev/test/rspec_support/action_mailer.rb +1 -1
- data/lib/decidim/dev/test/rspec_support/capybara.rb +9 -1
- data/lib/decidim/dev/test/rspec_support/component.rb +18 -0
- data/lib/decidim/dev/test/rspec_support/component_context.rb +17 -5
- data/lib/decidim/dev/test/rspec_support/puffing_billy.rb +55 -0
- data/lib/decidim/dev/test/rspec_support/translation_helpers.rb +41 -1
- data/lib/decidim/dev/test/rspec_support/vcr.rb +27 -0
- data/lib/decidim/dev/test/rspec_support/{download_helper.rb → z_download_helper.rb} +13 -15
- data/lib/decidim/dev/test/spec_helper.rb +1 -1
- data/lib/decidim/dev/version.rb +1 -1
- metadata +71 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3d589abc0caa434bd34dbcc819a8745206c227c8e5902d8e969b9d0aaa2527f
|
4
|
+
data.tar.gz: 95ffca5e36acf9d9311143fbdb99fee9e7b581108b20b7d37c7ba410209369b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 934d4c04e7ab16f387da50fe981b2a801b2b5f3df1c8a9c808ef4de0a95f03b100946d55d6e08d7a9bc0bca5908891575cb71259139b61eea02f67a23bd7e4ca
|
7
|
+
data.tar.gz: 26edfc1d17d06c24cf45a7f59e81162d0b33c46763dbc405c34ecd42ecee1a831670d01286d0caa638fb5ae0cd82898e3f0d8937dca22b8dada1bc55ce6bfc33
|
@@ -3,16 +3,18 @@
|
|
3
3
|
module Decidim
|
4
4
|
module DummyResources
|
5
5
|
class DummyResourceForm < Decidim::Form
|
6
|
+
include Decidim::AttachmentAttributes
|
7
|
+
|
6
8
|
mimic :dummy_resource
|
7
9
|
|
8
10
|
attribute :title, String
|
9
11
|
attribute :body, String
|
10
12
|
attribute :attachment, AttachmentForm
|
11
|
-
|
12
|
-
|
13
|
+
|
14
|
+
attachments_attribute :photos
|
13
15
|
|
14
16
|
validates :title, :body, presence: true, etiquette: true
|
15
|
-
validates :title, length: {
|
17
|
+
validates :title, length: { in: 15..150 }
|
16
18
|
end
|
17
19
|
end
|
18
20
|
end
|
@@ -486,6 +486,7 @@
|
|
486
486
|
"default_registration_terms_es": null,
|
487
487
|
"comments_enabled": true,
|
488
488
|
"resources_permissions_enabled": true,
|
489
|
+
"registration_code_enabled": true,
|
489
490
|
"enable_pads_creation": false
|
490
491
|
},
|
491
492
|
"weight": 0,
|
@@ -813,4 +814,4 @@
|
|
813
814
|
}
|
814
815
|
]
|
815
816
|
}
|
816
|
-
]
|
817
|
+
]
|
@@ -0,0 +1,6 @@
|
|
1
|
+
title/en;body/en
|
2
|
+
Esse qui. Ut.;"Aliquid in ut. Laboriosam consequatur consequatur. Unde dolorem omnis.
|
3
|
+
Et earum aut. Quis enim quis. Dolore corporis et. Quia vel ex."
|
4
|
+
Nihil id.;"Atque qui aut. Quia et incidunt. Qui nihil dolore.
|
5
|
+
Delectus asperiores nihil. Sapiente omnis culpa. Eos at voluptatem."
|
6
|
+
Suspendisse lobortis;Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
@@ -0,0 +1,14 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"title/en": "Esse qui. Ut.",
|
4
|
+
"body/en": "Aliquid in ut. Laboriosam consequatur consequatur. Unde dolorem omnis.\nEt earum aut. Quis enim quis. Dolore corporis et. Quia vel ex."
|
5
|
+
},
|
6
|
+
{
|
7
|
+
"title/en": "Nihil id.",
|
8
|
+
"body/en": "Atque qui aut. Quia et incidunt. Qui nihil dolore.\nDelectus asperiores nihil. Sapiente omnis culpa. Eos at voluptatem."
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"title/en": "Suspendisse lobortis",
|
12
|
+
"body/en": "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
|
13
|
+
}
|
14
|
+
]
|
Binary file
|
@@ -0,0 +1,6 @@
|
|
1
|
+
title/en;body/en
|
2
|
+
Esse qui. Ut.;"Aliquid in ut. Laboriosam consequatur consequatur. Unde dolorem omnis.
|
3
|
+
Et earum aut. Quis enim quis. Dolore corporis et. Quia vel ex."
|
4
|
+
Nihil id.;"Atque qui aut. Quia et incidunt. Qui nihil dolore.
|
5
|
+
Delectus asperiores nihil. Sapiente omnis culpa. Eos at voluptatem."
|
6
|
+
;Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
{"alg":"RS256","d":"QYEpgYkfRGjE_LAK02dCBZyhwFdO29VCgxhsw4UFzzJiIQbi7tCbec3cQghf1AHpfL8IRrXVBREKGNEY81Ihazz288d_dF8sICtZC6srtxMqD1iuvak_oVIhw5LUEVUehHujL3j95NBfaipJId_lW0hEOq8w5k6ObaL-_kHnQybYUdq8i-PVeLrVwGMKNSl_kU0hERgs6wf38WJwGWNTO3FOdvVOlMRKqjvUXschoVlJlqA39oX6Fa8ksVogP5Gqv_V1UbZnvaky0Amnuic4l0RRBz_l2bSHs2Xf6HqSY8ccxEtfkJQyq9fmP-WToheJOirumge6R2JyLL4H9Z8AuTSRBDSr6-ltEh6NBbTP1y5w8b3HgXrVHH21XbuFv2FzVu9s9KvkR4GEAKTYMt9CxCVIuoBUu_tZKmZw2gocgsRm9lG0-8Qf_FZR4QLrPN3-tHpJuDQk4CI29Luu-te2EY3494dj0LfK8GB2_o1bTZcsTKGiKAe6sXQ8E3WRYxVFhAgIarclJ3AKWbDUgxQOEx5awgoggMhkggNq0FlBqVC293LHMLdOnYLSmrWXdl5FjBVkCF9njv5U_N2EHwmyv14XRFidBIK_N5FridGXukrgnUlzm_uD5OTKQFVqHFjw4tluOQF0SbJw0JAeiFGkjkMtGBTOnVNsCCn6TUDtlhE","dp":"qP4EmXYhpsPh1-OJiQ9gg_CjJ5TE05hbbIuI9qnjn4s0sYoo6jFq34joU6JmCOvu3Wdik7qT3r67K2dNLLj5WpMumzOyfXNynTzAjnC51DzM7H8DtL397pnJJBMyv00wM02rzbjsGAx10mySSU4DIl6gR2lbigUflxYvfJRvTXmcDOejMMm1yAlWBI0M7z82LPY_bcPfs4awGDKNQhCNbABwmGJGJOHuFBKn_VvItfJpmoR8u89X2yxa3-DIBM2w1blKpwkg5Lu0vv7Md6z8lFlBq9kNf6B2E8YsRD4_qXwFtFnc0bq4LW5buGasY1fpAsodwKjtPS_YwMxCrrUYzQ","dq":"baJf8oZGb9SuEN9v4XrLgLHZA69J8gj9Tzh4K24AWD7mF9zvmRj-if7DGUbwfR55ioUarrkB51EUMQisMY4QJcG-_4Afp5KXMpO6R9ckMUc99fNtMURIwVwpXBwD4Qb6hFE4QYHHxH47mUq69FAFSzNL9lfgAtV4YCgK3rIK1OB7kqTSs2AW-7E-eQLACYmmb3fAq5-1DGxABVTm7aNa1uwgt1kuDfF-PaZB5WlXPCVZxpCHQ3TGacvx5hDda_9C0vxjimbRLOh_CtAmmm_P4TpLf4baYWl3AeEYNEPCGutwPDyrv-OA3cBWJn_rAOYMMeDenUDcaq8x-VUUOoS0_Q","e":"AQAB","ext":true,"key_ops":["sign"],"kty":"RSA","n":"rHpNVOvpLrdMMAWsJh42UKnn5sAURhB7A-sEQe0hQ8gk5b3tVufabAJIsfEArsjyt91UIXgmSnyGd8tbkErs53FYcLXgZwDEJ1NNcBdHi_iGJULF1IOKhxWHJS1QKjkPoSamCTeoQ8hWq0mdWHF1gsiOtRjIft-RX7Am2Zqk53CePE2TVRqnHuEmMQHQ-lcP2Pbe17cT4i6PoyDIuanbabenDktNzGXG7BfD4O7zhMWB0dE1SQZSR09danCzo53xk4NloV9xCR9VcSnGus-AnKIZQZFXi0QqIK6i8VFNuA9PYCCfleUWCAyHRQMkd9XSzbTs8OeWAvg4Rcb8Wv5GkL8acazy7G0diiAvotIr058CNoFGqvtuKnxilP2apaYwCBTa-SQp4DqCiYcAtPj_WeRTbap6WyDcfyxL5LyUQysVmGn4fB4nLVoDWx4zVmVw0SbGQT8K4FmkIhjtdDmELPaientG8Tep4IBjPtFSa-RMLAu45jHdlsXBZjmrbeTbwTBWV4aSKp6T2lcEOc-mxrorrWgTGYy2MvpJHLaneexefEMVB8iXJJX2L4JAqKCwq7V8Cwum0ZsTWaKLsGRNqPeAwayAJeXuiT5hDs3i-cuyuqrc2gmWxu5FEGZHJQWG_MLnYATY_nlIDq-ovuGGJa-lszu6pyVvCKryC70mksM","p":"34DGgLl2I8n2_9OJbcVKDcIiqo5Z52JSrIjusGtYMGQKDAK4Qk32l5XIUleoezae-G7N43pxEu_qzxq_kpdeoG75zCIQcdoh15Dvr6l_r_ANhX0e8wlWulJ7Y3IW0QNhm3ch_tta9Km_9ut9HoSo2oShMg2kxbP47wnK-mzfIIlDWq4xpjS9RwPWuLpHmDOmBs-sHzM9monCcb35LGmn-zxulM-xl_a3Vm3NbFF4mmxP2naEzbJ-wpx-jVWw5KoJuECuviU_cfltCTV-OlVwkAWm45WlQRlRZPwW42sMTJ-MXK3byG4ckd1nIEu9iC1R0gwksbsKjhtRh-l-UCWmDQ","q":"xY5Dv1frxXWaXwF7wxdcjmPD9L13iquZvgRcGDNTOmcB-eljPzK_ON5KwIK1Ua9FHRa3LPm9amB0sIKeuc-rcvTXgfjCGVPESpNBzzee3jIjikPnbO2knsXdZjoHC82SMLTYFMrzY3GXoDRl-I9SFKROntmK7BADwY4T5ZGdXXvtfvfUlhYP4L_dKO6X7UK2l_CvQszyDNHXxwx9FSyzFREaBpLPd_OVvJmqzOhBeJQGVZRZDexGxZSrtCtwjlQlr_MYOAuRmh5Zz1BvV-cu--sy0ZMjRB6_j__1Vrs_d1_R4TRpG1ju4GBRXCbrv4hDoMJGAioMGn2-xLZ76Fs4Dw","qi":"U2tMM1A8RFqBlbO1KP3B4ulb7Hf4Lr0L_l0XPOHXQdS_LqCHNUoZ9ss15paEWa_zy9k_1nop8SOPV1ZXtGSv0ZkK27q4Br_3VblG-rAaDWPP8ns4Flh-o6XeR0s2mr96427jpATDO3wzkk7tMqlRGPEL7INYRASLJ1gKTkjgb8oeJsavw3CM5v4e3000Te-Tb0nstwT4CXWEbgq5d54d1tgCcY2Ew6H3n0yfGnrSDvlQO3Kb2bWDb5k0pgO7vybAo0mI0lUK36nZqdd4J60iGijaonaE903OErGzSpQPQ5WOqQi95IDe2NGi_RbpcMMfe4zDd4NJvRVQeifboRs8oQ"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"alg":"RS256","d":"KqRpb0pp5AsfoNfBOGU71eetkXqJJNCZJAX70dDdSzjKDRyfa1GAgYYSJ69J2LCckYEWUeRxlEi81-G5zU8JJbfJkYnIGS2yDxGTx6RuH7ouzZ15sHE6tycjKoyrbxw8FS4Ba7JfX2RiG6UthznqXTaGLddOnHgbUoLCD6deG6oGGsr9UbSQrXksBSzFn00jQ4LgfWDxD0FZKf39HLV_OWdrSEaPw0Gdd6t-a3PbdEBAyYv9ufEaNdg_ckf_o166pgcgi82tyT-jTYnDqvNZIfbWkzQapG7Q6VuAT3l-23E8Dy3r9UdckqO7jPKbuNbggoDr1Qz2NoSacMLmyJBwbdy3SQh3PCTgaa9niUGumnPWuIEX8qckAJ6I5urTTF1AxnUfd83tw-ykgdX7spSnx125flVG5oEptjpj6tZraUyuXJmpCcqHiGeo2iVAC3RXNcIS-Yw0UGXZbaUPVOM7YpcSavBkfcSiohjSRL6VeH5GY6mnD88O_eFmdQB2DZS1EcE62SxMj4pZg5xsUXK3BliCcOCEsjfdJCCf9NluI_E0IBKbQbew-ijGgy2GiYB7Y23sxPMkMFUaLteyrU6hXqEEJNiWjofTWwUS5BEn9sozOBcZ4EgVTxmucHS_dFomsZvC81p9-aIyC1xOHJg4hf3lbSl-EAnoZp3aYM3JcDE","dp":"fCu-Y2pje9uAF_v1q6UgTQWLppQN1TTa9guHQgMQkVTi3bGHCGlejbxIjEM0p34WCnKp629YUQGiR36ytdTxQEaEUsoNOQj0Hyel3GVwvZcGo3KXAB1NxF1YRAd9BbPFHBHrRXRDPpFc7ggVcDsIzQyjTBLvEicpXKZy5fkdu3cTkZAWGH-i0liGhW4Ed0Y57n-VnPfE9zITnZCoIj_fX5xFR_oIIC3vHe1YTMIxeh5tjCl4Ws7j_o2HgOxA2pipgtvjZYTQsR2Wh-taYtYCOYrwG2fTNU9TMgbcJICvCmbuFPDy1H-9a7XBvUICDssPffDU1V0zW2c03IAlfnNCOQ","dq":"Evd2u7OlVQhuAuESlkORxGujK_2cTHZQ6LVVw77pKZFWg3jY_oHbGrgF_gM0adZHqdsw4G8v_dVE0jbg2e0JIdsQ3AvDmhiFg0tFm-anp_6P7yAPhmY4_lYEh_EKSps1G3b7tt_NKMCroBStf0YIzOtiNnUf7IlBXivuzcKT4KRm07sbmZa7W5EUfEhRMExdMTFw-3d-D0ChqD05UvBGkVWyH9CL1txyV4tGuwN42Noc_Gsb0eIQF-PVREOyNXXd_H-Ps3833ALi_dq_V-7PBZzUWm46RElmY2ar9ARMV_andR1yt9cKZHeaTfsOA3IbgcY9wWpFeOPrqsQ-6j_u0Q","e":"AQAB","ext":true,"key_ops":["sign"],"kty":"RSA","n":"mYW4py55eHVzlAOLeWSlkX-UzFcWmPZNgt38YgfDsrWsMiF99NxeS1hHBBBAIMYVj4DdraunxwxibFZJm4B7JfLedO02pGHXWpx-VUSwRU7TKBO8KGcLIuyIsLAn4VZmcUCfOD4z4D3mOPXJFrmy_db4EQJgQnkRQdop9Nb-zExjYdw9IOnSFYdYLJ6k-g4Onu43kUIVDjBBwBlNHIkr-zpApPWhABUpSV_Vy6WAdku3ix4MyFQLQ48ljJp4KVKrw85km3x5k1p7yXpRXaeAUwdl1ucZUHgeb23ED-q2gwASAbrBLOMlrrRrexObRXlHd7gkQS4fwvLtehENY0EepaS6R9ZDGD5l8AJOlS3jGCBfQdpL9aJT05ZqmB8Vi0Fj8PgDkzselqp9eSwUBb82bp8padX9NsZPaokXLtJls8acSOPpBDwmEPAiUML7LWUwiRylimK4CVDNxulNGnBuPlYl5b4vZQHtpjBEFfKUZxI8qY1Y2qpEehaYD0oXa64yr2Hi5IVdlCOS88hqPskPttoe28cm6YVYflJP9bv4slqeu1cafDSCxX7A4PX83wDpW5gyWC3cXAPTXh2Plxlnn3p9KTae6_YPkI8Id26zkm61LpKi-CkQCvo2fHvfZI23JiSj3Y9KYZR25Ym8O9aaNBdhgvNKhB8VFlizKet3VU8","p":"0quw5Amx8fF_xXD-U8muoXrtjOURvjjIscLaDIcbuzfUb5SCfdDOgFLbSczX2zkqBU54SVVAjWnR_MW4gg1axpscFPwM2ddQ4WgimEqGbAzbxzmsg4O15CID_El9m9ptsbz67r1H4qiEHkD4f_1or4cDlV41UT07spd4kSNqGAycrIvp5ShXtK7Oz89J3QaOR7DscJgR6dT3s0HpzfNW3hDW2_gnaE0Vk98rdm70wxuKeZ418r2IiESKQxfliT-fegFCyUJ_-Rif8L4-68aq4DJTVYuCU7uplrgD5IPvAGJaQ2FQYrzPzXD9-pBdbIlOgCXfpZBZBanYvOKdS_Q7_w","q":"uo4lizbd3qQs2W2r_GT40JqXScKdONk1e6_fJy1VWgo5H_ryQkVL-wxv9ecelbciZGOJ9LTnLkTgNLPGZjIkTcWgmsjGemoaqDzkzfKJHI4nytMwAXNHSuvwZkK1Qd98FnEA4NJlOPjUa76XTPCE5ZycD38mck9MKsY2sywhx9bKyrUXbNwc08tJyFH4apAi8jss31JlJy18tcQL1wcWxM2b7rx7FBrw5m9ujHm2eXKaoIbxtP9YjxPU0YJN4rncNJ6cLyO-zuNWg7KWymiKyxag9MPSJRodJ2whc-0cU5DdJKZvFijjln7Rw2x2buNWBTcxb06a9WkuF-UEIU4msQ","qi":"vNoH-M6QspeJDglwZfymEnf9TaBtJVqpfZVVAALXtyEY4g78PoYhsgHonVKO6VVxnl5yT8Vm3O-Ma5I2IKORP2hDZm6CtsvZVQGUmHbnJGuXBT_skex9VOVNHR5DZ9BObkB4Df4BzseTzoesMsdFX9mn-YToIJ3bXOUqlzLV3CKDWUYGtJeztpFeof3r1qv1lk3X-EYWy_qbGpNycoQiwgmiznewCieYLELTdrQViZl0cnhmw5upHAg1zbjvlAn0WiuhYe5Tit8gcm5fY9VA-rONpPkxz75mbuhvK0OMjAlY5mBcvd3uqTze1t3-FPVHcTk40eeHvBsZ4Pn4nDll4Q"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"alg":"RS256","e":"AQAB","kty":"RSA","n":"rHpNVOvpLrdMMAWsJh42UKnn5sAURhB7A-sEQe0hQ8gk5b3tVufabAJIsfEArsjyt91UIXgmSnyGd8tbkErs53FYcLXgZwDEJ1NNcBdHi_iGJULF1IOKhxWHJS1QKjkPoSamCTeoQ8hWq0mdWHF1gsiOtRjIft-RX7Am2Zqk53CePE2TVRqnHuEmMQHQ-lcP2Pbe17cT4i6PoyDIuanbabenDktNzGXG7BfD4O7zhMWB0dE1SQZSR09danCzo53xk4NloV9xCR9VcSnGus-AnKIZQZFXi0QqIK6i8VFNuA9PYCCfleUWCAyHRQMkd9XSzbTs8OeWAvg4Rcb8Wv5GkL8acazy7G0diiAvotIr058CNoFGqvtuKnxilP2apaYwCBTa-SQp4DqCiYcAtPj_WeRTbap6WyDcfyxL5LyUQysVmGn4fB4nLVoDWx4zVmVw0SbGQT8K4FmkIhjtdDmELPaientG8Tep4IBjPtFSa-RMLAu45jHdlsXBZjmrbeTbwTBWV4aSKp6T2lcEOc-mxrorrWgTGYy2MvpJHLaneexefEMVB8iXJJX2L4JAqKCwq7V8Cwum0ZsTWaKLsGRNqPeAwayAJeXuiT5hDs3i-cuyuqrc2gmWxu5FEGZHJQWG_MLnYATY_nlIDq-ovuGGJa-lszu6pyVvCKryC70mksM"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"alg":"RS256","e":"AQAB","kty":"RSA","n":"mYW4py55eHVzlAOLeWSlkX-UzFcWmPZNgt38YgfDsrWsMiF99NxeS1hHBBBAIMYVj4DdraunxwxibFZJm4B7JfLedO02pGHXWpx-VUSwRU7TKBO8KGcLIuyIsLAn4VZmcUCfOD4z4D3mOPXJFrmy_db4EQJgQnkRQdop9Nb-zExjYdw9IOnSFYdYLJ6k-g4Onu43kUIVDjBBwBlNHIkr-zpApPWhABUpSV_Vy6WAdku3ix4MyFQLQ48ljJp4KVKrw85km3x5k1p7yXpRXaeAUwdl1ucZUHgeb23ED-q2gwASAbrBLOMlrrRrexObRXlHd7gkQS4fwvLtehENY0EepaS6R9ZDGD5l8AJOlS3jGCBfQdpL9aJT05ZqmB8Vi0Fj8PgDkzselqp9eSwUBb82bp8padX9NsZPaokXLtJls8acSOPpBDwmEPAiUML7LWUwiRylimK4CVDNxulNGnBuPlYl5b4vZQHtpjBEFfKUZxI8qY1Y2qpEehaYD0oXa64yr2Hi5IVdlCOS88hqPskPttoe28cm6YVYflJP9bv4slqeu1cafDSCxX7A4PX83wDpW5gyWC3cXAPTXh2Plxlnn3p9KTae6_YPkI8Id26zkm61LpKi-CkQCvo2fHvfZI23JiSj3Y9KYZR25Ym8O9aaNBdhgvNKhB8VFlizKet3VU8"}
|
@@ -12,12 +12,12 @@ require "decidim/core"
|
|
12
12
|
require "decidim/core/test"
|
13
13
|
require "decidim/admin/test"
|
14
14
|
|
15
|
-
require_relative "rspec_support/component
|
16
|
-
require_relative "rspec_support/authorization
|
15
|
+
require_relative "rspec_support/component"
|
16
|
+
require_relative "rspec_support/authorization"
|
17
17
|
|
18
18
|
require "#{Decidim::Dev.dummy_app_path}/config/environment"
|
19
19
|
|
20
|
-
Dir["#{engine_spec_dir}/shared/**/*.rb"].each { |f| require f }
|
20
|
+
Dir["#{engine_spec_dir}/shared/**/*.rb"].sort.each { |f| require f }
|
21
21
|
|
22
22
|
require "paper_trail/frameworks/rspec"
|
23
23
|
|
@@ -33,6 +33,6 @@ if ENV["CI"]
|
|
33
33
|
config.display_try_failure_messages = true
|
34
34
|
|
35
35
|
# Retry failed test, set to 1 for normal behavior
|
36
|
-
config.default_retry_count = ENV.fetch("FAILED_TEST_RETRY_COUNT"
|
36
|
+
config.default_retry_count = ENV.fetch("FAILED_TEST_RETRY_COUNT", 3)
|
37
37
|
end
|
38
38
|
end
|
@@ -1,12 +1,46 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
shared_examples "with promoted participatory processes" do
|
3
|
+
shared_examples "with promoted participatory processes and groups" do
|
4
4
|
before do
|
5
5
|
request.env["decidim.current_organization"] = organization
|
6
6
|
end
|
7
7
|
|
8
|
-
describe "
|
9
|
-
it "
|
8
|
+
describe "promoted_collection" do
|
9
|
+
it "includes promoted participatory processes and groups placing groups in first place" do
|
10
|
+
create(
|
11
|
+
:participatory_process_group,
|
12
|
+
organization: organization
|
13
|
+
)
|
14
|
+
|
15
|
+
unpromoted_process = create(
|
16
|
+
:participatory_process,
|
17
|
+
:with_steps,
|
18
|
+
:published,
|
19
|
+
organization: organization
|
20
|
+
)
|
21
|
+
unpromoted_process.active_step.update!(end_date: Time.current.advance(days: 1))
|
22
|
+
|
23
|
+
promoted_process = create(
|
24
|
+
:participatory_process,
|
25
|
+
:with_steps,
|
26
|
+
:published,
|
27
|
+
:promoted,
|
28
|
+
organization: organization
|
29
|
+
)
|
30
|
+
promoted_process.active_step.update!(end_date: Time.current.advance(days: 2))
|
31
|
+
|
32
|
+
promoted_group = create(
|
33
|
+
:participatory_process_group,
|
34
|
+
:promoted,
|
35
|
+
organization: organization
|
36
|
+
)
|
37
|
+
|
38
|
+
expect(controller.helpers.promoted_collection).to(
|
39
|
+
match_array([promoted_group, promoted_process])
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
it "orders participatory processes by active_step end_date" do
|
10
44
|
create(
|
11
45
|
:participatory_process,
|
12
46
|
:with_steps,
|
@@ -57,7 +91,7 @@ shared_examples "with promoted participatory processes" do
|
|
57
91
|
|
58
92
|
second.active_step.update!(end_date: Time.current.advance(days: 4))
|
59
93
|
|
60
|
-
expect(controller.helpers.
|
94
|
+
expect(controller.helpers.promoted_collection).to(
|
61
95
|
match_array([first, second, last])
|
62
96
|
)
|
63
97
|
end
|
@@ -16,6 +16,10 @@ module Decidim
|
|
16
16
|
def switch_to_default_host
|
17
17
|
Capybara.app_host = nil
|
18
18
|
end
|
19
|
+
|
20
|
+
def switch_to_secure_context_host
|
21
|
+
Capybara.app_host = "http://localhost"
|
22
|
+
end
|
19
23
|
end
|
20
24
|
end
|
21
25
|
|
@@ -49,7 +53,7 @@ Capybara.register_driver :iphone do |app|
|
|
49
53
|
)
|
50
54
|
end
|
51
55
|
|
52
|
-
Capybara.server = :puma, { Silent: true }
|
56
|
+
Capybara.server = :puma, { Silent: true, Threads: "1:1" }
|
53
57
|
|
54
58
|
Capybara.asset_host = "http://localhost:3000"
|
55
59
|
|
@@ -73,6 +77,10 @@ RSpec.configure do |config|
|
|
73
77
|
end
|
74
78
|
end
|
75
79
|
|
80
|
+
config.after(type: :system) do |example|
|
81
|
+
warn page.driver.browser.manage.logs.get(:browser) unless example.metadata[:driver].eql?(:rack_test)
|
82
|
+
end
|
83
|
+
|
76
84
|
config.include Decidim::CapybaraTestHelpers, type: :system
|
77
85
|
config.include Devise::Test::IntegrationHelpers, type: :system
|
78
86
|
end
|
@@ -93,10 +93,28 @@ module Decidim
|
|
93
93
|
ResourceLocatorPresenter.new(self).url
|
94
94
|
end
|
95
95
|
|
96
|
+
def reported_attributes
|
97
|
+
[:title]
|
98
|
+
end
|
99
|
+
|
100
|
+
def reported_searchable_content_extras
|
101
|
+
[normalized_author.name]
|
102
|
+
end
|
103
|
+
|
96
104
|
def allow_resource_permissions?
|
97
105
|
component.settings.resources_permissions_enabled
|
98
106
|
end
|
99
107
|
|
108
|
+
# Public: Overrides the `commentable?` Commentable concern method.
|
109
|
+
def commentable?
|
110
|
+
component.settings.comments_enabled?
|
111
|
+
end
|
112
|
+
|
113
|
+
# Public: Whether the object can have new comments or not.
|
114
|
+
def user_allowed_to_comment?(user)
|
115
|
+
component.can_participate_in_space?(user)
|
116
|
+
end
|
117
|
+
|
100
118
|
def self.user_collection(user)
|
101
119
|
where(decidim_author_id: user.id, decidim_author_type: "Decidim::User")
|
102
120
|
end
|
@@ -2,10 +2,9 @@
|
|
2
2
|
|
3
3
|
shared_context "with a component" do
|
4
4
|
let(:manifest) { Decidim.find_component_manifest(manifest_name) }
|
5
|
-
|
6
5
|
let(:user) { create :user, :confirmed, organization: organization }
|
7
6
|
|
8
|
-
let!(:organization) { create(:organization, available_authorizations: %w(dummy_authorization_handler another_dummy_authorization_handler)) }
|
7
|
+
let!(:organization) { create(:organization, *organization_traits, available_authorizations: %w(dummy_authorization_handler another_dummy_authorization_handler)) }
|
9
8
|
|
10
9
|
let(:participatory_process) do
|
11
10
|
create(:participatory_process, :with_steps, organization: organization)
|
@@ -22,8 +21,14 @@ shared_context "with a component" do
|
|
22
21
|
let!(:category) { create :category, participatory_space: participatory_space }
|
23
22
|
let!(:scope) { create :scope, organization: organization }
|
24
23
|
|
24
|
+
let(:organization_traits) { [] }
|
25
|
+
|
25
26
|
before do
|
26
|
-
|
27
|
+
if organization_traits.include?(:secure_context)
|
28
|
+
switch_to_secure_context_host
|
29
|
+
else
|
30
|
+
switch_to_host(organization.host)
|
31
|
+
end
|
27
32
|
end
|
28
33
|
|
29
34
|
def visit_component
|
@@ -32,9 +37,12 @@ shared_context "with a component" do
|
|
32
37
|
end
|
33
38
|
|
34
39
|
shared_context "when managing a component" do
|
35
|
-
include_context "with a component"
|
40
|
+
include_context "with a component" do
|
41
|
+
let(:organization_traits) { component_organization_traits }
|
42
|
+
end
|
36
43
|
|
37
44
|
let(:current_component) { component }
|
45
|
+
let(:component_organization_traits) { [] }
|
38
46
|
|
39
47
|
before do
|
40
48
|
login_as user, scope: :user
|
@@ -56,7 +64,11 @@ shared_context "when managing a component" do
|
|
56
64
|
end
|
57
65
|
|
58
66
|
shared_context "when managing a component as an admin" do
|
59
|
-
include_context "when managing a component"
|
67
|
+
include_context "when managing a component" do
|
68
|
+
let(:component_organization_traits) { admin_component_organization_traits }
|
69
|
+
end
|
70
|
+
|
71
|
+
let(:admin_component_organization_traits) { [] }
|
60
72
|
|
61
73
|
let(:user) do
|
62
74
|
create :user,
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "billy/capybara/rspec"
|
4
|
+
|
5
|
+
Billy.configure do |config|
|
6
|
+
config.cache = true
|
7
|
+
config.persist_cache = true
|
8
|
+
config.cache_path = "spec/billy"
|
9
|
+
config.record_requests = true
|
10
|
+
config.proxied_request_connect_timeout = 20
|
11
|
+
config.proxied_request_inactivity_timeout = 20
|
12
|
+
end
|
13
|
+
|
14
|
+
RSpec.configure do |config|
|
15
|
+
base_cache_path = Billy.config.cache_path
|
16
|
+
|
17
|
+
config.before :each, :billy do |example|
|
18
|
+
driven_by :selenium_chrome_headless_billy
|
19
|
+
switch_to_secure_context_host
|
20
|
+
WebMock::HttpLibAdapters::EmHttpRequestAdapter.disable!
|
21
|
+
|
22
|
+
feature_name = example.metadata[:example_group][:description].underscore.gsub(" ", "_")
|
23
|
+
scenario_name = example.metadata[:description].underscore.gsub(" ", "_")
|
24
|
+
cache_scenario_folder_path = File.join(base_cache_path, feature_name, scenario_name)
|
25
|
+
FileUtils.mkdir_p(cache_scenario_folder_path)
|
26
|
+
Billy.config.cache_path = cache_scenario_folder_path
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# A patch to `puffing-billy`'s proxy so that it doesn't try to stop
|
31
|
+
# eventmachine's reactor if it's not running.
|
32
|
+
#
|
33
|
+
# See:
|
34
|
+
# https://github.com/oesmith/puffing-billy/issues/253#issuecomment-539710620
|
35
|
+
module BillyProxyPatch
|
36
|
+
def stop
|
37
|
+
return unless EM.reactor_running?
|
38
|
+
|
39
|
+
super
|
40
|
+
end
|
41
|
+
end
|
42
|
+
Billy::Proxy.prepend(BillyProxyPatch)
|
43
|
+
|
44
|
+
# A patch to `puffing-billy` to start EM if it has been stopped
|
45
|
+
Billy.module_eval do
|
46
|
+
def self.proxy
|
47
|
+
if @billy_proxy.nil? || !(EventMachine.reactor_running? && EventMachine.reactor_thread.alive?)
|
48
|
+
proxy = Billy::Proxy.new
|
49
|
+
proxy.start
|
50
|
+
@billy_proxy = proxy
|
51
|
+
else
|
52
|
+
@billy_proxy
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -14,8 +14,9 @@ module TranslationHelpers
|
|
14
14
|
# translated attributes implementation can change more easily.
|
15
15
|
def translated(field, locale: I18n.locale)
|
16
16
|
return field if field.is_a?(String)
|
17
|
+
return if field.nil?
|
17
18
|
|
18
|
-
field.
|
19
|
+
field[locale.to_s] || field.dig("machine_translations", locale.to_s)
|
19
20
|
end
|
20
21
|
|
21
22
|
# Checks that the current page has some translated content. It strips the
|
@@ -66,6 +67,20 @@ module TranslationHelpers
|
|
66
67
|
end
|
67
68
|
end
|
68
69
|
|
70
|
+
# Handles how to clear i18n form fields which uses a WYSIWYG editor.
|
71
|
+
#
|
72
|
+
# field - the name of the field that should be cleared, without the
|
73
|
+
# locale-related part (e.g. `:participatory_process_title`)
|
74
|
+
# tab_selector - a String representing the ID of the HTML element that holds
|
75
|
+
# the tabs for this input. It ususally is `"#<attribute_name>-tabs" (e.g.
|
76
|
+
# "#title-tabs")
|
77
|
+
# locales - an Array with the locales IDs.
|
78
|
+
def clear_i18n_editor(field, tab_selector, locales)
|
79
|
+
clear_i18n_fields(field, tab_selector, locales) do |locator|
|
80
|
+
clear_editor locator
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
69
84
|
# Handles how to fill a WYSIWYG editor.
|
70
85
|
#
|
71
86
|
# locator - The input field ID. The DOM element is selected using jQuery.
|
@@ -80,9 +95,22 @@ module TranslationHelpers
|
|
80
95
|
SCRIPT
|
81
96
|
end
|
82
97
|
|
98
|
+
# Handles how to clear a WYSIWYG editor.
|
99
|
+
#
|
100
|
+
# locator - The input field ID. The DOM element is selected using jQuery.
|
101
|
+
def clear_editor(locator)
|
102
|
+
page.execute_script <<-SCRIPT
|
103
|
+
$('##{locator}').siblings('.editor-container').find('.ql-editor')[0].innerHTML = "<p><br></p>";
|
104
|
+
$('##{locator}').val("")
|
105
|
+
SCRIPT
|
106
|
+
end
|
107
|
+
|
83
108
|
private
|
84
109
|
|
85
110
|
def fill_in_i18n_fields(field, tab_selector, localized_values)
|
111
|
+
# Ensure the field is visible in the view to avoid "element has zero size"
|
112
|
+
# errors
|
113
|
+
scroll_to(find(tab_selector))
|
86
114
|
localized_values.each do |locale, value|
|
87
115
|
within tab_selector do
|
88
116
|
click_link I18n.with_locale(locale) { t("name", scope: "locale") }
|
@@ -91,6 +119,18 @@ module TranslationHelpers
|
|
91
119
|
end
|
92
120
|
end
|
93
121
|
|
122
|
+
def clear_i18n_fields(field, tab_selector, locales)
|
123
|
+
# Ensure the field is visible in the view to avoid "element has zero size"
|
124
|
+
# errors
|
125
|
+
scroll_to(find(tab_selector))
|
126
|
+
locales.each do |locale|
|
127
|
+
within tab_selector do
|
128
|
+
click_link I18n.with_locale(locale) { t("name", scope: "locale") }
|
129
|
+
end
|
130
|
+
yield "#{field}_#{locale}"
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
94
134
|
# Gives a specific language version of a field and (optionally) upcases it
|
95
135
|
#
|
96
136
|
# field - the field that holds the translations
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "vcr"
|
4
|
+
|
5
|
+
module BulletinBoardVcr
|
6
|
+
def self.bulletin_board_uri?(uri)
|
7
|
+
uri.hostname == bulletin_board_uri.hostname && uri.port == bulletin_board_uri.port
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.bulletin_board_uri
|
11
|
+
@bulletin_board_uri ||= URI(bulletin_board_server)
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.bulletin_board_server
|
15
|
+
return "" unless defined?(Decidim::Elections)
|
16
|
+
|
17
|
+
Decidim::Elections.bulletin_board.server
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
VCR.configure do |config|
|
22
|
+
config.default_cassette_options = { serialize_with: :json }
|
23
|
+
config.cassette_library_dir = "spec/cassettes"
|
24
|
+
config.hook_into :webmock
|
25
|
+
config.configure_rspec_metadata!
|
26
|
+
config.ignore_request { |request| !BulletinBoardVcr.bulletin_board_uri?(URI(request.uri)) }
|
27
|
+
end
|
@@ -2,30 +2,30 @@
|
|
2
2
|
|
3
3
|
module DownloadHelper
|
4
4
|
TIMEOUT = 10
|
5
|
-
PATH = Rails.root.join("tmp
|
5
|
+
PATH = Rails.root.join("tmp/downloads").freeze
|
6
6
|
|
7
|
-
def downloads
|
8
|
-
Dir[PATH.join("*")]
|
7
|
+
def downloads(name = nil)
|
8
|
+
Dir[PATH.join(name || "*")]
|
9
9
|
end
|
10
10
|
|
11
|
-
def download_path
|
12
|
-
wait_for_download
|
13
|
-
downloads.first
|
11
|
+
def download_path(name = nil)
|
12
|
+
wait_for_download(name)
|
13
|
+
downloads(name).first
|
14
14
|
end
|
15
15
|
|
16
|
-
def download_content
|
17
|
-
wait_for_download
|
18
|
-
File.read(download_path)
|
16
|
+
def download_content(name = nil)
|
17
|
+
wait_for_download(name)
|
18
|
+
File.read(download_path(name))
|
19
19
|
end
|
20
20
|
|
21
|
-
def wait_for_download
|
21
|
+
def wait_for_download(name = nil)
|
22
22
|
Timeout.timeout(TIMEOUT) do
|
23
|
-
sleep 0.1 until downloaded?
|
23
|
+
sleep 0.1 until downloaded?(name)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
def downloaded?
|
28
|
-
downloads.any? && !downloading?
|
27
|
+
def downloaded?(name = nil)
|
28
|
+
downloads(name).any? && !downloading?
|
29
29
|
end
|
30
30
|
|
31
31
|
def downloading?
|
@@ -40,8 +40,6 @@ end
|
|
40
40
|
RSpec.configure do |config|
|
41
41
|
config.include DownloadHelper, download: true
|
42
42
|
config.before :each, download: true do
|
43
|
-
driven_by(:headless_chrome)
|
44
|
-
switch_to_default_host
|
45
43
|
FileUtils.mkdir_p DownloadHelper::PATH.to_s
|
46
44
|
page.driver.browser.download_path = DownloadHelper::PATH.to_s
|
47
45
|
clear_downloads
|
@@ -11,7 +11,7 @@ require "action_view/helpers/sanitize_helper"
|
|
11
11
|
|
12
12
|
# Requires supporting files with custom matchers and macros, etc,
|
13
13
|
# in ./rspec_support/ and its subdirectories.
|
14
|
-
Dir["#{__dir__}/rspec_support/**/*.rb"].each { |f| require f }
|
14
|
+
Dir["#{__dir__}/rspec_support/**/*.rb"].sort.each { |f| require f }
|
15
15
|
|
16
16
|
require_relative "factories"
|
17
17
|
|
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.24.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: 2021-03-
|
13
|
+
date: 2021-03-01 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.24.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.
|
42
|
+
version: 0.24.0.rc1
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: factory_bot_rails
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,30 +128,50 @@ dependencies:
|
|
128
128
|
name: nokogiri
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
130
130
|
requirements:
|
131
|
+
- - "~>"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '1.11'
|
131
134
|
- - ">="
|
132
135
|
- !ruby/object:Gem::Version
|
133
|
-
version: 1.
|
136
|
+
version: 1.11.1
|
134
137
|
type: :runtime
|
135
138
|
prerelease: false
|
136
139
|
version_requirements: !ruby/object:Gem::Requirement
|
137
140
|
requirements:
|
141
|
+
- - "~>"
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '1.11'
|
138
144
|
- - ">="
|
139
145
|
- !ruby/object:Gem::Version
|
140
|
-
version: 1.
|
146
|
+
version: 1.11.1
|
147
|
+
- !ruby/object:Gem::Dependency
|
148
|
+
name: puffing-billy
|
149
|
+
requirement: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - "~>"
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: 2.4.0
|
154
|
+
type: :runtime
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - "~>"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: 2.4.0
|
141
161
|
- !ruby/object:Gem::Dependency
|
142
162
|
name: puma
|
143
163
|
requirement: !ruby/object:Gem::Requirement
|
144
164
|
requirements:
|
145
|
-
- - "
|
165
|
+
- - "~>"
|
146
166
|
- !ruby/object:Gem::Version
|
147
|
-
version: '
|
167
|
+
version: '5.0'
|
148
168
|
type: :runtime
|
149
169
|
prerelease: false
|
150
170
|
version_requirements: !ruby/object:Gem::Requirement
|
151
171
|
requirements:
|
152
|
-
- - "
|
172
|
+
- - "~>"
|
153
173
|
- !ruby/object:Gem::Version
|
154
|
-
version: '
|
174
|
+
version: '5.0'
|
155
175
|
- !ruby/object:Gem::Dependency
|
156
176
|
name: rails-controller-testing
|
157
177
|
requirement: !ruby/object:Gem::Requirement
|
@@ -195,61 +215,61 @@ dependencies:
|
|
195
215
|
- !ruby/object:Gem::Version
|
196
216
|
version: 0.9.1
|
197
217
|
- !ruby/object:Gem::Dependency
|
198
|
-
name:
|
218
|
+
name: rspec_junit_formatter
|
199
219
|
requirement: !ruby/object:Gem::Requirement
|
200
220
|
requirements:
|
201
221
|
- - "~>"
|
202
222
|
- !ruby/object:Gem::Version
|
203
|
-
version:
|
223
|
+
version: 0.3.0
|
204
224
|
type: :runtime
|
205
225
|
prerelease: false
|
206
226
|
version_requirements: !ruby/object:Gem::Requirement
|
207
227
|
requirements:
|
208
228
|
- - "~>"
|
209
229
|
- !ruby/object:Gem::Version
|
210
|
-
version:
|
230
|
+
version: 0.3.0
|
211
231
|
- !ruby/object:Gem::Dependency
|
212
|
-
name: rspec-
|
232
|
+
name: rspec-rails
|
213
233
|
requirement: !ruby/object:Gem::Requirement
|
214
234
|
requirements:
|
215
235
|
- - "~>"
|
216
236
|
- !ruby/object:Gem::Version
|
217
|
-
version:
|
237
|
+
version: '3.7'
|
218
238
|
type: :runtime
|
219
239
|
prerelease: false
|
220
240
|
version_requirements: !ruby/object:Gem::Requirement
|
221
241
|
requirements:
|
222
242
|
- - "~>"
|
223
243
|
- !ruby/object:Gem::Version
|
224
|
-
version:
|
244
|
+
version: '3.7'
|
225
245
|
- !ruby/object:Gem::Dependency
|
226
|
-
name:
|
246
|
+
name: rspec-retry
|
227
247
|
requirement: !ruby/object:Gem::Requirement
|
228
248
|
requirements:
|
229
249
|
- - "~>"
|
230
250
|
- !ruby/object:Gem::Version
|
231
|
-
version: 0.
|
251
|
+
version: 0.6.2
|
232
252
|
type: :runtime
|
233
253
|
prerelease: false
|
234
254
|
version_requirements: !ruby/object:Gem::Requirement
|
235
255
|
requirements:
|
236
256
|
- - "~>"
|
237
257
|
- !ruby/object:Gem::Version
|
238
|
-
version: 0.
|
258
|
+
version: 0.6.2
|
239
259
|
- !ruby/object:Gem::Dependency
|
240
260
|
name: rubocop
|
241
261
|
requirement: !ruby/object:Gem::Requirement
|
242
262
|
requirements:
|
243
263
|
- - "~>"
|
244
264
|
- !ruby/object:Gem::Version
|
245
|
-
version: 0.
|
265
|
+
version: 0.92.0
|
246
266
|
type: :runtime
|
247
267
|
prerelease: false
|
248
268
|
version_requirements: !ruby/object:Gem::Requirement
|
249
269
|
requirements:
|
250
270
|
- - "~>"
|
251
271
|
- !ruby/object:Gem::Version
|
252
|
-
version: 0.
|
272
|
+
version: 0.92.0
|
253
273
|
- !ruby/object:Gem::Dependency
|
254
274
|
name: rubocop-rails
|
255
275
|
requirement: !ruby/object:Gem::Requirement
|
@@ -334,6 +354,20 @@ dependencies:
|
|
334
354
|
- - "~>"
|
335
355
|
- !ruby/object:Gem::Version
|
336
356
|
version: 0.1.1
|
357
|
+
- !ruby/object:Gem::Dependency
|
358
|
+
name: vcr
|
359
|
+
requirement: !ruby/object:Gem::Requirement
|
360
|
+
requirements:
|
361
|
+
- - "~>"
|
362
|
+
- !ruby/object:Gem::Version
|
363
|
+
version: '6.0'
|
364
|
+
type: :runtime
|
365
|
+
prerelease: false
|
366
|
+
version_requirements: !ruby/object:Gem::Requirement
|
367
|
+
requirements:
|
368
|
+
- - "~>"
|
369
|
+
- !ruby/object:Gem::Version
|
370
|
+
version: '6.0'
|
337
371
|
- !ruby/object:Gem::Dependency
|
338
372
|
name: webmock
|
339
373
|
requirement: !ruby/object:Gem::Requirement
|
@@ -466,6 +500,11 @@ files:
|
|
466
500
|
- lib/decidim/dev/assets/id.jpg
|
467
501
|
- lib/decidim/dev/assets/import_participatory_space_private_users.csv
|
468
502
|
- lib/decidim/dev/assets/import_participatory_space_private_users_nok.csv
|
503
|
+
- lib/decidim/dev/assets/import_proposals.csv
|
504
|
+
- lib/decidim/dev/assets/import_proposals.json
|
505
|
+
- lib/decidim/dev/assets/import_proposals.xls
|
506
|
+
- lib/decidim/dev/assets/import_proposals_broken.csv
|
507
|
+
- lib/decidim/dev/assets/invalid.jpeg
|
469
508
|
- lib/decidim/dev/assets/iso-8859-15.md
|
470
509
|
- lib/decidim/dev/assets/malicious.jpg
|
471
510
|
- lib/decidim/dev/assets/participatory_processes.json
|
@@ -473,6 +512,10 @@ files:
|
|
473
512
|
- lib/decidim/dev/assets/participatory_text.md
|
474
513
|
- lib/decidim/dev/assets/participatory_text.odt
|
475
514
|
- lib/decidim/dev/assets/participatory_text_wrong.odt
|
515
|
+
- lib/decidim/dev/assets/private_key.jwk
|
516
|
+
- lib/decidim/dev/assets/private_key2.jwk
|
517
|
+
- lib/decidim/dev/assets/public_key.jwk
|
518
|
+
- lib/decidim/dev/assets/public_key2.jwk
|
476
519
|
- lib/decidim/dev/assets/verify_user_groups.csv
|
477
520
|
- lib/decidim/dev/common_rake.rb
|
478
521
|
- lib/decidim/dev/dummy_translator.rb
|
@@ -495,7 +538,6 @@ files:
|
|
495
538
|
- lib/decidim/dev/test/rspec_support/component_context.rb
|
496
539
|
- lib/decidim/dev/test/rspec_support/confirmation_helpers.rb
|
497
540
|
- lib/decidim/dev/test/rspec_support/content_processing.rb
|
498
|
-
- lib/decidim/dev/test/rspec_support/download_helper.rb
|
499
541
|
- lib/decidim/dev/test/rspec_support/factory_bot.rb
|
500
542
|
- lib/decidim/dev/test/rspec_support/frontend.rb
|
501
543
|
- lib/decidim/dev/test/rspec_support/gamification.rb
|
@@ -505,14 +547,17 @@ files:
|
|
505
547
|
- lib/decidim/dev/test/rspec_support/orderly_matchers.rb
|
506
548
|
- lib/decidim/dev/test/rspec_support/organization.rb
|
507
549
|
- lib/decidim/dev/test/rspec_support/permissions_shared_examples.rb
|
550
|
+
- lib/decidim/dev/test/rspec_support/puffing_billy.rb
|
508
551
|
- lib/decidim/dev/test/rspec_support/rake_tasks.rb
|
509
552
|
- lib/decidim/dev/test/rspec_support/react_select.rb
|
510
553
|
- lib/decidim/dev/test/rspec_support/route_helpers.rb
|
511
554
|
- lib/decidim/dev/test/rspec_support/timezone.rb
|
512
555
|
- lib/decidim/dev/test/rspec_support/translation_helpers.rb
|
556
|
+
- lib/decidim/dev/test/rspec_support/vcr.rb
|
513
557
|
- lib/decidim/dev/test/rspec_support/warden.rb
|
514
558
|
- lib/decidim/dev/test/rspec_support/webmock.rb
|
515
559
|
- lib/decidim/dev/test/rspec_support/wisper.rb
|
560
|
+
- lib/decidim/dev/test/rspec_support/z_download_helper.rb
|
516
561
|
- lib/decidim/dev/test/spec_helper.rb
|
517
562
|
- lib/decidim/dev/version.rb
|
518
563
|
- lib/tasks/generators.rake
|
@@ -529,14 +574,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
529
574
|
requirements:
|
530
575
|
- - ">="
|
531
576
|
- !ruby/object:Gem::Version
|
532
|
-
version: '2.
|
577
|
+
version: '2.7'
|
533
578
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
534
579
|
requirements:
|
535
|
-
- - "
|
580
|
+
- - ">"
|
536
581
|
- !ruby/object:Gem::Version
|
537
|
-
version:
|
582
|
+
version: 1.3.1
|
538
583
|
requirements: []
|
539
|
-
rubygems_version: 3.
|
584
|
+
rubygems_version: 3.1.2
|
540
585
|
signing_key:
|
541
586
|
specification_version: 4
|
542
587
|
summary: Decidim dev tools
|