decidim-dev 0.23.5 → 0.24.2
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/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/caching.rb +15 -0
- data/lib/decidim/dev/test/rspec_support/capybara.rb +9 -1
- data/lib/decidim/dev/test/rspec_support/cell_matchers.rb +17 -0
- data/lib/decidim/dev/test/rspec_support/component.rb +19 -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 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 234c1c095869e1fb2d0b1e7a538220d24cf8e83208ba9a972a7fedbf65a16203
|
|
4
|
+
data.tar.gz: 800ba34f749455642d0d791b7e7d51b5dff233e75eb1c80a2e053bfd6bf6e7ae
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 34fc01972f66e5653f4dc75f3605876ef167907988030572f2b68fee4f0eff40660abe5c0712c23c2395ccc05a875a5cb87604eef6578938e69eafd5c3cbe9ca
|
|
7
|
+
data.tar.gz: 8ece9d4a2454f5b7f078cd042367896ded2d85e997baee22f83b5e262a43fa49158b4ddcf16288ab671df505356ab3b5d0b70dc38a72c2424a24aa028b4e1b51
|
|
@@ -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
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
RSpec.configure do |config|
|
|
4
|
+
config.around(:each, :caching) do |example|
|
|
5
|
+
caching = ActionController::Base.perform_caching
|
|
6
|
+
cache_store = ActionController::Base.cache_store
|
|
7
|
+
ActionController::Base.perform_caching = true
|
|
8
|
+
ActionController::Base.cache_store = ActiveSupport::Cache::MemoryStore.new
|
|
9
|
+
|
|
10
|
+
example.run
|
|
11
|
+
|
|
12
|
+
ActionController::Base.perform_caching = caching
|
|
13
|
+
ActionController::Base.cache_store = cache_store
|
|
14
|
+
end
|
|
15
|
+
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
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Decidim
|
|
4
|
+
module CellMatchers
|
|
5
|
+
RSpec::Matchers.define :render_nothing do |_expected_value|
|
|
6
|
+
match do |actual_value|
|
|
7
|
+
expect(actual_value).to have_no_selector("html")
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
diffable
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
RSpec.configure do |config|
|
|
16
|
+
config.include Decidim::CellMatchers, type: :cell
|
|
17
|
+
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
|
|
@@ -258,6 +276,7 @@ RSpec.configure do |config|
|
|
|
258
276
|
t.integer :coauthorships_count, null: false, default: 0
|
|
259
277
|
t.integer :endorsements_count, null: false, default: 0
|
|
260
278
|
t.integer :comments_count, null: false, default: 0
|
|
279
|
+
t.integer :follows_count, null: false, default: 0
|
|
261
280
|
|
|
262
281
|
t.references :decidim_component, index: false
|
|
263
282
|
t.integer :decidim_author_id, index: false
|
|
@@ -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.2
|
|
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-
|
|
13
|
+
date: 2021-05-07 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.2
|
|
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.2
|
|
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
|
|
@@ -487,15 +530,16 @@ files:
|
|
|
487
530
|
- lib/decidim/dev/test/rspec_support/attachment_helpers.rb
|
|
488
531
|
- lib/decidim/dev/test/rspec_support/attachments.rb
|
|
489
532
|
- lib/decidim/dev/test/rspec_support/authorization.rb
|
|
533
|
+
- lib/decidim/dev/test/rspec_support/caching.rb
|
|
490
534
|
- lib/decidim/dev/test/rspec_support/capybara.rb
|
|
491
535
|
- lib/decidim/dev/test/rspec_support/capybara_data_picker.rb
|
|
492
536
|
- lib/decidim/dev/test/rspec_support/capybara_scopes_picker.rb
|
|
537
|
+
- lib/decidim/dev/test/rspec_support/cell_matchers.rb
|
|
493
538
|
- lib/decidim/dev/test/rspec_support/comments.rb
|
|
494
539
|
- lib/decidim/dev/test/rspec_support/component.rb
|
|
495
540
|
- lib/decidim/dev/test/rspec_support/component_context.rb
|
|
496
541
|
- lib/decidim/dev/test/rspec_support/confirmation_helpers.rb
|
|
497
542
|
- lib/decidim/dev/test/rspec_support/content_processing.rb
|
|
498
|
-
- lib/decidim/dev/test/rspec_support/download_helper.rb
|
|
499
543
|
- lib/decidim/dev/test/rspec_support/factory_bot.rb
|
|
500
544
|
- lib/decidim/dev/test/rspec_support/frontend.rb
|
|
501
545
|
- lib/decidim/dev/test/rspec_support/gamification.rb
|
|
@@ -505,14 +549,17 @@ files:
|
|
|
505
549
|
- lib/decidim/dev/test/rspec_support/orderly_matchers.rb
|
|
506
550
|
- lib/decidim/dev/test/rspec_support/organization.rb
|
|
507
551
|
- lib/decidim/dev/test/rspec_support/permissions_shared_examples.rb
|
|
552
|
+
- lib/decidim/dev/test/rspec_support/puffing_billy.rb
|
|
508
553
|
- lib/decidim/dev/test/rspec_support/rake_tasks.rb
|
|
509
554
|
- lib/decidim/dev/test/rspec_support/react_select.rb
|
|
510
555
|
- lib/decidim/dev/test/rspec_support/route_helpers.rb
|
|
511
556
|
- lib/decidim/dev/test/rspec_support/timezone.rb
|
|
512
557
|
- lib/decidim/dev/test/rspec_support/translation_helpers.rb
|
|
558
|
+
- lib/decidim/dev/test/rspec_support/vcr.rb
|
|
513
559
|
- lib/decidim/dev/test/rspec_support/warden.rb
|
|
514
560
|
- lib/decidim/dev/test/rspec_support/webmock.rb
|
|
515
561
|
- lib/decidim/dev/test/rspec_support/wisper.rb
|
|
562
|
+
- lib/decidim/dev/test/rspec_support/z_download_helper.rb
|
|
516
563
|
- lib/decidim/dev/test/spec_helper.rb
|
|
517
564
|
- lib/decidim/dev/version.rb
|
|
518
565
|
- lib/tasks/generators.rake
|
|
@@ -529,14 +576,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
529
576
|
requirements:
|
|
530
577
|
- - ">="
|
|
531
578
|
- !ruby/object:Gem::Version
|
|
532
|
-
version: '2.
|
|
579
|
+
version: '2.7'
|
|
533
580
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
534
581
|
requirements:
|
|
535
582
|
- - ">="
|
|
536
583
|
- !ruby/object:Gem::Version
|
|
537
584
|
version: '0'
|
|
538
585
|
requirements: []
|
|
539
|
-
rubygems_version: 3.
|
|
586
|
+
rubygems_version: 3.1.2
|
|
540
587
|
signing_key:
|
|
541
588
|
specification_version: 4
|
|
542
589
|
summary: Decidim dev tools
|