diff --git a/.schemas-version b/.schemas-version
index 0fac7be0d1..7b705cd7be 100644
--- a/.schemas-version
+++ b/.schemas-version
@@ -1 +1 @@
-v3.61.0
+v3.63.0
diff --git a/Pipfile.lock b/Pipfile.lock
index 7f8c8b727d..3af7ed83cf 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -50,11 +50,11 @@
},
"botocore": {
"hashes": [
- "sha256:3005a7ffee083315e69938acdf1bfeaf9e21fe1fe1643d6573ee817721f4ffcd",
- "sha256:ac87b63e9aa4231cd28941945024a0c4470c184c60334ebe5e1cae3544c785ed"
+ "sha256:77f7793cb36074eb84d606a23ad6e1d57c20f7a2eeab7d9136d3e63c584e0504",
+ "sha256:ac57003292f18206ee942eafc381ecd9a3420a3844d6b7e1c1b0f4b88b28263b"
],
"markers": "python_version >= '3.7'",
- "version": "==1.29.125"
+ "version": "==1.29.146"
},
"brotli": {
"hashes": [
@@ -145,19 +145,19 @@
},
"cachetools": {
"hashes": [
- "sha256:13dfddc7b8df938c21a940dfa6557ce6e94a2f1cdfa58eb90c805721d58f2c14",
- "sha256:429e1a1e845c008ea6c85aa35d4b98b65d6a9763eeef3e37e92728a12d1de9d4"
+ "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590",
+ "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"
],
- "markers": "python_version ~= '3.7'",
- "version": "==5.3.0"
+ "markers": "python_version >= '3.7'",
+ "version": "==5.3.1"
},
"certifi": {
"hashes": [
- "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3",
- "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
+ "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7",
+ "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
],
"markers": "python_version >= '3.6'",
- "version": "==2022.12.7"
+ "version": "==2023.5.7"
},
"cffi": {
"hashes": [
@@ -306,7 +306,7 @@
"sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df",
"sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"
],
- "markers": "python_full_version >= '3.7.0'",
+ "markers": "python_version >= '3.7'",
"version": "==3.1.0"
},
"click": {
@@ -335,43 +335,43 @@
},
"cryptography": {
"hashes": [
- "sha256:05dc219433b14046c476f6f09d7636b92a1c3e5808b9a6536adf4932b3b2c440",
- "sha256:0dcca15d3a19a66e63662dc8d30f8036b07be851a8680eda92d079868f106288",
- "sha256:142bae539ef28a1c76794cca7f49729e7c54423f615cfd9b0b1fa90ebe53244b",
- "sha256:3daf9b114213f8ba460b829a02896789751626a2a4e7a43a28ee77c04b5e4958",
- "sha256:48f388d0d153350f378c7f7b41497a54ff1513c816bcbbcafe5b829e59b9ce5b",
- "sha256:4df2af28d7bedc84fe45bd49bc35d710aede676e2a4cb7fc6d103a2adc8afe4d",
- "sha256:4f01c9863da784558165f5d4d916093737a75203a5c5286fde60e503e4276c7a",
- "sha256:7a38250f433cd41df7fcb763caa3ee9362777fdb4dc642b9a349721d2bf47404",
- "sha256:8f79b5ff5ad9d3218afb1e7e20ea74da5f76943ee5edb7f76e56ec5161ec782b",
- "sha256:956ba8701b4ffe91ba59665ed170a2ebbdc6fc0e40de5f6059195d9f2b33ca0e",
- "sha256:a04386fb7bc85fab9cd51b6308633a3c271e3d0d3eae917eebab2fac6219b6d2",
- "sha256:a95f4802d49faa6a674242e25bfeea6fc2acd915b5e5e29ac90a32b1139cae1c",
- "sha256:adc0d980fd2760c9e5de537c28935cc32b9353baaf28e0814df417619c6c8c3b",
- "sha256:aecbb1592b0188e030cb01f82d12556cf72e218280f621deed7d806afd2113f9",
- "sha256:b12794f01d4cacfbd3177b9042198f3af1c856eedd0a98f10f141385c809a14b",
- "sha256:c0764e72b36a3dc065c155e5b22f93df465da9c39af65516fe04ed3c68c92636",
- "sha256:c33c0d32b8594fa647d2e01dbccc303478e16fdd7cf98652d5b3ed11aa5e5c99",
- "sha256:cbaba590180cba88cb99a5f76f90808a624f18b169b90a4abb40c1fd8c19420e",
- "sha256:d5a1bd0e9e2031465761dfa920c16b0065ad77321d8a8c1f5ee331021fda65e9"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==40.0.2"
+ "sha256:0ddaee209d1cf1f180f1efa338a68c4621154de0afaef92b89486f5f96047c55",
+ "sha256:14754bcdae909d66ff24b7b5f166d69340ccc6cb15731670435efd5719294895",
+ "sha256:344c6de9f8bda3c425b3a41b319522ba3208551b70c2ae00099c205f0d9fd3be",
+ "sha256:34d405ea69a8b34566ba3dfb0521379b210ea5d560fafedf9f800a9a94a41928",
+ "sha256:3680248309d340fda9611498a5319b0193a8dbdb73586a1acf8109d06f25b92d",
+ "sha256:3c5ef25d060c80d6d9f7f9892e1d41bb1c79b78ce74805b8cb4aa373cb7d5ec8",
+ "sha256:4ab14d567f7bbe7f1cdff1c53d5324ed4d3fc8bd17c481b395db224fb405c237",
+ "sha256:5c1f7293c31ebc72163a9a0df246f890d65f66b4a40d9ec80081969ba8c78cc9",
+ "sha256:6b71f64beeea341c9b4f963b48ee3b62d62d57ba93eb120e1196b31dc1025e78",
+ "sha256:7d92f0248d38faa411d17f4107fc0bce0c42cae0b0ba5415505df72d751bf62d",
+ "sha256:8362565b3835ceacf4dc8f3b56471a2289cf51ac80946f9087e66dc283a810e0",
+ "sha256:84a165379cb9d411d58ed739e4af3396e544eac190805a54ba2e0322feb55c46",
+ "sha256:88ff107f211ea696455ea8d911389f6d2b276aabf3231bf72c8853d22db755c5",
+ "sha256:9f65e842cb02550fac96536edb1d17f24c0a338fd84eaf582be25926e993dde4",
+ "sha256:a4fc68d1c5b951cfb72dfd54702afdbbf0fb7acdc9b7dc4301bbf2225a27714d",
+ "sha256:b7f2f5c525a642cecad24ee8670443ba27ac1fab81bba4cc24c7b6b41f2d0c75",
+ "sha256:b846d59a8d5a9ba87e2c3d757ca019fa576793e8758174d3868aecb88d6fc8eb",
+ "sha256:bf8fc66012ca857d62f6a347007e166ed59c0bc150cefa49f28376ebe7d992a2",
+ "sha256:f5d0bf9b252f30a31664b6f64432b4730bb7038339bd18b1fafe129cfc2be9be"
+ ],
+ "index": "pypi",
+ "version": "==41.0.0"
},
"deprecated": {
"hashes": [
- "sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d",
- "sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d"
+ "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c",
+ "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==1.2.13"
+ "version": "==1.2.14"
},
"dnspython": {
"hashes": [
"sha256:224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9",
"sha256:89141536394f909066cabd112e3e1a37e4e654db00a25308b0f130bc3152eb46"
],
- "markers": "python_version >= '3.7' and python_version < '4.0'",
+ "markers": "python_version >= '3.7' and python_version < '4'",
"version": "==2.3.0"
},
"email-validator": {
@@ -491,7 +491,7 @@
},
"google-api-core": {
"extras": [
- "grpc"
+
],
"hashes": [
"sha256:4b9bb5d5a380a0befa0573b302651b8a9a89262c1730e37bf423cec511804c22",
@@ -502,11 +502,11 @@
},
"google-auth": {
"hashes": [
- "sha256:ce311e2bc58b130fddf316df57c9b3943c2a7b4f6ec31de9663a9333e4064efc",
- "sha256:f586b274d3eb7bd932ea424b1c702a30e0393a2e2bc4ca3eae8263ffd8be229f"
+ "sha256:a9cfa88b3e16196845e64a3658eb953992129d13ac7337b064c6546f77c17183",
+ "sha256:ea165e014c7cbd496558796b627c271aa8c18b4cba79dc1cc962b24c5efdfb85"
],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
- "version": "==2.17.3"
+ "markers": "python_version >= '3.6'",
+ "version": "==2.19.1"
},
"google-cloud-core": {
"hashes": [
@@ -844,10 +844,10 @@
},
"jwcrypto": {
"hashes": [
- "sha256:80a35e9ed1b3b2c43ce03d92c5d48e6d0b6647e2aa2618e4963448923d78a37b"
+ "sha256:2c1dc51cf8e38ddf324795dfe9426dee9dd46caf47f535ccbc18781fba810b8d"
],
"markers": "python_version >= '3.6'",
- "version": "==1.4.2"
+ "version": "==1.5.0"
},
"markupsafe": {
"hashes": [
@@ -956,22 +956,22 @@
},
"protobuf": {
"hashes": [
- "sha256:13233ee2b9d3bd9a5f216c1fa2c321cd564b93d8f2e4f521a85b585447747997",
- "sha256:23452f2fdea754a8251d0fc88c0317735ae47217e0d27bf330a30eec2848811a",
- "sha256:52f0a78141078077cfe15fe333ac3e3a077420b9a3f5d1bf9b5fe9d286b4d881",
- "sha256:70659847ee57a5262a65954538088a1d72dfc3e9882695cab9f0c54ffe71663b",
- "sha256:7760730063329d42a9d4c4573b804289b738d4931e363ffbe684716b796bde51",
- "sha256:7cf56e31907c532e460bb62010a513408e6cdf5b03fb2611e4b67ed398ad046d",
- "sha256:8b54f56d13ae4a3ec140076c9d937221f887c8f64954673d46f63751209e839a",
- "sha256:d14fc1a41d1a1909998e8aff7e80d2a7ae14772c4a70e4bf7db8a36690b54425",
- "sha256:d4b66266965598ff4c291416be429cef7989d8fae88b55b62095a2331511b3fa",
- "sha256:e0e630d8e6a79f48c557cd1835865b593d0547dce221c66ed1b827de59c66c97",
- "sha256:ecae944c6c2ce50dda6bf76ef5496196aeb1b85acb95df5843cd812615ec4b61",
- "sha256:f08aa300b67f1c012100d8eb62d47129e53d1150f4469fd78a29fa3cb68c66f2",
- "sha256:f2f4710543abec186aee332d6852ef5ae7ce2e9e807a3da570f36de5a732d88e"
+ "sha256:09310bce43353b46d73ba7e3bca78273b9bc50349509b9698e64d288c6372c2a",
+ "sha256:20874e7ca4436f683b64ebdbee2129a5a2c301579a67d1a7dda2cdf62fb7f5f7",
+ "sha256:25e3370eda26469b58b602e29dff069cfaae8eaa0ef4550039cc5ef8dc004511",
+ "sha256:281342ea5eb631c86697e1e048cb7e73b8a4e85f3299a128c116f05f5c668f8f",
+ "sha256:384dd44cb4c43f2ccddd3645389a23ae61aeb8cfa15ca3a0f60e7c3ea09b28b3",
+ "sha256:54a533b971288af3b9926e53850c7eb186886c0c84e61daa8444385a4720297f",
+ "sha256:6c081863c379bb1741be8f8193e893511312b1d7329b4a75445d1ea9955be69e",
+ "sha256:86df87016d290143c7ce3be3ad52d055714ebaebb57cc659c387e76cfacd81aa",
+ "sha256:8da6070310d634c99c0db7df48f10da495cc283fd9e9234877f0cd182d43ab7f",
+ "sha256:b2cfab63a230b39ae603834718db74ac11e52bccaaf19bf20f5cce1a84cf76df",
+ "sha256:c52cfcbfba8eb791255edd675c1fe6056f723bf832fa67f0442218f8817c076e",
+ "sha256:ce744938406de1e64b91410f473736e815f28c3b71201302612a68bf01517fea",
+ "sha256:efabbbbac1ab519a514579ba9ec52f006c28ae19d97915951f69fa70da2c9e91"
],
"markers": "python_version >= '3.7'",
- "version": "==4.22.3"
+ "version": "==4.23.2"
},
"pyasn1": {
"hashes": [
@@ -1132,16 +1132,16 @@
"sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7",
"sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"
],
- "markers": "python_version >= '3.6'",
+ "markers": "python_version >= '3.6' and python_version < '4'",
"version": "==4.9"
},
"s3transfer": {
"hashes": [
- "sha256:06176b74f3a15f61f1b4f25a1fc29a4429040b7647133a463da8fa5bd28d5ecd",
- "sha256:2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947"
+ "sha256:3c0da2d074bf35d6870ef157158641178a4204a6e689e82546083e31e0311346",
+ "sha256:640bb492711f4c0c0905e1f62b6aaeb771881935ad27884852411f8e9cacbca9"
],
"markers": "python_version >= '3.7'",
- "version": "==0.6.0"
+ "version": "==0.6.1"
},
"sdc-cryptography": {
"hashes": [
@@ -1153,11 +1153,11 @@
},
"setuptools": {
"hashes": [
- "sha256:23aaf86b85ca52ceb801d32703f12d77517b2556af839621c641fca11287952b",
- "sha256:f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990"
+ "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f",
+ "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"
],
"markers": "python_version >= '3.7'",
- "version": "==67.7.2"
+ "version": "==67.8.0"
},
"simplejson": {
"hashes": [
@@ -1276,11 +1276,11 @@
},
"urllib3": {
"hashes": [
- "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305",
- "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"
+ "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f",
+ "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
- "version": "==1.26.15"
+ "version": "==1.26.16"
},
"uwsgi": {
"hashes": [
@@ -1291,11 +1291,11 @@
},
"werkzeug": {
"hashes": [
- "sha256:4866679a0722de00796a74086238bb3b98d90f423f05de039abb09315487254a",
- "sha256:a987caf1092edc7523edb139edb20c70571c4a8d5eed02e0b547b4739174d091"
+ "sha256:1d5a58e0377d1fe39d061a5de4469e414e78ccb1e1e59c0f5ad6fa1c36c52b76",
+ "sha256:48e5e61472fee0ddee27ebad085614ebedb7af41e88f687aaf881afb723a162f"
],
"markers": "python_version >= '3.8'",
- "version": "==2.3.3"
+ "version": "==2.3.4"
},
"wrapt": {
"hashes": [
@@ -1433,11 +1433,11 @@
"develop": {
"astroid": {
"hashes": [
- "sha256:a1b8543ef9d36ea777194bc9b17f5f8678d2c56ee6a45b2c2f17eec96f242347",
- "sha256:c81e1c7fbac615037744d067a9bb5f9aeb655edf59b63ee8b59585475d6f80d8"
+ "sha256:078e5212f9885fa85fbb0cf0101978a336190aadea6e13305409d099f71b2324",
+ "sha256:1039262575027b441137ab4a62a793a9b43defb42c32d5670f38686207cd780f"
],
"markers": "python_full_version >= '3.7.2'",
- "version": "==2.15.4"
+ "version": "==2.15.5"
},
"async-timeout": {
"hashes": [
@@ -1494,6 +1494,14 @@
"index": "pypi",
"version": "==23.3.0"
},
+ "blinker": {
+ "hashes": [
+ "sha256:4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213",
+ "sha256:c3d739772abb7bc2860abf5f2ec284223d9ad5c76da018234f6f50d6f31ab1f0"
+ ],
+ "index": "pypi",
+ "version": "==1.6.2"
+ },
"boto3": {
"hashes": [
"sha256:6648aff15d19927cd26db47eb56362ccd313a1ddbd7aaa3235ef05d05d398252",
@@ -1504,19 +1512,19 @@
},
"botocore": {
"hashes": [
- "sha256:3005a7ffee083315e69938acdf1bfeaf9e21fe1fe1643d6573ee817721f4ffcd",
- "sha256:ac87b63e9aa4231cd28941945024a0c4470c184c60334ebe5e1cae3544c785ed"
+ "sha256:77f7793cb36074eb84d606a23ad6e1d57c20f7a2eeab7d9136d3e63c584e0504",
+ "sha256:ac57003292f18206ee942eafc381ecd9a3420a3844d6b7e1c1b0f4b88b28263b"
],
"markers": "python_version >= '3.7'",
- "version": "==1.29.125"
+ "version": "==1.29.146"
},
"certifi": {
"hashes": [
- "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3",
- "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
+ "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7",
+ "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
],
"markers": "python_version >= '3.6'",
- "version": "==2022.12.7"
+ "version": "==2023.5.7"
},
"cffi": {
"hashes": [
@@ -1665,7 +1673,7 @@
"sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df",
"sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"
],
- "markers": "python_full_version >= '3.7.0'",
+ "markers": "python_version >= '3.7'",
"version": "==3.1.0"
},
"click": {
@@ -1681,85 +1689,94 @@
"toml"
],
"hashes": [
- "sha256:0342a28617e63ad15d96dca0f7ae9479a37b7d8a295f749c14f3436ea59fdcb3",
- "sha256:066b44897c493e0dcbc9e6a6d9f8bbb6607ef82367cf6810d387c09f0cd4fe9a",
- "sha256:10b15394c13544fce02382360cab54e51a9e0fd1bd61ae9ce012c0d1e103c813",
- "sha256:12580845917b1e59f8a1c2ffa6af6d0908cb39220f3019e36c110c943dc875b0",
- "sha256:156192e5fd3dbbcb11cd777cc469cf010a294f4c736a2b2c891c77618cb1379a",
- "sha256:1637253b11a18f453e34013c665d8bf15904c9e3c44fbda34c643fbdc9d452cd",
- "sha256:292300f76440651529b8ceec283a9370532f4ecba9ad67d120617021bb5ef139",
- "sha256:30dcaf05adfa69c2a7b9f7dfd9f60bc8e36b282d7ed25c308ef9e114de7fc23b",
- "sha256:338aa9d9883aaaad53695cb14ccdeb36d4060485bb9388446330bef9c361c252",
- "sha256:373ea34dca98f2fdb3e5cb33d83b6d801007a8074f992b80311fc589d3e6b790",
- "sha256:38c0a497a000d50491055805313ed83ddba069353d102ece8aef5d11b5faf045",
- "sha256:40cc0f91c6cde033da493227797be2826cbf8f388eaa36a0271a97a332bfd7ce",
- "sha256:4436cc9ba5414c2c998eaedee5343f49c02ca93b21769c5fdfa4f9d799e84200",
- "sha256:509ecd8334c380000d259dc66feb191dd0a93b21f2453faa75f7f9cdcefc0718",
- "sha256:5c587f52c81211d4530fa6857884d37f514bcf9453bdeee0ff93eaaf906a5c1b",
- "sha256:5f3671662dc4b422b15776cdca89c041a6349b4864a43aa2350b6b0b03bbcc7f",
- "sha256:6599bf92f33ab041e36e06d25890afbdf12078aacfe1f1d08c713906e49a3fe5",
- "sha256:6e8a95f243d01ba572341c52f89f3acb98a3b6d1d5d830efba86033dd3687ade",
- "sha256:706ec567267c96717ab9363904d846ec009a48d5f832140b6ad08aad3791b1f5",
- "sha256:780551e47d62095e088f251f5db428473c26db7829884323e56d9c0c3118791a",
- "sha256:7ff8f3fb38233035028dbc93715551d81eadc110199e14bbbfa01c5c4a43f8d8",
- "sha256:828189fcdda99aae0d6bf718ea766b2e715eabc1868670a0a07bf8404bf58c33",
- "sha256:857abe2fa6a4973f8663e039ead8d22215d31db613ace76e4a98f52ec919068e",
- "sha256:883123d0bbe1c136f76b56276074b0c79b5817dd4238097ffa64ac67257f4b6c",
- "sha256:8877d9b437b35a85c18e3c6499b23674684bf690f5d96c1006a1ef61f9fdf0f3",
- "sha256:8e575a59315a91ccd00c7757127f6b2488c2f914096077c745c2f1ba5b8c0969",
- "sha256:97072cc90f1009386c8a5b7de9d4fc1a9f91ba5ef2146c55c1f005e7b5c5e068",
- "sha256:9a22cbb5ede6fade0482111fa7f01115ff04039795d7092ed0db43522431b4f2",
- "sha256:a063aad9f7b4c9f9da7b2550eae0a582ffc7623dca1c925e50c3fbde7a579771",
- "sha256:a08c7401d0b24e8c2982f4e307124b671c6736d40d1c39e09d7a8687bddf83ed",
- "sha256:a0b273fe6dc655b110e8dc89b8ec7f1a778d78c9fd9b4bda7c384c8906072212",
- "sha256:a2b3b05e22a77bb0ae1a3125126a4e08535961c946b62f30985535ed40e26614",
- "sha256:a66e055254a26c82aead7ff420d9fa8dc2da10c82679ea850d8feebf11074d88",
- "sha256:aa387bd7489f3e1787ff82068b295bcaafbf6f79c3dad3cbc82ef88ce3f48ad3",
- "sha256:ae453f655640157d76209f42c62c64c4d4f2c7f97256d3567e3b439bd5c9b06c",
- "sha256:b5016e331b75310610c2cf955d9f58a9749943ed5f7b8cfc0bb89c6134ab0a84",
- "sha256:b9a4ee55174b04f6af539218f9f8083140f61a46eabcaa4234f3c2a452c4ed11",
- "sha256:bd3b4b8175c1db502adf209d06136c000df4d245105c8839e9d0be71c94aefe1",
- "sha256:bebea5f5ed41f618797ce3ffb4606c64a5de92e9c3f26d26c2e0aae292f015c1",
- "sha256:c10fbc8a64aa0f3ed136b0b086b6b577bc64d67d5581acd7cc129af52654384e",
- "sha256:c2c41c1b1866b670573657d584de413df701f482574bad7e28214a2362cb1fd1",
- "sha256:cf97ed82ca986e5c637ea286ba2793c85325b30f869bf64d3009ccc1a31ae3fd",
- "sha256:d1f25ee9de21a39b3a8516f2c5feb8de248f17da7eead089c2e04aa097936b47",
- "sha256:d2fbc2a127e857d2f8898aaabcc34c37771bf78a4d5e17d3e1f5c30cd0cbc62a",
- "sha256:dc945064a8783b86fcce9a0a705abd7db2117d95e340df8a4333f00be5efb64c",
- "sha256:ddc5a54edb653e9e215f75de377354e2455376f416c4378e1d43b08ec50acc31",
- "sha256:e8834e5f17d89e05697c3c043d3e58a8b19682bf365048837383abfe39adaed5",
- "sha256:ef9659d1cda9ce9ac9585c045aaa1e59223b143f2407db0eaee0b61a4f266fb6",
- "sha256:f6f5cab2d7f0c12f8187a376cc6582c477d2df91d63f75341307fcdcb5d60303",
- "sha256:f81c9b4bd8aa747d417407a7f6f0b1469a43b36a85748145e144ac4e8d303cb5",
- "sha256:f99ef080288f09ffc687423b8d60978cf3a465d3f404a18d1a05474bd8575a47"
+ "sha256:06a9a2be0b5b576c3f18f1a241f0473575c4a26021b52b2a85263a00f034d51f",
+ "sha256:06fb182e69f33f6cd1d39a6c597294cff3143554b64b9825d1dc69d18cc2fff2",
+ "sha256:0a5f9e1dbd7fbe30196578ca36f3fba75376fb99888c395c5880b355e2875f8a",
+ "sha256:0e1f928eaf5469c11e886fe0885ad2bf1ec606434e79842a879277895a50942a",
+ "sha256:171717c7cb6b453aebac9a2ef603699da237f341b38eebfee9be75d27dc38e01",
+ "sha256:1e9d683426464e4a252bf70c3498756055016f99ddaec3774bf368e76bbe02b6",
+ "sha256:201e7389591af40950a6480bd9edfa8ed04346ff80002cec1a66cac4549c1ad7",
+ "sha256:245167dd26180ab4c91d5e1496a30be4cd721a5cf2abf52974f965f10f11419f",
+ "sha256:2aee274c46590717f38ae5e4650988d1af340fe06167546cc32fe2f58ed05b02",
+ "sha256:2e07b54284e381531c87f785f613b833569c14ecacdcb85d56b25c4622c16c3c",
+ "sha256:31563e97dae5598556600466ad9beea39fb04e0229e61c12eaa206e0aa202063",
+ "sha256:33d6d3ea29d5b3a1a632b3c4e4f4ecae24ef170b0b9ee493883f2df10039959a",
+ "sha256:3d376df58cc111dc8e21e3b6e24606b5bb5dee6024f46a5abca99124b2229ef5",
+ "sha256:419bfd2caae268623dd469eff96d510a920c90928b60f2073d79f8fe2bbc5959",
+ "sha256:48c19d2159d433ccc99e729ceae7d5293fbffa0bdb94952d3579983d1c8c9d97",
+ "sha256:49969a9f7ffa086d973d91cec8d2e31080436ef0fb4a359cae927e742abfaaa6",
+ "sha256:52edc1a60c0d34afa421c9c37078817b2e67a392cab17d97283b64c5833f427f",
+ "sha256:537891ae8ce59ef63d0123f7ac9e2ae0fc8b72c7ccbe5296fec45fd68967b6c9",
+ "sha256:54b896376ab563bd38453cecb813c295cf347cf5906e8b41d340b0321a5433e5",
+ "sha256:58c2ccc2f00ecb51253cbe5d8d7122a34590fac9646a960d1430d5b15321d95f",
+ "sha256:5b7540161790b2f28143191f5f8ec02fb132660ff175b7747b95dcb77ac26562",
+ "sha256:5baa06420f837184130752b7c5ea0808762083bf3487b5038d68b012e5937dbe",
+ "sha256:5e330fc79bd7207e46c7d7fd2bb4af2963f5f635703925543a70b99574b0fea9",
+ "sha256:61b9a528fb348373c433e8966535074b802c7a5d7f23c4f421e6c6e2f1697a6f",
+ "sha256:63426706118b7f5cf6bb6c895dc215d8a418d5952544042c8a2d9fe87fcf09cb",
+ "sha256:6d040ef7c9859bb11dfeb056ff5b3872436e3b5e401817d87a31e1750b9ae2fb",
+ "sha256:6f48351d66575f535669306aa7d6d6f71bc43372473b54a832222803eb956fd1",
+ "sha256:7ee7d9d4822c8acc74a5e26c50604dff824710bc8de424904c0982e25c39c6cb",
+ "sha256:81c13a1fc7468c40f13420732805a4c38a105d89848b7c10af65a90beff25250",
+ "sha256:8d13c64ee2d33eccf7437961b6ea7ad8673e2be040b4f7fd4fd4d4d28d9ccb1e",
+ "sha256:8de8bb0e5ad103888d65abef8bca41ab93721647590a3f740100cd65c3b00511",
+ "sha256:8fa03bce9bfbeeef9f3b160a8bed39a221d82308b4152b27d82d8daa7041fee5",
+ "sha256:924d94291ca674905fe9481f12294eb11f2d3d3fd1adb20314ba89e94f44ed59",
+ "sha256:975d70ab7e3c80a3fe86001d8751f6778905ec723f5b110aed1e450da9d4b7f2",
+ "sha256:976b9c42fb2a43ebf304fa7d4a310e5f16cc99992f33eced91ef6f908bd8f33d",
+ "sha256:9e31cb64d7de6b6f09702bb27c02d1904b3aebfca610c12772452c4e6c21a0d3",
+ "sha256:a342242fe22407f3c17f4b499276a02b01e80f861f1682ad1d95b04018e0c0d4",
+ "sha256:a3d33a6b3eae87ceaefa91ffdc130b5e8536182cd6dfdbfc1aa56b46ff8c86de",
+ "sha256:a895fcc7b15c3fc72beb43cdcbdf0ddb7d2ebc959edac9cef390b0d14f39f8a9",
+ "sha256:afb17f84d56068a7c29f5fa37bfd38d5aba69e3304af08ee94da8ed5b0865833",
+ "sha256:b1c546aca0ca4d028901d825015dc8e4d56aac4b541877690eb76490f1dc8ed0",
+ "sha256:b29019c76039dc3c0fd815c41392a044ce555d9bcdd38b0fb60fb4cd8e475ba9",
+ "sha256:b46517c02ccd08092f4fa99f24c3b83d8f92f739b4657b0f146246a0ca6a831d",
+ "sha256:b7aa5f8a41217360e600da646004f878250a0d6738bcdc11a0a39928d7dc2050",
+ "sha256:b7b4c971f05e6ae490fef852c218b0e79d4e52f79ef0c8475566584a8fb3e01d",
+ "sha256:ba90a9563ba44a72fda2e85302c3abc71c5589cea608ca16c22b9804262aaeb6",
+ "sha256:cb017fd1b2603ef59e374ba2063f593abe0fc45f2ad9abdde5b4d83bd922a353",
+ "sha256:d22656368f0e6189e24722214ed8d66b8022db19d182927b9a248a2a8a2f67eb",
+ "sha256:d2c2db7fd82e9b72937969bceac4d6ca89660db0a0967614ce2481e81a0b771e",
+ "sha256:d39b5b4f2a66ccae8b7263ac3c8170994b65266797fb96cbbfd3fb5b23921db8",
+ "sha256:d62a5c7dad11015c66fbb9d881bc4caa5b12f16292f857842d9d1871595f4495",
+ "sha256:e7d9405291c6928619403db1d10bd07888888ec1abcbd9748fdaa971d7d661b2",
+ "sha256:e84606b74eb7de6ff581a7915e2dab7a28a0517fbe1c9239eb227e1354064dcd",
+ "sha256:eb393e5ebc85245347950143969b241d08b52b88a3dc39479822e073a1a8eb27",
+ "sha256:ebba1cd308ef115925421d3e6a586e655ca5a77b5bf41e02eb0e4562a111f2d1",
+ "sha256:ee57190f24fba796e36bb6d3aa8a8783c643d8fa9760c89f7a98ab5455fbf818",
+ "sha256:f2f67fe12b22cd130d34d0ef79206061bfb5eda52feb6ce0dba0644e20a03cf4",
+ "sha256:f6951407391b639504e3b3be51b7ba5f3528adbf1a8ac3302b687ecababf929e",
+ "sha256:f75f7168ab25dd93110c8a8117a22450c19976afbc44234cbf71481094c1b850",
+ "sha256:fdec9e8cbf13a5bf63290fc6013d216a4c7232efb51548594ca3631a7f13c3a3"
],
"markers": "python_version >= '3.7'",
- "version": "==7.2.5"
+ "version": "==7.2.7"
},
"cryptography": {
"hashes": [
- "sha256:05dc219433b14046c476f6f09d7636b92a1c3e5808b9a6536adf4932b3b2c440",
- "sha256:0dcca15d3a19a66e63662dc8d30f8036b07be851a8680eda92d079868f106288",
- "sha256:142bae539ef28a1c76794cca7f49729e7c54423f615cfd9b0b1fa90ebe53244b",
- "sha256:3daf9b114213f8ba460b829a02896789751626a2a4e7a43a28ee77c04b5e4958",
- "sha256:48f388d0d153350f378c7f7b41497a54ff1513c816bcbbcafe5b829e59b9ce5b",
- "sha256:4df2af28d7bedc84fe45bd49bc35d710aede676e2a4cb7fc6d103a2adc8afe4d",
- "sha256:4f01c9863da784558165f5d4d916093737a75203a5c5286fde60e503e4276c7a",
- "sha256:7a38250f433cd41df7fcb763caa3ee9362777fdb4dc642b9a349721d2bf47404",
- "sha256:8f79b5ff5ad9d3218afb1e7e20ea74da5f76943ee5edb7f76e56ec5161ec782b",
- "sha256:956ba8701b4ffe91ba59665ed170a2ebbdc6fc0e40de5f6059195d9f2b33ca0e",
- "sha256:a04386fb7bc85fab9cd51b6308633a3c271e3d0d3eae917eebab2fac6219b6d2",
- "sha256:a95f4802d49faa6a674242e25bfeea6fc2acd915b5e5e29ac90a32b1139cae1c",
- "sha256:adc0d980fd2760c9e5de537c28935cc32b9353baaf28e0814df417619c6c8c3b",
- "sha256:aecbb1592b0188e030cb01f82d12556cf72e218280f621deed7d806afd2113f9",
- "sha256:b12794f01d4cacfbd3177b9042198f3af1c856eedd0a98f10f141385c809a14b",
- "sha256:c0764e72b36a3dc065c155e5b22f93df465da9c39af65516fe04ed3c68c92636",
- "sha256:c33c0d32b8594fa647d2e01dbccc303478e16fdd7cf98652d5b3ed11aa5e5c99",
- "sha256:cbaba590180cba88cb99a5f76f90808a624f18b169b90a4abb40c1fd8c19420e",
- "sha256:d5a1bd0e9e2031465761dfa920c16b0065ad77321d8a8c1f5ee331021fda65e9"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==40.0.2"
+ "sha256:0ddaee209d1cf1f180f1efa338a68c4621154de0afaef92b89486f5f96047c55",
+ "sha256:14754bcdae909d66ff24b7b5f166d69340ccc6cb15731670435efd5719294895",
+ "sha256:344c6de9f8bda3c425b3a41b319522ba3208551b70c2ae00099c205f0d9fd3be",
+ "sha256:34d405ea69a8b34566ba3dfb0521379b210ea5d560fafedf9f800a9a94a41928",
+ "sha256:3680248309d340fda9611498a5319b0193a8dbdb73586a1acf8109d06f25b92d",
+ "sha256:3c5ef25d060c80d6d9f7f9892e1d41bb1c79b78ce74805b8cb4aa373cb7d5ec8",
+ "sha256:4ab14d567f7bbe7f1cdff1c53d5324ed4d3fc8bd17c481b395db224fb405c237",
+ "sha256:5c1f7293c31ebc72163a9a0df246f890d65f66b4a40d9ec80081969ba8c78cc9",
+ "sha256:6b71f64beeea341c9b4f963b48ee3b62d62d57ba93eb120e1196b31dc1025e78",
+ "sha256:7d92f0248d38faa411d17f4107fc0bce0c42cae0b0ba5415505df72d751bf62d",
+ "sha256:8362565b3835ceacf4dc8f3b56471a2289cf51ac80946f9087e66dc283a810e0",
+ "sha256:84a165379cb9d411d58ed739e4af3396e544eac190805a54ba2e0322feb55c46",
+ "sha256:88ff107f211ea696455ea8d911389f6d2b276aabf3231bf72c8853d22db755c5",
+ "sha256:9f65e842cb02550fac96536edb1d17f24c0a338fd84eaf582be25926e993dde4",
+ "sha256:a4fc68d1c5b951cfb72dfd54702afdbbf0fb7acdc9b7dc4301bbf2225a27714d",
+ "sha256:b7f2f5c525a642cecad24ee8670443ba27ac1fab81bba4cc24c7b6b41f2d0c75",
+ "sha256:b846d59a8d5a9ba87e2c3d757ca019fa576793e8758174d3868aecb88d6fc8eb",
+ "sha256:bf8fc66012ca857d62f6a347007e166ed59c0bc150cefa49f28376ebe7d992a2",
+ "sha256:f5d0bf9b252f30a31664b6f64432b4730bb7038339bd18b1fafe129cfc2be9be"
+ ],
+ "index": "pypi",
+ "version": "==41.0.0"
},
"dill": {
"hashes": [
@@ -2107,11 +2124,11 @@
},
"platformdirs": {
"hashes": [
- "sha256:47692bc24c1958e8b0f13dd727307cff1db103fca36399f457da8e05f222fdc4",
- "sha256:7954a68d0ba23558d753f73437c55f89027cf8f5108c19844d4b82e5af396335"
+ "sha256:412dae91f52a6f84830f39a8078cecd0e866cb72294a5c66808e74d5e88d251f",
+ "sha256:e2378146f1964972c03c085bb5662ae80b2b8c06226c54b2ff4aa9483e8a13a5"
],
"markers": "python_version >= '3.7'",
- "version": "==3.5.0"
+ "version": "==3.5.1"
},
"pluggy": {
"hashes": [
@@ -2328,11 +2345,11 @@
},
"s3transfer": {
"hashes": [
- "sha256:06176b74f3a15f61f1b4f25a1fc29a4429040b7647133a463da8fa5bd28d5ecd",
- "sha256:2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947"
+ "sha256:3c0da2d074bf35d6870ef157158641178a4204a6e689e82546083e31e0311346",
+ "sha256:640bb492711f4c0c0905e1f62b6aaeb771881935ad27884852411f8e9cacbca9"
],
"markers": "python_version >= '3.7'",
- "version": "==0.6.0"
+ "version": "==0.6.1"
},
"six": {
"hashes": [
@@ -2383,10 +2400,10 @@
},
"types-pyopenssl": {
"hashes": [
- "sha256:20b80971b86240e8432a1832bd8124cea49c3088c7bfc77dfd23be27ffe4a517",
- "sha256:b050641aeff6dfebf231ad719bdac12d53b8ee818d4afb67b886333484629957"
+ "sha256:43e307e8dfb3a7a8208a19874ca060305f460c529d4eaca8a2669ea89499f244",
+ "sha256:ba803a99440b0c2e9ab4e197084aeefc55bdfe8a580d367b2aa4210810a21240"
],
- "version": "==23.1.0.2"
+ "version": "==23.2.0.0"
},
"types-python-dateutil": {
"hashes": [
@@ -2430,34 +2447,34 @@
},
"types-urllib3": {
"hashes": [
- "sha256:3ba3d3a8ee46e0d5512c6bd0594da4f10b2584b47a470f8422044a2ab462f1df",
- "sha256:a1557355ce8d350a555d142589f3001903757d2d36c18a66f588d9659bbc917d"
+ "sha256:3300538c9dc11dad32eae4827ac313f5d986b8b21494801f1bf97a1ac6c03ae5",
+ "sha256:5dbd1d2bef14efee43f5318b5d36d805a489f6600252bb53626d4bfafd95e27c"
],
- "version": "==1.26.25.12"
+ "version": "==1.26.25.13"
},
"typing-extensions": {
"hashes": [
- "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb",
- "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"
+ "sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26",
+ "sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5"
],
"markers": "python_version >= '3.7'",
- "version": "==4.5.0"
+ "version": "==4.6.3"
},
"urllib3": {
"hashes": [
- "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305",
- "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"
+ "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f",
+ "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
- "version": "==1.26.15"
+ "version": "==1.26.16"
},
"werkzeug": {
"hashes": [
- "sha256:4866679a0722de00796a74086238bb3b98d90f423f05de039abb09315487254a",
- "sha256:a987caf1092edc7523edb139edb20c70571c4a8d5eed02e0b547b4739174d091"
+ "sha256:1d5a58e0377d1fe39d061a5de4469e414e78ccb1e1e59c0f5ad6fa1c36c52b76",
+ "sha256:48e5e61472fee0ddee27ebad085614ebedb7af41e88f687aaf881afb723a162f"
],
"markers": "python_version >= '3.8'",
- "version": "==2.3.3"
+ "version": "==2.3.4"
},
"wrapt": {
"hashes": [
diff --git a/app/jinja_filters.py b/app/jinja_filters.py
index 4adf3cee3f..bdead05e8a 100644
--- a/app/jinja_filters.py
+++ b/app/jinja_filters.py
@@ -75,12 +75,17 @@ def format_unit(
value: int | float | Decimal,
length: UnitLengthType = "short",
) -> str:
+ # mass-metric-ton no longer supported for en_GB and related locales, but still present in business schema and allowed in validator,
+ # until removed from schema we substitute mass-tonne for mass-metric-ton before format unit
+ measurement_unit = "mass-tonne" if unit == "mass-metric-ton" else unit
+
formatted_unit: str = units.format_unit(
value=value,
- measurement_unit=unit,
+ measurement_unit=measurement_unit,
length=length,
locale=flask_babel.get_locale(),
)
+
return formatted_unit
@@ -93,20 +98,15 @@ def format_unit_input_label(unit: str, unit_length: UnitLengthType = "short") ->
:param (str) unit_length length of unit text, can be one of short/long/narrow
"""
unit_label: str
+
if unit_length == "long":
- unit_label = units.format_unit(
- value=2,
- measurement_unit=unit,
- length=unit_length,
- locale=flask_babel.get_locale(),
- ).replace("2 ", "")
+ unit_label = format_unit(value=2, unit=unit, length=unit_length).replace(
+ "2 ", ""
+ )
else:
# Type ignore: We pass an empty string as the value so that we just return the unit label
- unit_label = units.format_unit(
- value="", # type: ignore
- measurement_unit=unit,
- length=unit_length,
- locale=flask_babel.get_locale(),
+ unit_label = format_unit(
+ value="", unit=unit, length=unit_length # type: ignore
).strip()
return unit_label
diff --git a/app/setup.py b/app/setup.py
index a4f9a6d64f..81f9df690c 100644
--- a/app/setup.py
+++ b/app/setup.py
@@ -36,6 +36,7 @@
from app.routes.schema import schema_blueprint
from app.routes.session import session_blueprint
from app.secrets import SecretStore, validate_required_secrets
+from app.settings import DEFAULT_LOCALE
from app.storage import Datastore, Dynamodb, Redis
from app.submitter import (
GCSFeedbackSubmitter,
@@ -479,7 +480,11 @@ def get_minimized_asset(filename):
def get_locale():
- return cookie_session.get("language_code")
+ return (
+ DEFAULT_LOCALE
+ if cookie_session.get("language_code") == "en"
+ else cookie_session.get("language_code")
+ )
def get_timezone():
diff --git a/app/views/contexts/context.py b/app/views/contexts/context.py
index 9495e08c45..a0033abd94 100644
--- a/app/views/contexts/context.py
+++ b/app/views/contexts/context.py
@@ -20,6 +20,7 @@ def __init__(
progress_store: ProgressStore,
metadata: MetadataProxy | None,
response_metadata: MutableMapping,
+ placeholder_preview_mode: bool = False,
) -> None:
self._language = language
self._schema = schema
@@ -28,7 +29,7 @@ def __init__(
self._progress_store = progress_store
self._metadata = metadata
self._response_metadata = response_metadata
- self._placeholder_preview_mode = self._schema.preview_enabled
+ self._placeholder_preview_mode = placeholder_preview_mode
self._router = Router(
schema=self._schema,
diff --git a/app/views/contexts/preview_context.py b/app/views/contexts/preview_context.py
index 7e173250c6..057cbe73d6 100644
--- a/app/views/contexts/preview_context.py
+++ b/app/views/contexts/preview_context.py
@@ -35,6 +35,7 @@ def __init__(
progress_store,
metadata,
response_metadata,
+ placeholder_preview_mode=True,
)
def __call__(self) -> dict[str, Union[str, list, bool]]:
diff --git a/app/views/contexts/section_preview_context.py b/app/views/contexts/section_preview_context.py
index 325897752c..5a139ff376 100644
--- a/app/views/contexts/section_preview_context.py
+++ b/app/views/contexts/section_preview_context.py
@@ -28,6 +28,7 @@ def __init__(
progress_store,
metadata,
response_metadata,
+ placeholder_preview_mode=True,
)
self._section_id = section_id
diff --git a/schemas/test/en/test_calculated_summary.json b/schemas/test/en/test_calculated_summary.json
index 71753ae08d..199a993cff 100644
--- a/schemas/test/en/test_calculated_summary.json
+++ b/schemas/test/en/test_calculated_summary.json
@@ -345,7 +345,7 @@
]
},
{
- "text": "Total unit values: {unit_total}",
+ "text": "Total unformatted unit values: {unit_total}",
"placeholders": [
{
"placeholder": "unit_total",
@@ -364,7 +364,28 @@
]
},
{
- "text": "Total percentage values: {percentage_total}",
+ "text": "Total formatted unit values: {unit_total}",
+ "placeholders": [
+ {
+ "placeholder": "unit_total",
+ "transforms": [
+ {
+ "transform": "format_unit",
+ "arguments": {
+ "value": {
+ "source": "calculated_summary",
+ "identifier": "unit-total-playback"
+ },
+ "unit": "length-centimeter",
+ "unit_length": "short"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "text": "Total unformatted percentage values: {percentage_total}",
"placeholders": [
{
"placeholder": "percentage_total",
@@ -382,6 +403,25 @@
}
]
},
+ {
+ "text": "Total formatted percentage values: {percentage_total}",
+ "placeholders": [
+ {
+ "placeholder": "percentage_total",
+ "transforms": [
+ {
+ "transform": "format_percentage",
+ "arguments": {
+ "value": {
+ "source": "calculated_summary",
+ "identifier": "percentage-total-playback"
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
{
"text": "Total number values: {number_total}",
"placeholders": [
diff --git a/schemas/test/en/test_list_collector_list_summary.json b/schemas/test/en/test_list_collector_list_summary.json
index a7637c7bf7..82aae3b14d 100644
--- a/schemas/test/en/test_list_collector_list_summary.json
+++ b/schemas/test/en/test_list_collector_list_summary.json
@@ -5,6 +5,7 @@
"data_version": "0.0.3",
"survey_id": "0",
"title": "Test ListCollector",
+ "preview_questions": true,
"theme": "default",
"description": "A questionnaire to test ListCollector",
"metadata": [
@@ -111,6 +112,10 @@
"id": "group",
"title": "Questions",
"blocks": [
+ {
+ "id": "introduction",
+ "type": "Introduction"
+ },
{
"id": "primary-person-list-collector",
"type": "PrimaryPersonListCollector",
diff --git a/schemas/test/en/test_new_calculated_summary.json b/schemas/test/en/test_new_calculated_summary.json
index 36afe23f8a..98b77580d7 100644
--- a/schemas/test/en/test_new_calculated_summary.json
+++ b/schemas/test/en/test_new_calculated_summary.json
@@ -394,7 +394,7 @@
]
},
{
- "text": "Total unit values: {unit_total}",
+ "text": "Total unformatted unit values: {unit_total}",
"placeholders": [
{
"placeholder": "unit_total",
@@ -413,7 +413,28 @@
]
},
{
- "text": "Total percentage values: {percentage_total}",
+ "text": "Total formatted unit values: {unit_total}",
+ "placeholders": [
+ {
+ "placeholder": "unit_total",
+ "transforms": [
+ {
+ "transform": "format_unit",
+ "arguments": {
+ "value": {
+ "source": "calculated_summary",
+ "identifier": "unit-total-playback"
+ },
+ "unit": "length-centimeter",
+ "unit_length": "short"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "text": "Total unformatted percentage values: {percentage_total}",
"placeholders": [
{
"placeholder": "percentage_total",
@@ -431,6 +452,25 @@
}
]
},
+ {
+ "text": "Total formatted percentage values: {percentage_total}",
+ "placeholders": [
+ {
+ "placeholder": "percentage_total",
+ "transforms": [
+ {
+ "transform": "format_percentage",
+ "arguments": {
+ "value": {
+ "source": "calculated_summary",
+ "identifier": "percentage-total-playback"
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
{
"text": "Total number values: {number_total}",
"placeholders": [
diff --git a/schemas/test/en/test_unit_patterns.json b/schemas/test/en/test_unit_patterns.json
index d54a8bca90..f3d6ed684f 100644
--- a/schemas/test/en/test_unit_patterns.json
+++ b/schemas/test/en/test_unit_patterns.json
@@ -243,6 +243,25 @@
"title": "Volume Units",
"type": "General"
}
+ },
+ {
+ "type": "Question",
+ "id": "set-weight-units-block",
+ "question": {
+ "answers": [
+ {
+ "id": "mass-metric-ton",
+ "label": "Mass tonnes",
+ "mandatory": false,
+ "type": "Unit",
+ "unit": "mass-metric-ton",
+ "unit_length": "short"
+ }
+ ],
+ "id": "set-weight-unit-questions",
+ "title": "Weight Units",
+ "type": "General"
+ }
}
],
"id": "test"
diff --git a/tests/app/test_jinja_filters.py b/tests/app/test_jinja_filters.py
index 36baa87cfe..8e785ef481 100644
--- a/tests/app/test_jinja_filters.py
+++ b/tests/app/test_jinja_filters.py
@@ -153,6 +153,9 @@ def test_format_percentage(percentage, formatted_percentage):
("duration-year", 100, "short", "100 bl", "cy"),
("duration-hour", 100, "long", "100 awr", "cy"),
("duration-year", 100, "long", "100 mlynedd", "cy"),
+ ("mass-metric-ton", 100, "long", "100 tonnes", "en_GB"),
+ ("mass-metric-ton", 1, "long", "1 tonne", "en_GB"),
+ ("mass-metric-ton", 100, "short", "100 t", "en_GB"),
),
)
def test_format_unit(unit, value, length, formatted_unit, language, mocker):
@@ -204,6 +207,8 @@ def test_format_unit(unit, value, length, formatted_unit, language, mocker):
("duration-hour", "long", "awr", "cy"),
("duration-year", "short", "bl", "cy"),
("duration-year", "long", "flynedd", "cy"),
+ ("mass-metric-ton", "long", "tonnes", "en_GB"),
+ ("mass-metric-ton", "short", "t", "en_GB"),
),
)
def test_format_unit_input_label(unit, length, formatted_unit, language, mocker):
diff --git a/tests/functional/spec/features/calculated_summary/calculated_summary_test_case.js b/tests/functional/spec/features/calculated_summary/calculated_summary_test_case.js
index 24a5ab4dd2..4953a4aa71 100644
--- a/tests/functional/spec/features/calculated_summary/calculated_summary_test_case.js
+++ b/tests/functional/spec/features/calculated_summary/calculated_summary_test_case.js
@@ -346,7 +346,14 @@ class TestCase {
await browser.url(CalculatedSummaryTotalConfirmation.url());
await expect(await browser.getUrl()).to.contain(CalculatedSummaryTotalConfirmation.pageName);
const content = await $("h1 + ul").getText();
- const textsToAssert = ["Total currency values: £25.92", "Total unit values: 1,467", "Total percentage values: 79", "Total number values: 124.58"];
+ const textsToAssert = [
+ "Total currency values: £25.92",
+ "Total unformatted unit values: 1,467",
+ "Total formatted unit values: 1,467 cm",
+ "Total unformatted percentage values: 79",
+ "Total formatted percentage values: 79%",
+ "Total number values: 124.58",
+ ];
textsToAssert.forEach((text) => expect(content).to.contain(text));
await browser.url(SubmitPage.url());
diff --git a/tests/functional/spec/features/units.spec.js b/tests/functional/spec/features/units.spec.js
index 6c3b60e5d6..0873bbf8fb 100644
--- a/tests/functional/spec/features/units.spec.js
+++ b/tests/functional/spec/features/units.spec.js
@@ -2,6 +2,7 @@ import SetLengthUnitsBlockPage from "../../generated_pages/unit_patterns/set-len
import SetDurationUnitsBlockPage from "../../generated_pages/unit_patterns/set-duration-units-block.page.js";
import SetAreaUnitsBlockPage from "../../generated_pages/unit_patterns/set-area-units-block.page.js";
import SetVolumeUnitsBlockPage from "../../generated_pages/unit_patterns/set-volume-units-block.page.js";
+import SetWeightUnitsBlockPage from "../../generated_pages/unit_patterns/set-weight-units-block.page.js";
import SubmitPage from "../../generated_pages/unit_patterns/submit.page.js";
describe("Units", () => {
@@ -15,6 +16,7 @@ describe("Units", () => {
await $(SetDurationUnitsBlockPage.submit()).click();
await $(SetAreaUnitsBlockPage.submit()).click();
await $(SetVolumeUnitsBlockPage.submit()).click();
+ await $(SetWeightUnitsBlockPage.submit()).click();
await expect(await $(SubmitPage.durationHour()).getText()).to.equal("6 hours");
await expect(await $(SubmitPage.durationYear()).getText()).to.equal("20 years");
});
@@ -31,15 +33,26 @@ describe("Units", () => {
await $(SetDurationUnitsBlockPage.submit()).click();
await $(SetAreaUnitsBlockPage.submit()).click();
await $(SetVolumeUnitsBlockPage.submit()).click();
+ await $(SetWeightUnitsBlockPage.submit()).click();
await expect(await $(SubmitPage.durationHour()).getText()).to.equal("6 awr");
await expect(await $(SubmitPage.durationYear()).getText()).to.equal("20 mlynedd");
});
it("Given we open a questionnaire with unit labels, when the label is highlighted by the tooltip, then the long unit label should be displayed.", async () => {
await browser.openQuestionnaire("test_unit_patterns.json", { language: "en" });
- await expect(await $(SetLengthUnitsBlockPage.centimetresUnit()).getAttribute("title")).to.equal("centimeters");
- await expect(await $(SetLengthUnitsBlockPage.metresUnit()).getAttribute("title")).to.equal("meters");
- await expect(await $(SetLengthUnitsBlockPage.kilometresUnit()).getAttribute("title")).to.equal("kilometers");
+ await expect(await $(SetLengthUnitsBlockPage.centimetresUnit()).getAttribute("title")).to.equal("centimetres");
+ await expect(await $(SetLengthUnitsBlockPage.metresUnit()).getAttribute("title")).to.equal("metres");
+ await expect(await $(SetLengthUnitsBlockPage.kilometresUnit()).getAttribute("title")).to.equal("kilometres");
await expect(await $(SetLengthUnitsBlockPage.milesUnit()).getAttribute("title")).to.equal("miles");
});
+
+ it("Given we open a questionnaire with unit labels, when the weight unit label is highlighted by the tooltip, then the correct unit label should be displayed.", async () => {
+ await browser.openQuestionnaire("test_unit_patterns.json", { language: "en" });
+ await $(SetLengthUnitsBlockPage.submit()).click();
+ await $(SetDurationUnitsBlockPage.submit()).click();
+ await $(SetAreaUnitsBlockPage.submit()).click();
+ await $(SetVolumeUnitsBlockPage.submit()).click();
+ await expect(await $("body").getText()).to.have.string("tonnes");
+ await expect(await $("body").getText()).to.not.have.string("metric tons");
+ });
});
diff --git a/tests/functional/spec/list_collector.spec.js b/tests/functional/spec/list_collector.spec.js
index 4d852704aa..380abddd67 100644
--- a/tests/functional/spec/list_collector.spec.js
+++ b/tests/functional/spec/list_collector.spec.js
@@ -19,6 +19,7 @@ import VisitorListCollectorPage from "../generated_pages/list_collector_list_sum
import VisitorListCollectorAddPage from "../generated_pages/list_collector_list_summary/visitor-list-collector-add.page.js";
import PeopleListSectionSummaryPage from "../generated_pages/list_collector_list_summary/section-summary.page.js";
import { SubmitPage } from "../base_pages/submit.page.js";
+import IntroductionPage from "../generated_pages/list_collector_list_summary/introduction.page.js";
describe("List Collector", () => {
describe("Given a normal journey through the list collector without variants", () => {
@@ -172,6 +173,7 @@ describe("List Collector", () => {
describe("Given I start a list collector survey and complete to Section Summary", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_list_collector_list_summary.json");
+ await $(IntroductionPage.submit()).click();
await $(PrimaryPersonListCollectorPage.yes()).click();
await $(PrimaryPersonListCollectorPage.submit()).click();
await $(PrimaryPersonListCollectorAddPage.firstName()).setValue("Marcus");