diff --git a/mon-pix/app/templates/campaigns/profiles-collection/send-profile.hbs b/mon-pix/app/templates/campaigns/profiles-collection/send-profile.hbs
index 72d85cc5bdc..afa0663723a 100644
--- a/mon-pix/app/templates/campaigns/profiles-collection/send-profile.hbs
+++ b/mon-pix/app/templates/campaigns/profiles-collection/send-profile.hbs
@@ -1,4 +1,3 @@
-{{! template-lint-disable no-action }}
{{page-title (t "pages.send-profile.title")}}
diff --git a/mon-pix/app/templates/fill-in-campaign-code.hbs b/mon-pix/app/templates/fill-in-campaign-code.hbs
index ae96a85832b..8254b651b50 100644
--- a/mon-pix/app/templates/fill-in-campaign-code.hbs
+++ b/mon-pix/app/templates/fill-in-campaign-code.hbs
@@ -1,4 +1,3 @@
-{{! template-lint-disable no-action require-input-label no-invalid-interactive no-unknown-arguments-for-builtin-components }}
{{page-title (t "pages.fill-in-campaign-code.title")}}
diff --git a/mon-pix/package-lock.json b/mon-pix/package-lock.json
index c00ef62898d..e3bdbd4e691 100644
--- a/mon-pix/package-lock.json
+++ b/mon-pix/package-lock.json
@@ -21,7 +21,6 @@
"@ember-data/json-api": "^5.3.8",
"@ember-data/model": "^5.3.8",
"@ember/optional-features": "^2.0.0",
- "@ember/render-modifiers": "^2.0.4",
"@ember/string": "^3.1.1",
"@ember/test-helpers": "^4.0.0",
"@embroider/compat": "^3.0.0",
@@ -67,7 +66,7 @@
"ember-simple-auth": "^7.0.0",
"ember-source": "^5.9.0",
"ember-template-imports": "^4.1.1",
- "ember-template-lint": "^5.13.0",
+ "ember-template-lint": "^6.0.0",
"ember-template-lint-plugin-prettier": "^5.0.0",
"ember-test-selectors": "^6.0.0",
"ember-truth-helpers": "^4.0.0",
@@ -3913,706 +3912,6 @@
"node": "10.* || 12.* || >= 14"
}
},
- "node_modules/@ember/render-modifiers": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@ember/render-modifiers/-/render-modifiers-2.1.0.tgz",
- "integrity": "sha512-LruhfoDv2itpk0fA0IC76Sxjcnq/7BC6txpQo40hOko8Dn6OxwQfxkPIbZGV0Cz7df+iX+VJrcYzNIvlc3w2EQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@embroider/macros": "^1.0.0",
- "ember-cli-babel": "^7.26.11",
- "ember-modifier-manager-polyfill": "^1.2.0"
- },
- "engines": {
- "node": "12.* || 14.* || >= 16"
- },
- "peerDependencies": {
- "@glint/template": "^1.0.2",
- "ember-source": "^3.8 || ^4.0.0 || ^5.0.0"
- },
- "peerDependenciesMeta": {
- "@glint/template": {
- "optional": true
- }
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.21.11",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz",
- "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==",
- "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-create-class-features-plugin": "^7.21.0",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/@babel/runtime": {
- "version": "7.12.18",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.18.tgz",
- "integrity": "sha512-BogPQ7ciE6SYAUPtlm9tWbgI9+2AgqSam6QivMgXgAT+fKbgppaj4ZX15MHeLC1PVF5sNk70huBu20XxWOs8Cg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.13.4"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/@types/fs-extra": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.1.0.tgz",
- "integrity": "sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/async-disk-cache": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/async-disk-cache/-/async-disk-cache-1.3.5.tgz",
- "integrity": "sha512-VZpqfR0R7CEOJZ/0FOTgWq70lCrZyS1rkI8PXugDUkTKyyAUgZ2zQ09gLhMkEn+wN8LYeUTPxZdXtlX/kmbXKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^2.1.3",
- "heimdalljs": "^0.2.3",
- "istextorbinary": "2.1.0",
- "mkdirp": "^0.5.0",
- "rimraf": "^2.5.3",
- "rsvp": "^3.0.18",
- "username-sync": "^1.0.2"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/async-disk-cache/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/async-disk-cache/node_modules/rsvp": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz",
- "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "0.12.* || 4.* || 6.* || >= 7.*"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/babel-plugin-module-resolver": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz",
- "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-babel-config": "^1.1.0",
- "glob": "^7.1.2",
- "pkg-up": "^2.0.0",
- "reselect": "^3.0.1",
- "resolve": "^1.4.0"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-babel-transpiler": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-7.8.1.tgz",
- "integrity": "sha512-6IXBgfRt7HZ61g67ssBc6lBb3Smw3DPZ9dEYirgtvXWpRZ2A9M22nxy6opEwJDgDJzlu/bB7ToppW33OFkA1gA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.12.0",
- "@babel/polyfill": "^7.11.5",
- "broccoli-funnel": "^2.0.2",
- "broccoli-merge-trees": "^3.0.2",
- "broccoli-persistent-filter": "^2.2.1",
- "clone": "^2.1.2",
- "hash-for-dep": "^1.4.7",
- "heimdalljs": "^0.2.1",
- "heimdalljs-logger": "^0.1.9",
- "json-stable-stringify": "^1.0.1",
- "rsvp": "^4.8.4",
- "workerpool": "^3.1.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-funnel": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.2.tgz",
- "integrity": "sha512-/vDTqtv7ipjEZQOVqO4vGDVAOZyuYzQ/EgGoyewfOgh1M7IQAToBKZI0oAQPgMBeFPPlIbfMuAngk+ohPBuaHQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "array-equal": "^1.0.0",
- "blank-object": "^1.0.1",
- "broccoli-plugin": "^1.3.0",
- "debug": "^2.2.0",
- "fast-ordered-set": "^1.0.0",
- "fs-tree-diff": "^0.5.3",
- "heimdalljs": "^0.2.0",
- "minimatch": "^3.0.0",
- "mkdirp": "^0.5.0",
- "path-posix": "^1.0.0",
- "rimraf": "^2.4.3",
- "symlink-or-copy": "^1.0.0",
- "walk-sync": "^0.3.1"
- },
- "engines": {
- "node": "^4.5 || 6.* || >= 7.*"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-funnel/node_modules/fs-tree-diff": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-0.5.9.tgz",
- "integrity": "sha512-872G8ax0kHh01m9n/2KDzgYwouKza0Ad9iFltBpNykvROvf2AGtoOzPJgGx125aolGPER3JuC7uZFrQ7bG1AZw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "heimdalljs-logger": "^0.1.7",
- "object-assign": "^4.1.0",
- "path-posix": "^1.0.0",
- "symlink-or-copy": "^1.1.8"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-funnel/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-merge-trees": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-3.0.2.tgz",
- "integrity": "sha512-ZyPAwrOdlCddduFbsMyyFzJUrvW6b04pMvDiAQZrCwghlvgowJDY+EfoXn+eR1RRA5nmGHJ+B68T63VnpRiT1A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "broccoli-plugin": "^1.3.0",
- "merge-trees": "^2.0.0"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-persistent-filter": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-2.3.1.tgz",
- "integrity": "sha512-hVsmIgCDrl2NFM+3Gs4Cr2TA6UPaIZip99hN8mtkaUPgM8UeVnCbxelCvBjUBHo0oaaqP5jzqqnRVvb568Yu5g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "async-disk-cache": "^1.2.1",
- "async-promise-queue": "^1.0.3",
- "broccoli-plugin": "^1.0.0",
- "fs-tree-diff": "^2.0.0",
- "hash-for-dep": "^1.5.0",
- "heimdalljs": "^0.2.1",
- "heimdalljs-logger": "^0.1.7",
- "mkdirp": "^0.5.1",
- "promise-map-series": "^0.2.1",
- "rimraf": "^2.6.1",
- "rsvp": "^4.7.0",
- "symlink-or-copy": "^1.0.1",
- "sync-disk-cache": "^1.3.3",
- "walk-sync": "^1.0.0"
- },
- "engines": {
- "node": "6.* || >= 8.*"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-persistent-filter/node_modules/matcher-collection": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.1.2.tgz",
- "integrity": "sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minimatch": "^3.0.2"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-persistent-filter/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-persistent-filter/node_modules/walk-sync": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-1.1.4.tgz",
- "integrity": "sha512-nowc9thB/Jg0KW4TgxoRjLLYRPvl3DB/98S89r4ZcJqq2B0alNcKDh6pzLkBSkPMzRSMsJghJHQi79qw0YWEkA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/minimatch": "^3.0.3",
- "ensure-posix-path": "^1.1.0",
- "matcher-collection": "^1.1.1"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-plugin": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz",
- "integrity": "sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "promise-map-series": "^0.2.1",
- "quick-temp": "^0.1.3",
- "rimraf": "^2.3.4",
- "symlink-or-copy": "^1.1.8"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-plugin/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/broccoli-source": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/broccoli-source/-/broccoli-source-2.1.2.tgz",
- "integrity": "sha512-1lLayO4wfS0c0Sj50VfHJXNWf94FYY0WUhxj0R77thbs6uWI7USiOWFqQV5dRmhAJnoKaGN4WyLGQbgjgiYFwQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/editions": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz",
- "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/ember-cli-babel": {
- "version": "7.26.11",
- "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-7.26.11.tgz",
- "integrity": "sha512-JJYeYjiz/JTn34q7F5DSOjkkZqy8qwFOOxXfE6pe9yEJqWGu4qErKxlz8I22JoVEQ/aBUO+OcKTpmctvykM9YA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.12.0",
- "@babel/helper-compilation-targets": "^7.12.0",
- "@babel/plugin-proposal-class-properties": "^7.16.5",
- "@babel/plugin-proposal-decorators": "^7.13.5",
- "@babel/plugin-proposal-private-methods": "^7.16.5",
- "@babel/plugin-proposal-private-property-in-object": "^7.16.5",
- "@babel/plugin-transform-modules-amd": "^7.13.0",
- "@babel/plugin-transform-runtime": "^7.13.9",
- "@babel/plugin-transform-typescript": "^7.13.0",
- "@babel/polyfill": "^7.11.5",
- "@babel/preset-env": "^7.16.5",
- "@babel/runtime": "7.12.18",
- "amd-name-resolver": "^1.3.1",
- "babel-plugin-debug-macros": "^0.3.4",
- "babel-plugin-ember-data-packages-polyfill": "^0.1.2",
- "babel-plugin-ember-modules-api-polyfill": "^3.5.0",
- "babel-plugin-module-resolver": "^3.2.0",
- "broccoli-babel-transpiler": "^7.8.0",
- "broccoli-debug": "^0.6.4",
- "broccoli-funnel": "^2.0.2",
- "broccoli-source": "^2.1.2",
- "calculate-cache-key-for-tree": "^2.0.0",
- "clone": "^2.1.2",
- "ember-cli-babel-plugin-helpers": "^1.1.1",
- "ember-cli-version-checker": "^4.1.0",
- "ensure-posix-path": "^1.0.2",
- "fixturify-project": "^1.10.0",
- "resolve-package-path": "^3.1.0",
- "rimraf": "^3.0.1",
- "semver": "^5.5.0"
- },
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/ember-cli-babel/node_modules/semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/ember-cli-version-checker": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-4.1.1.tgz",
- "integrity": "sha512-bzEWsTMXUGEJfxcAGWPe6kI7oHEGD3jaxUWDYPTqzqGhNkgPwXTBgoWs9zG1RaSMaOPFnloWuxRcoHi4TrYS3Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "resolve-package-path": "^2.0.0",
- "semver": "^6.3.0",
- "silent-error": "^1.1.1"
- },
- "engines": {
- "node": "8.* || 10.* || >= 12.*"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/ember-cli-version-checker/node_modules/resolve-package-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-2.0.0.tgz",
- "integrity": "sha512-/CLuzodHO2wyyHTzls5Qr+EFeG6RcW4u6//gjYvUfcfyuplIX1SSccU+A5A9A78Gmezkl3NBkFAMxLbzTY9TJA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-root": "^0.1.1",
- "resolve": "^1.13.1"
- },
- "engines": {
- "node": "8.* || 10.* || >= 12"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/find-babel-config": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.2.tgz",
- "integrity": "sha512-oK59njMyw2y3yxto1BCfVK7MQp/OYf4FleHu0RgosH3riFJ1aOuo/7naLDLAObfrgn3ueFhw5sAT/cp0QuJI3Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json5": "^1.0.2",
- "path-exists": "^3.0.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/fixturify": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/fixturify/-/fixturify-1.3.0.tgz",
- "integrity": "sha512-tL0svlOy56pIMMUQ4bU1xRe6NZbFSa/ABTWMxW2mH38lFGc9TrNAKWcMBQ7eIjo3wqSS8f2ICabFaatFyFmrVQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/fs-extra": "^5.0.5",
- "@types/minimatch": "^3.0.3",
- "@types/rimraf": "^2.0.2",
- "fs-extra": "^7.0.1",
- "matcher-collection": "^2.0.0"
- },
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/fixturify-project": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/fixturify-project/-/fixturify-project-1.10.0.tgz",
- "integrity": "sha512-L1k9uiBQuN0Yr8tA9Noy2VSQ0dfg0B8qMdvT7Wb5WQKc7f3dn3bzCbSrqlb+etLW+KDV4cBC7R1OvcMg3kcxmA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fixturify": "^1.2.0",
- "tmp": "^0.0.33"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/istextorbinary": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.1.0.tgz",
- "integrity": "sha512-kT1g2zxZ5Tdabtpp9VSdOzW9lb6LXImyWbzbQeTxoRtHhurC9Ej9Wckngr2+uepPL09ky/mJHmN9jeJPML5t6A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "binaryextensions": "1 || 2",
- "editions": "^1.1.1",
- "textextensions": "1 || 2"
- },
- "engines": {
- "node": ">=0.12"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "license": "MIT",
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@ember/render-modifiers/node_modules/p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-try": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^1.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
- "integrity": "sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-up": "^2.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/regenerator-runtime": {
- "version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@ember/render-modifiers/node_modules/reselect": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz",
- "integrity": "sha512-b/6tFZCmRhtBMa4xGqiiRp9jh9Aqi2A687Lo265cN0/QohJQEBPiQ52f4QB6i0eF3yp3hmLL21LSGBcML2dlxA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@ember/render-modifiers/node_modules/resolve-package-path": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-3.1.0.tgz",
- "integrity": "sha512-2oC2EjWbMJwvSN6Z7DbDfJMnD8MYEouaLn5eIX0j8XwPsYCVIyY9bbnX88YHVkbr8XHqvZrYbxaLPibfTYKZMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-root": "^0.1.1",
- "resolve": "^1.17.0"
- },
- "engines": {
- "node": "10.* || >= 12"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/sync-disk-cache": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/sync-disk-cache/-/sync-disk-cache-1.3.4.tgz",
- "integrity": "sha512-GlkGeM81GPPEKz/lH7QUTbvqLq7K/IUTuaKDSMulP9XQ42glqNJIN/RKgSOw4y8vxL1gOVvj+W7ruEO4s36eCw==",
- "dev": true,
- "dependencies": {
- "debug": "^2.1.3",
- "heimdalljs": "^0.2.3",
- "mkdirp": "^0.5.0",
- "rimraf": "^2.2.8",
- "username-sync": "^1.0.2"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/sync-disk-cache/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/walk-sync": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.4.tgz",
- "integrity": "sha512-ttGcuHA/OBnN2pcM6johpYlEms7XpO5/fyKIr48541xXedan4roO8cS1Q2S/zbbjGH/BarYDAMeS2Mi9HE5Tig==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ensure-posix-path": "^1.0.0",
- "matcher-collection": "^1.0.0"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/walk-sync/node_modules/matcher-collection": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.1.2.tgz",
- "integrity": "sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minimatch": "^3.0.2"
- }
- },
- "node_modules/@ember/render-modifiers/node_modules/workerpool": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-3.1.2.tgz",
- "integrity": "sha512-WJFA0dGqIK7qj7xPTqciWBH5DlJQzoPjsANvc3Y4hNB0SScT+Emjvt0jPPkDBUjBNngX1q9hHgt1Gfwytu6pug==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@babel/core": "^7.3.4",
- "object-assign": "4.1.1",
- "rsvp": "^4.8.4"
- }
- },
"node_modules/@ember/string": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@ember/string/-/string-3.1.1.tgz",
@@ -11001,6 +10300,19 @@
"node": ">=6"
}
},
+ "node_modules/@sindresorhus/merge-streams": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
+ "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@sinonjs/commons": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
@@ -15672,9 +14984,9 @@
}
},
"node_modules/ci-info": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
- "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz",
+ "integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==",
"dev": true,
"funding": [
{
@@ -17143,20 +16455,14 @@
}
},
"node_modules/date-fns": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
- "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz",
+ "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.21.0"
- },
- "engines": {
- "node": ">=0.11"
- },
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/date-fns"
+ "type": "github",
+ "url": "https://github.com/sponsors/kossnocorp"
}
},
"node_modules/date-time": {
@@ -21090,22 +20396,6 @@
"balanced-match": "^1.0.0"
}
},
- "node_modules/ember-cli/node_modules/ci-info": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz",
- "integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/sibiraj-s"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/ember-cli/node_modules/cli-width": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
@@ -29120,24 +28410,24 @@
"license": "MIT"
},
"node_modules/ember-template-lint": {
- "version": "5.13.0",
- "resolved": "https://registry.npmjs.org/ember-template-lint/-/ember-template-lint-5.13.0.tgz",
- "integrity": "sha512-AYxz9S9fVZfHPmTsymc7NwsD7FVmDUZyfC+KYpxDlK0wic7JSQx2FNQNqQSBFRLOuzn7VQ0/+1pX6DGqKDGswg==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/ember-template-lint/-/ember-template-lint-6.0.0.tgz",
+ "integrity": "sha512-TWWt/qCd4KoQ50T3We5nCoKcsrAT8Ip79Kmm9eyWjjyL+LAbRFu0z+GxcmW7MR+QCNW/1LQs3kwEdtIcaHEGiA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@lint-todo/utils": "^13.1.1",
"aria-query": "^5.3.0",
"chalk": "^5.3.0",
- "ci-info": "^3.8.0",
- "date-fns": "^2.30.0",
+ "ci-info": "^4.0.0",
+ "date-fns": "^3.6.0",
"ember-template-imports": "^3.4.2",
"ember-template-recast": "^6.1.4",
"eslint-formatter-kakoune": "^1.0.0",
- "find-up": "^6.3.0",
- "fuse.js": "^6.5.3",
+ "find-up": "^7.0.0",
+ "fuse.js": "^7.0.0",
"get-stdin": "^9.0.0",
- "globby": "^13.2.2",
+ "globby": "^14.0.1",
"is-glob": "^4.0.3",
"language-tags": "^1.0.8",
"micromatch": "^4.0.5",
@@ -29149,7 +28439,7 @@
"ember-template-lint": "bin/ember-template-lint.js"
},
"engines": {
- "node": "^14.18.0 || ^16.0.0 || >= 18.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/ember-template-lint-plugin-prettier": {
@@ -29181,9 +28471,9 @@
}
},
"node_modules/ember-template-lint/node_modules/chalk": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
- "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
+ "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -29215,17 +28505,18 @@
}
},
"node_modules/ember-template-lint/node_modules/find-up": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
- "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz",
+ "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "locate-path": "^7.1.0",
- "path-exists": "^5.0.0"
+ "locate-path": "^7.2.0",
+ "path-exists": "^5.0.0",
+ "unicorn-magic": "^0.1.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -32568,9 +31859,9 @@
}
},
"node_modules/fuse.js": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz",
- "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz",
+ "integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -32964,29 +32255,30 @@
"license": "MIT"
},
"node_modules/globby": {
- "version": "13.2.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
- "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz",
+ "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.3.0",
+ "@sindresorhus/merge-streams": "^2.1.0",
+ "fast-glob": "^3.3.2",
"ignore": "^5.2.4",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
+ "path-type": "^5.0.0",
+ "slash": "^5.1.0",
+ "unicorn-magic": "^0.1.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/globby/node_modules/slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+ "node_modules/globby/node_modules/path-type": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
+ "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -32996,6 +32288,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/globby/node_modules/slash": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+ "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/globjoin": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
@@ -49858,6 +49163,19 @@
"node": ">=4"
}
},
+ "node_modules/unicorn-magic": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+ "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/unified": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz",
diff --git a/mon-pix/package.json b/mon-pix/package.json
index a722dc33fb9..84b46a7c1f3 100644
--- a/mon-pix/package.json
+++ b/mon-pix/package.json
@@ -54,7 +54,6 @@
"@ember-data/json-api": "^5.3.8",
"@ember-data/model": "^5.3.8",
"@ember/optional-features": "^2.0.0",
- "@ember/render-modifiers": "^2.0.4",
"@ember/string": "^3.1.1",
"@ember/test-helpers": "^4.0.0",
"@embroider/compat": "^3.0.0",
@@ -100,7 +99,7 @@
"ember-simple-auth": "^7.0.0",
"ember-source": "^5.9.0",
"ember-template-imports": "^4.1.1",
- "ember-template-lint": "^5.13.0",
+ "ember-template-lint": "^6.0.0",
"ember-template-lint-plugin-prettier": "^5.0.0",
"ember-test-selectors": "^6.0.0",
"ember-truth-helpers": "^4.0.0",
diff --git a/mon-pix/tests/acceptance/account-recovery/update-sco-record-test.js b/mon-pix/tests/acceptance/account-recovery/update-sco-record-test.js
index 78e645615bd..0fa5a3a0841 100644
--- a/mon-pix/tests/acceptance/account-recovery/update-sco-record-test.js
+++ b/mon-pix/tests/acceptance/account-recovery/update-sco-record-test.js
@@ -1,5 +1,5 @@
-import { fillByLabel, visit } from '@1024pix/ember-testing-library';
-import { click, currentURL, settled } from '@ember/test-helpers';
+import { visit } from '@1024pix/ember-testing-library';
+import { click, currentURL, fillIn, settled } from '@ember/test-helpers';
import { setupMirage } from 'ember-cli-mirage/test-support';
import { t } from 'ember-intl/test-support';
import { setupApplicationTest } from 'ember-qunit';
@@ -169,7 +169,10 @@ module('Acceptance | account-recovery | UpdateScoRecordRoute', function (hooks)
const screen = await visit(`/recuperer-mon-compte/${temporaryKey}`);
- await fillByLabel(t('pages.account-recovery.update-sco-record.form.password-label'), password);
+ const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), {
+ exact: false,
+ });
+ await fillIn(passwordInput, password);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
// when
@@ -201,7 +204,12 @@ module('Acceptance | account-recovery | UpdateScoRecordRoute', function (hooks)
server.patch('/account-recovery', () => errorsApi);
const screen = await visit(`/recuperer-mon-compte/${temporaryKey}`);
- await fillByLabel(t('pages.account-recovery.update-sco-record.form.password-label'), newPassword);
+
+ const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), {
+ exact: false,
+ });
+ await fillIn(passwordInput, newPassword);
+
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
// when
@@ -238,7 +246,11 @@ module('Acceptance | account-recovery | UpdateScoRecordRoute', function (hooks)
server.patch('/account-recovery', () => errorsApi);
const screen = await visit(`/recuperer-mon-compte/${temporaryKey}`);
- await fillByLabel(t('pages.account-recovery.update-sco-record.form.password-label'), newPassword);
+
+ const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), {
+ exact: false,
+ });
+ await fillIn(passwordInput, newPassword);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
// when
@@ -274,7 +286,10 @@ module('Acceptance | account-recovery | UpdateScoRecordRoute', function (hooks)
server.patch('/account-recovery', () => errorsApi);
const screen = await visit(`/recuperer-mon-compte/${temporaryKey}`);
- await fillByLabel(t('pages.account-recovery.update-sco-record.form.password-label'), newPassword);
+ const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), {
+ exact: false,
+ });
+ await fillIn(passwordInput, newPassword);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
// when
@@ -311,7 +326,10 @@ module('Acceptance | account-recovery | UpdateScoRecordRoute', function (hooks)
server.patch('/account-recovery', () => errorsApi);
const screen = await visit(`/recuperer-mon-compte/${temporaryKey}`);
- await fillByLabel(t('pages.account-recovery.update-sco-record.form.password-label'), newPassword);
+ const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), {
+ exact: false,
+ });
+ await fillIn(passwordInput, newPassword);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
// when
@@ -347,7 +365,10 @@ module('Acceptance | account-recovery | UpdateScoRecordRoute', function (hooks)
server.patch('/account-recovery', () => errorsApi);
const screen = await visit(`/recuperer-mon-compte/${temporaryKey}`);
- await fillByLabel(t('pages.account-recovery.update-sco-record.form.password-label'), newPassword);
+ const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), {
+ exact: false,
+ });
+ await fillIn(passwordInput, newPassword);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
// when
diff --git a/mon-pix/tests/acceptance/start-campaigns-with-type-assessment-test.js b/mon-pix/tests/acceptance/start-campaigns-with-type-assessment-test.js
index 0d507851993..995fe7fa244 100644
--- a/mon-pix/tests/acceptance/start-campaigns-with-type-assessment-test.js
+++ b/mon-pix/tests/acceptance/start-campaigns-with-type-assessment-test.js
@@ -93,15 +93,19 @@ module('Acceptance | Campaigns | Start Campaigns with type Assessment', function
// when
await click(screen.getByRole('button', { name: 'Se connecter' }));
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await fillIn(
+ screen.getByLabelText('Adresse e-mail ou identifiant', { exact: false }),
+ prescritUser.email,
+ );
+ await fillIn(screen.getByLabelText('Mot de passe', { exact: false }), prescritUser.password);
await click(screen.getByRole('button', { name: 'Se connecter' }));
- await fillIn(screen.getByRole('textbox', { name: 'Prénom' }), prescritUser.firstName);
- await fillIn(screen.getByRole('textbox', { name: 'Nom' }), prescritUser.lastName);
- await fillIn(screen.getByRole('textbox', { name: 'jour de naissance' }), '10');
- await fillIn(screen.getByRole('textbox', { name: 'mois de naissance' }), '12');
- await fillIn(screen.getByRole('textbox', { name: 'année de naissance' }), '2000');
+ await fillIn(screen.getByLabelText('Prénom'), prescritUser.firstName);
+ await fillIn(screen.getByLabelText('Nom'), prescritUser.lastName);
+ await fillIn(screen.getByLabelText('jour de naissance'), '10');
+ await fillIn(screen.getByLabelText('mois de naissance'), '12');
+ await fillIn(screen.getByLabelText('année de naissance'), '2000');
+
await click(screen.getByRole('button', { name: t('pages.join.button') }));
await click(screen.getByRole('button', { name: t('pages.join.sco.associate') }));
diff --git a/mon-pix/tests/acceptance/start-campaigns-with-type-profiles-collection-test.js b/mon-pix/tests/acceptance/start-campaigns-with-type-profiles-collection-test.js
index bbcfc1d869c..1276f0a0bc3 100644
--- a/mon-pix/tests/acceptance/start-campaigns-with-type-profiles-collection-test.js
+++ b/mon-pix/tests/acceptance/start-campaigns-with-type-profiles-collection-test.js
@@ -46,7 +46,7 @@ module('Acceptance | Campaigns | Start Campaigns with type Profiles Collection',
await fillIn(screen.getByRole('textbox', { name: FIRST_NAME_INPUT_LABEL }), campaignParticipant.firstName);
await fillIn(screen.getByRole('textbox', { name: LAST_NAME_INPUT_LABEL }), campaignParticipant.lastName);
await fillIn(screen.getByRole('textbox', { name: EMAIL_INPUT_LABEL }), campaignParticipant.email);
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), campaignParticipant.password);
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), campaignParticipant.password);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
await click(screen.getByRole('button', { name: "Je m'inscris" }));
@@ -75,7 +75,7 @@ module('Acceptance | Campaigns | Start Campaigns with type Profiles Collection',
);
await fillIn(screen.getByRole('textbox', { name: LAST_NAME_INPUT_LABEL }), campaignParticipant.lastName);
await fillIn(screen.getByRole('textbox', { name: EMAIL_INPUT_LABEL }), campaignParticipant.email);
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), campaignParticipant.password);
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), campaignParticipant.password);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
await click(screen.getByRole('button', { name: "Je m'inscris" }));
@@ -100,10 +100,11 @@ module('Acceptance | Campaigns | Start Campaigns with type Profiles Collection',
// when
await click(screen.getByRole('button', { name: 'Se connecter' }));
await fillIn(
- screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }),
+ screen.getByLabelText('Adresse e-mail ou identifiant', { exact: false }),
campaignParticipant.email,
);
- await fillIn(screen.getByLabelText('Mot de passe'), campaignParticipant.password);
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), campaignParticipant.password);
+
await click(screen.getByRole('button', { name: 'Se connecter' }));
await fillIn(
screen.getByRole('textbox', { name: FIRST_NAME_INPUT_LABEL }),
@@ -131,7 +132,7 @@ module('Acceptance | Campaigns | Start Campaigns with type Profiles Collection',
await fillIn(screen.getByRole('textbox', { name: FIRST_NAME_INPUT_LABEL }), campaignParticipant.firstName);
await fillIn(screen.getByRole('textbox', { name: LAST_NAME_INPUT_LABEL }), campaignParticipant.lastName);
await fillIn(screen.getByRole('textbox', { name: EMAIL_INPUT_LABEL }), campaignParticipant.email);
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), campaignParticipant.password);
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), campaignParticipant.password);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
await click(screen.getByRole('button', { name: "Je m'inscris" }));
@@ -148,7 +149,7 @@ module('Acceptance | Campaigns | Start Campaigns with type Profiles Collection',
await fillIn(screen.getByRole('textbox', { name: FIRST_NAME_INPUT_LABEL }), campaignParticipant.firstName);
await fillIn(screen.getByRole('textbox', { name: LAST_NAME_INPUT_LABEL }), campaignParticipant.lastName);
await fillIn(screen.getByRole('textbox', { name: EMAIL_INPUT_LABEL }), campaignParticipant.email);
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), campaignParticipant.password);
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), campaignParticipant.password);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
// when
diff --git a/mon-pix/tests/acceptance/start-campaigns-workflow-test.js b/mon-pix/tests/acceptance/start-campaigns-workflow-test.js
index 677c3825e82..143cff3ce78 100644
--- a/mon-pix/tests/acceptance/start-campaigns-workflow-test.js
+++ b/mon-pix/tests/acceptance/start-campaigns-workflow-test.js
@@ -21,6 +21,11 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
let campaign;
+ async function _loginUser(screen, prescritUser) {
+ await fillIn(screen.getByLabelText('Adresse e-mail ou identifiant', { exact: false }), prescritUser.email);
+ await fillIn(screen.getByLabelText('Mot de passe', { exact: false }), prescritUser.password);
+ }
+
hooks.beforeEach(function () {
this.server.schema.users.create({
mustValidateTermsOfService: true,
@@ -104,8 +109,8 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
// when
await fillIn(screen.getByRole('textbox', { name: 'Prénom' }), prescritUser.firstName);
await fillIn(screen.getByRole('textbox', { name: 'Nom' }), prescritUser.lastName);
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await fillIn(screen.getByRole('textbox', { name: /Adresse e-mail/ }), prescritUser.email);
+ await fillIn(screen.getByLabelText(/Mot de passe/), prescritUser.password);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
// when
@@ -135,8 +140,7 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
await click(screen.getByRole('button', { name: 'Accéder au parcours' }));
await click(screen.getByRole('button', { name: 'Je commence' }));
await click(screen.getByRole('button', { name: 'Se connecter' }));
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await _loginUser(screen, prescritUser);
await click(screen.getByRole('button', { name: 'Se connecter' }));
// then
@@ -162,11 +166,7 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
await click(screen.getByRole('button', { name: 'Accéder au parcours' }));
await click(screen.getByRole('button', { name: 'Je commence' }));
await click(screen.getByRole('button', { name: 'Se connecter' }));
- await fillIn(
- screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }),
- prescritUser.email,
- );
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await _loginUser(screen, prescritUser);
await click(screen.getByRole('button', { name: 'Se connecter' }));
// then
@@ -187,8 +187,7 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
await click(screen.getByRole('button', { name: 'Accéder au parcours' }));
await click(screen.getByRole('button', { name: 'Je commence' }));
await click(screen.getByRole('button', { name: 'Se connecter' }));
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await _loginUser(screen, prescritUser);
await click(screen.getByRole('button', { name: 'Se connecter' }));
// when
@@ -257,8 +256,8 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
await click(screen.getByRole('button', { name: 'Je commence' }));
// when
- await fillIn(screen.getByRole('textbox', { name: '* Prénom' }), prescritUser.firstName);
- await fillIn(screen.getByRole('textbox', { name: '* Nom' }), prescritUser.lastName);
+ await fillIn(screen.getByLabelText(/Prénom/), prescritUser.firstName);
+ await fillIn(screen.getByLabelText(/Nom/), prescritUser.lastName);
await fillIn(screen.getByRole('spinbutton', { name: 'Jour de naissance' }), '10');
await fillIn(screen.getByRole('spinbutton', { name: 'Mois de naissance' }), '12');
await fillIn(screen.getByRole('spinbutton', { name: 'Année de naissance' }), '2000');
@@ -267,44 +266,20 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
//go to email-based authentication window
await click(screen.getByText('Mon adresse e-mail'));
- await fillIn(
- screen.getByRole('textbox', { name: '* Adresse e-mail (ex: nom@exemple.fr)' }),
- prescritUser.email,
- );
- await fillIn(
- screen.getByLabelText(
- 'Mot de passe (8 caractères minimum, dont une majuscule, une minuscule et un chiffre)',
- { exact: false },
- ),
- 'pix123',
- );
+ await fillIn(screen.getByLabelText('Adresse e-mail', { exact: false }), prescritUser.email);
+ await fillIn(screen.getByLabelText('Mot de passe', { exact: false }), 'pix123');
await click(screen.getByRole('button', { name: "Je m'inscris" }));
// then
assert.strictEqual(currentURL(), `/campagnes/${campaign.code}/rejoindre/identification`);
- assert.strictEqual(screen.getByRole('textbox', { name: '* Prénom' }).value, prescritUser.firstName);
- assert.strictEqual(
- screen.getByRole('textbox', { name: '* Adresse e-mail (ex: nom@exemple.fr)' }).value,
- prescritUser.email,
- );
- assert.strictEqual(
- screen.getByLabelText(
- 'Mot de passe (8 caractères minimum, dont une majuscule, une minuscule et un chiffre)',
- { exact: false },
- ).value,
- 'pix123',
- );
+ assert.strictEqual(screen.getByLabelText('Prénom', { exact: false }).value, prescritUser.firstName);
+ assert.strictEqual(screen.getByLabelText('Adresse e-mail', { exact: false }).value, prescritUser.email);
+ assert.strictEqual(screen.getByLabelText('Mot de passe', { exact: false }).value, 'pix123');
//go to username-based authentication window
await click(screen.getByText('Mon identifiant'));
assert.dom(screen.getByText('first.last1010')).exists();
- assert.strictEqual(
- screen.getByLabelText(
- 'Mot de passe (8 caractères minimum, dont une majuscule, une minuscule et un chiffre)',
- { exact: false },
- ).value,
- 'pix123',
- );
+ assert.strictEqual(screen.getByLabelText('Mot de passe', { exact: false }).value, 'pix123');
});
test('should redirect to student sco invited page when connection is done', async function (assert) {
@@ -317,8 +292,7 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
// when
await click(screen.getByRole('button', { name: 'Se connecter' }));
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await _loginUser(screen, prescritUser);
await click(screen.getByRole('button', { name: 'Se connecter' }));
// then
@@ -335,8 +309,7 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
// when
await click(screen.getByRole('button', { name: 'Se connecter' }));
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await _loginUser(screen, prescritUser);
await click(screen.getByRole('button', { name: 'Se connecter' }));
// then
@@ -391,8 +364,7 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
// when
await click(screen.getByRole('link', { name: 'Se connecter' }));
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await _loginUser(screen, prescritUser);
await click(screen.getByRole('button', { name: 'Je me connecte' }));
@@ -965,15 +937,14 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
await click(screen.getByRole('button', { name: 'Accéder au parcours' }));
await click(screen.getByRole('button', { name: 'Je commence' }));
- await fillIn(screen.getByRole('textbox', { name: 'jour de naissance' }), '10');
- await fillIn(screen.getByRole('textbox', { name: 'mois de naissance' }), '12');
- await fillIn(screen.getByRole('textbox', { name: 'année de naissance' }), '2000');
+ await fillIn(screen.getByLabelText('jour de naissance'), '10');
+ await fillIn(screen.getByLabelText('mois de naissance'), '12');
+ await fillIn(screen.getByLabelText('année de naissance'), '2000');
await click(screen.getByRole('button', { name: "C'est parti !" }));
await click(screen.getByRole('button', { name: 'Continuer avec mon compte Pix' }));
// when
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await _loginUser(screen, prescritUser);
await click(screen.getByRole('button', { name: 'Se connecter' }));
const session = currentSession();
@@ -1006,8 +977,7 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
await click(screen.getByRole('button', { name: 'Continuer avec mon compte Pix' }));
// when
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await _loginUser(screen, prescritUser);
await click(screen.getByRole('button', { name: 'Se connecter' }));
// then
@@ -1045,8 +1015,7 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
await click(screen.getByRole('button', { name: 'Continuer avec mon compte Pix' }));
// when
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await _loginUser(screen, prescritUser);
await click(screen.getByRole('button', { name: 'Se connecter' }));
// then
@@ -1076,8 +1045,7 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
await click(screen.getByRole('button', { name: 'Continuer avec mon compte Pix' }));
// when
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), prescritUser.email);
- await fillIn(screen.getByLabelText('Mot de passe'), prescritUser.password);
+ await _loginUser(screen, prescritUser);
await click(screen.getByRole('button', { name: 'Se connecter' }));
// then
@@ -1124,6 +1092,7 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
// when
const screen = await visit(`/campagnes?externalUser=${externalUserToken}`);
+
await fillIn(
screen.getByRole('textbox', { name: t('pages.fill-in-campaign-code.label') }),
campaign.code,
@@ -1131,30 +1100,22 @@ module('Acceptance | Campaigns | Start Campaigns workflow', function (hooks) {
await click(screen.getByRole('button', { name: 'Accéder au parcours' }));
await click(screen.getByRole('button', { name: 'Je commence' }));
- await fillIn(screen.getByRole('textbox', { name: 'jour de naissance' }), '10');
- await fillIn(screen.getByRole('textbox', { name: 'mois de naissance' }), '12');
- await fillIn(screen.getByRole('textbox', { name: 'année de naissance' }), '2000');
+ await fillIn(screen.getByLabelText('jour de naissance'), '10');
+ await fillIn(screen.getByLabelText('mois de naissance'), '12');
+ await fillIn(screen.getByLabelText('année de naissance'), '2000');
await click(screen.getByRole('button', { name: "C'est parti !" }));
await click(screen.getByRole('button', { name: 'Continuer avec mon compte Pix' }));
- await fillIn(
- screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }),
- userShouldChangePassword.username,
- );
-
- await fillIn(screen.getByLabelText('Mot de passe'), userShouldChangePassword.password);
+ await _loginUser(screen, {
+ email: userShouldChangePassword.username,
+ password: userShouldChangePassword.password,
+ });
await click(screen.getByRole('button', { name: 'Se connecter' }));
// then
assert.strictEqual(currentURL(), '/mise-a-jour-mot-de-passe-expire');
// when
- await fillIn(
- screen.getByLabelText(
- 'Mot de passe (8 caractères minimum, dont une majuscule, une minuscule et un chiffre)',
- { exact: false },
- ),
- 'newPass12345!',
- );
+ await fillIn(screen.getByLabelText('Mot de passe', { exact: false }), 'newPass12345!');
await click(screen.getByRole('button', { name: 'Réinitialiser' }));
// eslint-disable-next-line ember/no-settled-after-test-helper
await settled();
diff --git a/mon-pix/tests/acceptance/update-expired-password-test.js b/mon-pix/tests/acceptance/update-expired-password-test.js
index 40ea7491ec0..a01db94d69a 100644
--- a/mon-pix/tests/acceptance/update-expired-password-test.js
+++ b/mon-pix/tests/acceptance/update-expired-password-test.js
@@ -12,7 +12,7 @@ import setupIntl from '../helpers/setup-intl';
const ApiErrorMessages = ENV.APP.API_ERROR_MESSAGES;
-const PASSWORD_INPUT_LABEL = '* Mot de passe (8 caractères minimum, dont une majuscule, une minuscule et un chiffre)';
+const PASSWORD_INPUT_LABEL = /Mot de passe/;
module('Acceptance | Update Expired Password', function (hooks) {
setupApplicationTest(hooks);
diff --git a/mon-pix/tests/integration/components/account-recovery/backup-email-confirmation-form-test.js b/mon-pix/tests/integration/components/account-recovery/backup-email-confirmation-form-test.js
index 42b0f710c97..32ff012713d 100644
--- a/mon-pix/tests/integration/components/account-recovery/backup-email-confirmation-form-test.js
+++ b/mon-pix/tests/integration/components/account-recovery/backup-email-confirmation-form-test.js
@@ -55,7 +55,7 @@ module('Integration | Component | account-recovery::backup-email-confirmation-fo
);
assert.ok(
screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email'),
+ name: new RegExp(t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email')),
}),
);
@@ -95,7 +95,7 @@ module('Integration | Component | account-recovery::backup-email-confirmation-fo
);
assert.ok(
screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email'),
+ name: new RegExp(t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email')),
}),
);
assert.notOk(
@@ -129,7 +129,7 @@ module('Integration | Component | account-recovery::backup-email-confirmation-fo
// when
await fillIn(
screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email'),
+ name: new RegExp(t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email')),
}),
email,
);
@@ -153,7 +153,7 @@ module('Integration | Component | account-recovery::backup-email-confirmation-fo
// when
await fillIn(
screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email'),
+ name: new RegExp(t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email')),
}),
email,
);
@@ -178,7 +178,7 @@ module('Integration | Component | account-recovery::backup-email-confirmation-fo
hbs`
`,
);
const emailInput = screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email'),
+ name: new RegExp(t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email')),
});
// when
@@ -202,7 +202,7 @@ module('Integration | Component | account-recovery::backup-email-confirmation-fo
);
const emailInput = screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email'),
+ name: new RegExp(t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email')),
});
// when
@@ -234,7 +234,7 @@ module('Integration | Component | account-recovery::backup-email-confirmation-fo
// when
await fillIn(
screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email'),
+ name: new RegExp(t('pages.account-recovery.find-sco-record.backup-email-confirmation.form.email')),
}),
email,
);
diff --git a/mon-pix/tests/integration/components/account-recovery/confirmation-email-sent-test.js b/mon-pix/tests/integration/components/account-recovery/confirmation-email-sent-test.js
index 485aff23253..ffeadc29b0f 100644
--- a/mon-pix/tests/integration/components/account-recovery/confirmation-email-sent-test.js
+++ b/mon-pix/tests/integration/components/account-recovery/confirmation-email-sent-test.js
@@ -21,7 +21,11 @@ module('Integration | Component | account-recovery/confirmation-email-sent', fun
)
.exists();
assert
- .dom(screen.getByText(t('pages.account-recovery.find-sco-record.send-email-confirmation.send-email')))
+ .dom(
+ screen.getByText(t('pages.account-recovery.find-sco-record.send-email-confirmation.send-email'), {
+ exact: false,
+ }),
+ )
.exists();
assert
.dom(screen.getByText(t('pages.account-recovery.find-sco-record.send-email-confirmation.check-spam')))
diff --git a/mon-pix/tests/integration/components/account-recovery/student-information-form-test.js b/mon-pix/tests/integration/components/account-recovery/student-information-form-test.js
index c58cc8326da..51331dcfbaf 100644
--- a/mon-pix/tests/integration/components/account-recovery/student-information-form-test.js
+++ b/mon-pix/tests/integration/components/account-recovery/student-information-form-test.js
@@ -56,21 +56,24 @@ module('Integration | Component | student-information-form', function (hooks) {
// when
await fillIn(
- screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.student-information.form.ine-ina'),
+ screen.getByLabelText(t('pages.account-recovery.find-sco-record.student-information.form.ine-ina'), {
+ exact: false,
}),
ine,
);
await fillIn(
- screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.student-information.form.first-name'),
+ screen.getByLabelText(t('pages.account-recovery.find-sco-record.student-information.form.first-name'), {
+ exact: false,
}),
firstName,
);
await fillIn(
- screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.student-information.form.last-name'),
- }),
+ screen.getByLabelText(
+ new RegExp(t('pages.account-recovery.find-sco-record.student-information.form.last-name')),
+ {
+ exact: false,
+ },
+ ),
lastName,
);
await fillIn(
@@ -113,9 +116,10 @@ module('Integration | Component | student-information-form', function (hooks) {
// given
const validIna = '1234567890A';
const screen = await render(hbs`
`);
- const ineInaInput = screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.student-information.form.ine-ina'),
- });
+ const ineInaInput = screen.getByLabelText(
+ t('pages.account-recovery.find-sco-record.student-information.form.ine-ina'),
+ { exact: false },
+ );
// when
await fillIn(ineInaInput, validIna);
@@ -133,9 +137,10 @@ module('Integration | Component | student-information-form', function (hooks) {
// given
const validIna = ' 1234567890A ';
const screen = await render(hbs`
`);
- const ineInaInput = screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.student-information.form.ine-ina'),
- });
+ const ineInaInput = screen.getByLabelText(
+ t('pages.account-recovery.find-sco-record.student-information.form.ine-ina'),
+ { exact: false },
+ );
// when
await fillIn(ineInaInput, validIna);
@@ -155,9 +160,10 @@ module('Integration | Component | student-information-form', function (hooks) {
// given
const invalidIneIna = '123ABCDEF';
const screen = await render(hbs`
`);
- const ineInaInput = screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.student-information.form.ine-ina'),
- });
+ const ineInaInput = screen.getByLabelText(
+ t('pages.account-recovery.find-sco-record.student-information.form.ine-ina'),
+ { exact: false },
+ );
// when
await fillIn(ineInaInput, invalidIneIna);
@@ -175,9 +181,10 @@ module('Integration | Component | student-information-form', function (hooks) {
// given
const emptyIneIna = ' ';
const screen = await render(hbs`
`);
- const ineInaInput = screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.student-information.form.ine-ina'),
- });
+ const ineInaInput = screen.getByLabelText(
+ t('pages.account-recovery.find-sco-record.student-information.form.ine-ina'),
+ { exact: false },
+ );
// when
await fillIn(ineInaInput, emptyIneIna);
@@ -196,9 +203,10 @@ module('Integration | Component | student-information-form', function (hooks) {
// given
const emptyLastName = ' ';
const screen = await render(hbs`
`);
- const lastNameInput = screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.student-information.form.last-name'),
- });
+ const lastNameInput = screen.getByLabelText(
+ new RegExp(t('pages.account-recovery.find-sco-record.student-information.form.last-name')),
+ { exact: false },
+ );
// when
await fillIn(lastNameInput, emptyLastName);
@@ -216,9 +224,10 @@ module('Integration | Component | student-information-form', function (hooks) {
// given
const emptyFirstName = ' ';
const screen = await render(hbs`
`);
- const firstNameInput = screen.getByRole('textbox', {
- name: t('pages.account-recovery.find-sco-record.student-information.form.first-name'),
- });
+ const firstNameInput = screen.getByLabelText(
+ t('pages.account-recovery.find-sco-record.student-information.form.first-name'),
+ { exact: false },
+ );
// when
await fillIn(firstNameInput, emptyFirstName);
diff --git a/mon-pix/tests/integration/components/account-recovery/update-sco-record-form-test.js b/mon-pix/tests/integration/components/account-recovery/update-sco-record-form-test.js
index a007e10ae60..eea9a617df5 100644
--- a/mon-pix/tests/integration/components/account-recovery/update-sco-record-form-test.js
+++ b/mon-pix/tests/integration/components/account-recovery/update-sco-record-form-test.js
@@ -15,7 +15,6 @@ module('Integration | Component | account-recovery | update-sco-record', functio
const firstName = 'Philippe';
this.set('firstName', firstName);
this.set('email', newEmail);
-
// when
const screen = await render(
hbs`
`,
@@ -27,9 +26,16 @@ module('Integration | Component | account-recovery | update-sco-record', functio
name: t('pages.account-recovery.update-sco-record.welcome-message', { firstName }),
}),
);
- assert.ok(screen.getByText(t('pages.account-recovery.update-sco-record.fill-password')));
- assert.ok(screen.getByRole('textbox', { name: t('pages.account-recovery.update-sco-record.form.email-label') }));
- assert.ok(screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label')));
+ assert.ok(screen.getByText(t('pages.account-recovery.update-sco-record.fill-password'), { exact: false }));
+ assert.ok(
+ screen.getByRole('textbox', {
+ name: t('pages.account-recovery.update-sco-record.form.email-label'),
+ exact: false,
+ }),
+ );
+ assert.ok(
+ screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), { exact: false }),
+ );
const submitButton = screen.getByRole('button', {
name: t('pages.account-recovery.update-sco-record.form.login-button'),
@@ -48,7 +54,10 @@ module('Integration | Component | account-recovery | update-sco-record', functio
const screen = await render(hbs`
`);
// when
- await fillIn(screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label')), 'pass');
+ await fillIn(
+ screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), { exact: false }),
+ 'pass',
+ );
// then
const submitButton = screen.getByRole('button', {
@@ -63,7 +72,7 @@ module('Integration | Component | account-recovery | update-sco-record', functio
// when
await fillIn(
- screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label')),
+ screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), { exact: false }),
'pix123A*',
);
@@ -80,7 +89,7 @@ module('Integration | Component | account-recovery | update-sco-record', functio
// when
await fillIn(
- screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label')),
+ screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), { exact: false }),
'pix123A*',
);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
@@ -98,7 +107,7 @@ module('Integration | Component | account-recovery | update-sco-record', functio
// when
await fillIn(
- screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label')),
+ screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), { exact: false }),
'pix123A*',
);
await click(screen.getByRole('checkbox', { name: t('common.cgu.label') }));
@@ -117,7 +126,9 @@ module('Integration | Component | account-recovery | update-sco-record', functio
// given
const validPassword = 'pix123A*';
const screen = await render(hbs`
`);
- const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'));
+ const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), {
+ exact: false,
+ });
// when
await fillIn(passwordInput, validPassword);
@@ -140,7 +151,9 @@ module('Integration | Component | account-recovery | update-sco-record', functio
const screen = await render(
hbs`
`,
);
- const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'));
+ const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), {
+ exact: false,
+ });
// when
await fillIn(passwordInput, invalidPassword);
@@ -154,7 +167,9 @@ module('Integration | Component | account-recovery | update-sco-record', functio
// given
const password = '';
const screen = await render(hbs`
`);
- const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'));
+ const passwordInput = screen.getByLabelText(t('pages.account-recovery.update-sco-record.form.password-label'), {
+ exact: false,
+ });
// when
await fillIn(passwordInput, password);
diff --git a/mon-pix/tests/integration/components/campaign/invited/learner-reconciliation-test.js b/mon-pix/tests/integration/components/campaign/invited/learner-reconciliation-test.js
index 1fbc7841ae2..629c8849e9e 100644
--- a/mon-pix/tests/integration/components/campaign/invited/learner-reconciliation-test.js
+++ b/mon-pix/tests/integration/components/campaign/invited/learner-reconciliation-test.js
@@ -199,7 +199,7 @@ module('Integration | Component | Campaign | Invited | learner-reconciliation',
hbs`
`,
diff --git a/mon-pix/tests/integration/components/form-textfield-date-test.js b/mon-pix/tests/integration/components/form-textfield-date-test.js
index 4643b174e9c..d2bad8c1e35 100644
--- a/mon-pix/tests/integration/components/form-textfield-date-test.js
+++ b/mon-pix/tests/integration/components/form-textfield-date-test.js
@@ -13,13 +13,6 @@ module('Integration | Component | form textfield date', function (hooks) {
const LABEL_TEXT = 'date';
const MESSAGE = '.form-textfield__message';
- const MESSAGE_ERROR_STATUS = 'form-textfield__message--error';
- const MESSAGE_SUCCESS_STATUS = 'form-textfield__message--success';
-
- const INPUT = '.form-textfield__input';
- const INPUT_DEFAULT_CLASS = 'form-textfield__input--default';
- const INPUT_SUCCESS_CLASS = 'form-textfield__input--success';
- const INPUT_ERROR_CLASS = 'form-textfield__input--error';
module('#Component rendering', function (hooks) {
hooks.beforeEach(async function () {
@@ -34,7 +27,7 @@ module('Integration | Component | form textfield date', function (hooks) {
this.set('monthValidationMessage', 'month message');
this.set('yearValidationMessage', 'year message');
this.set('validateStub', () => {});
-
+ this.set('handleInputStub', () => {});
// When
await render(hbs`
`);
});
- [
- { expectedRendering: 'label', item: LABEL, expectedLength: 1 },
- { expectedRendering: 'div', item: MESSAGE, expectedLength: 3 },
- { expectedRendering: 'input', item: INPUT, expectedLength: 3 },
- ].forEach(function ({ expectedRendering, item, expectedLength }) {
- test(`Should render a ${expectedRendering}`, function (assert) {
- // Then
- assert.dom(item).exists({ count: expectedLength });
- assert.strictEqual(find(item).nodeName, expectedRendering.toUpperCase());
- });
- });
-
[
{ item: LABEL, expectedRendering: 'label', expectedText: LABEL_TEXT },
{ item: `${MESSAGE}#dayValidationMessage`, expectedRendering: 'div.message', expectedText: 'day message' },
@@ -100,12 +84,21 @@ module('Integration | Component | form textfield date', function (hooks) {
this.set('dayOfBirth', inputValueToValidate['day']);
this.set('monthOfBirth', inputValueToValidate['month']);
this.set('yearOfBirth', inputValueToValidate['year']);
+ this.set('handleDayInput', (event) => {
+ this.set('dayOfBirth', event.target.value);
+ });
+ this.set('handleMonthInput', (event) => {
+ this.set('monthOfBirth', event.target.value);
+ });
+ this.set('handleYearInput', (event) => {
+ this.set('yearOfBirth', event.target.value);
+ });
await render(hbs`
`);
// when
@@ -136,152 +132,5 @@ module('Integration | Component | form textfield date', function (hooks) {
assert.true(isActionValidateHandled.year);
assert.deepEqual(inputValueToValidate, expectedInputValue);
});
-
- module('#When validationStatus gets "default", Component should ', function (hooks) {
- hooks.beforeEach(async function () {
- this.set('label', 'date');
- this.set('dayValidationStatus', 'default');
- this.set('monthValidationStatus', 'default');
- this.set('yearValidationStatus', 'default');
- this.set('dayTextfieldName', 'day');
- this.set('monthTextfieldName', 'month');
- this.set('yearTextfieldName', 'year');
- this.set('dayValidationMessage', '');
- this.set('monthValidationMessage', '');
- this.set('yearValidationMessage', '');
- this.set('validateStub', () => {});
-
- // When
- await render(hbs`
`);
- });
-
- test("return true if any svg doesn't exist", function (assert) {
- // then
- assert.dom('img').doesNotExist();
- });
-
- test(`contain an input with an additional class ${INPUT_DEFAULT_CLASS}`, function (assert) {
- const input = find(INPUT);
- // then
- assert.ok(input.getAttribute('class').includes(INPUT_DEFAULT_CLASS));
- assert.ok(input.value.includes(''));
- });
-
- test('should not show a div for message validation status when validationStatus is default', function (assert) {
- // then
- assert.dom(MESSAGE).doesNotExist();
- });
- });
-
- module('#When validationStatus gets "error", Component should ', function (hooks) {
- hooks.beforeEach(async function () {
- this.set('label', 'date');
- this.set('dayValidationStatus', 'error');
- this.set('monthValidationStatus', 'error');
- this.set('yearValidationStatus', 'error');
- this.set('dayTextfieldName', 'day');
- this.set('monthTextfieldName', 'month');
- this.set('yearTextfieldName', 'year');
- this.set('dayValidationMessage', 'day message');
- this.set('monthValidationMessage', 'month message');
- this.set('yearValidationMessage', 'year message');
- this.set('validateStub', () => {});
-
- // When
- await render(hbs`
`);
- });
-
- test('return true if any img does exist', function (assert) {
- // then
- assert.dom('img').exists({ count: 3 });
- assert.ok(find('img').getAttribute('class').includes('form-textfield-icon__state--error'));
- });
-
- [
- { item: 'Input', itemSelector: INPUT, expectedClass: INPUT_ERROR_CLASS },
- { item: 'Div for message validation status', itemSelector: MESSAGE, expectedClass: MESSAGE_ERROR_STATUS },
- ].forEach(({ item, itemSelector, expectedClass }) => {
- test(`contain an ${item} with an additional class ${expectedClass}`, function (assert) {
- // then
- assert.ok(find(itemSelector).getAttribute('class').includes(expectedClass));
- });
- });
- });
-
- module('#When validationStatus gets "success", Component should ', function (hooks) {
- hooks.beforeEach(async function () {
- this.set('label', 'date');
- this.set('dayValidationStatus', 'success');
- this.set('monthValidationStatus', 'success');
- this.set('yearValidationStatus', 'success');
- this.set('dayTextfieldName', 'day');
- this.set('monthTextfieldName', 'month');
- this.set('dayValidationMessage', 'day message');
- this.set('monthValidationMessage', 'month message');
- this.set('yearValidationMessage', 'year message');
- this.set('validateStub', () => {});
-
- // When
- await render(hbs`
`);
- });
-
- test('return true if any img does exist', function (assert) {
- // then
- assert.dom('img').exists({ count: 3 });
- assert.ok(find('img').getAttribute('class').includes('form-textfield-icon__state--success'));
- });
-
- [
- { item: 'Input', itemSelector: INPUT, expectedClass: INPUT_SUCCESS_CLASS },
- { item: 'Div for message validation status', itemSelector: MESSAGE, expectedClass: MESSAGE_SUCCESS_STATUS },
- ].forEach(({ item, itemSelector, expectedClass }) => {
- test(`contain an ${item} with an additional class ${expectedClass}`, function (assert) {
- // then
- assert.ok(find(itemSelector).getAttribute('class').includes(expectedClass));
- });
- });
- });
});
});
diff --git a/mon-pix/tests/integration/components/form-textfield-test.js b/mon-pix/tests/integration/components/form-textfield-test.js
deleted file mode 100644
index 8346ba9dd4c..00000000000
--- a/mon-pix/tests/integration/components/form-textfield-test.js
+++ /dev/null
@@ -1,260 +0,0 @@
-import { render } from '@1024pix/ember-testing-library';
-// eslint-disable-next-line no-restricted-imports
-import { click, fillIn, find, triggerEvent } from '@ember/test-helpers';
-import { hbs } from 'ember-cli-htmlbars';
-import { t } from 'ember-intl/test-support';
-import { module, test } from 'qunit';
-
-import setupIntlRenderingTest from '../../helpers/setup-intl-rendering';
-
-module('Integration | Component | form textfield', function (hooks) {
- setupIntlRenderingTest(hooks);
-
- const LABEL = '.form-textfield__label';
- const LABEL_TEXT = 'NOM';
-
- const MESSAGE = '.form-textfield__message';
- const MESSAGE_ERROR_STATUS = 'form-textfield__message--error';
- const MESSAGE_SUCCESS_STATUS = 'form-textfield__message--success';
- const MESSAGE_TEXT = 'MESSAGE';
-
- const INPUT = '.form-textfield__input';
- const INPUT_DEFAULT_CLASS = 'form-textfield__input--default';
- const INPUT_SUCCESS_CLASS = 'form-textfield__input--success';
- const INPUT_ERROR_CLASS = 'form-textfield__input--error';
-
- module('#Component rendering', function (hooks) {
- hooks.beforeEach(async function () {
- this.set('label', 'nom');
- this.set('validationStatus', '');
- this.set('validationMessage', MESSAGE_TEXT);
- this.set('textfieldName', 'firstname');
-
- // When
- await render(
- hbs`
`,
- );
- });
-
- [
- { expectedRendering: 'label', item: LABEL, expectedLength: 1 },
- { expectedRendering: 'div', item: MESSAGE, expectedLength: 1 },
- { expectedRendering: 'input', item: INPUT, expectedLength: 1 },
- ].forEach(function ({ expectedRendering, item, expectedLength }) {
- test(`should render a ${expectedRendering}`, function (assert) {
- // Then
- assert.dom(item).exists({ count: expectedLength });
- assert.strictEqual(find(item).nodeName, expectedRendering.toUpperCase());
- });
- });
-
- [
- { item: LABEL, expectedRendering: 'label', expectedText: LABEL_TEXT },
- { item: MESSAGE, expectedRendering: 'div.message', expectedText: MESSAGE_TEXT },
- ].forEach(function ({ item, expectedRendering, expectedText }) {
- test(`should render a ${expectedRendering}`, function (assert) {
- // Then
- assert.ok(find(item).textContent.toUpperCase().includes(expectedText));
- });
- });
- });
-
- module('#Component Interactions', function () {
- test('should handle action
when input lost focus', async function (assert) {
- // given
- let isActionValidateHandled = false;
- let inputValueToValidate;
- const expectedInputValue = 'firstname';
-
- this.set('validate', function (arg) {
- isActionValidateHandled = true;
- inputValueToValidate = arg;
- });
-
- this.set('label', 'nom');
- this.set('validationStatus', '');
- this.set('validationMessage', 'message');
- this.set('textfieldName', 'firstname');
-
- await render(
- hbs``,
- );
-
- // when
- await fillIn(INPUT, 'pix');
- await triggerEvent(INPUT, 'focusout');
-
- // then
- assert.true(isActionValidateHandled);
- assert.deepEqual(inputValueToValidate, expectedInputValue);
- });
-
- module('#When validationStatus gets "default", Component should ', function (hooks) {
- hooks.beforeEach(async function () {
- this.set('label', 'nom');
- this.set('validationStatus', 'default');
- this.set('textfieldName', 'firstname');
- this.set('validationMessage', 'message');
-
- // When
- await render(
- hbs``,
- );
- });
-
- test("return true if any svg doesn't exist", function (assert) {
- // then
- assert.dom('img').doesNotExist();
- });
-
- test(`contain an input with an additional class ${INPUT_DEFAULT_CLASS}`, function (assert) {
- const input = find(INPUT);
- // then
- assert.ok(input.getAttribute('class').includes(INPUT_DEFAULT_CLASS));
- assert.ok(input.value.includes(''));
- });
- });
-
- module('#When validationStatus gets "error", Component should ', function (hooks) {
- hooks.beforeEach(async function () {
- this.set('label', 'nom');
- this.set('validationStatus', 'error');
- this.set('textfieldName', 'firstname');
- this.set('validationMessage', 'message');
-
- // When
- await render(
- hbs``,
- );
- });
-
- test('return true if any img does exist', function (assert) {
- // then
- assert.dom('img').exists({ count: 1 });
- assert.ok(find('img').getAttribute('class').includes('form-textfield-icon__state--error'));
- });
-
- [
- { item: 'Input', itemSelector: INPUT, expectedClass: INPUT_ERROR_CLASS },
- { item: 'Div for message validation status', itemSelector: MESSAGE, expectedClass: MESSAGE_ERROR_STATUS },
- ].forEach(({ item, itemSelector, expectedClass }) => {
- test(`contain an ${item} with an additional class ${expectedClass}`, function (assert) {
- // then
- assert.ok(find(itemSelector).getAttribute('class').includes(expectedClass));
- });
- });
- });
-
- module('#When validationStatus gets "success", Component should ', function (hooks) {
- hooks.beforeEach(async function () {
- this.set('label', 'nom');
- this.set('validationStatus', 'success');
- this.set('validationMessage', 'message');
- this.set('textfieldName', 'firstname');
-
- // When
- await render(
- hbs``,
- );
- });
-
- test('return true if any img does exist', function (assert) {
- // then
- assert.dom('img').exists({ count: 1 });
- assert.ok(find('img').getAttribute('class').includes('form-textfield-icon__state--success'));
- });
-
- [
- { item: 'Input', itemSelector: INPUT, expectedClass: INPUT_SUCCESS_CLASS },
- { item: 'Div for message validation status', itemSelector: MESSAGE, expectedClass: MESSAGE_SUCCESS_STATUS },
- ].forEach(({ item, itemSelector, expectedClass }) => {
- test(`contain an ${item} with an additional class ${expectedClass}`, function (assert) {
- // then
- assert.ok(find(itemSelector).getAttribute('class').includes(expectedClass));
- });
- });
- });
-
- module('#When password is hidden', function () {
- test('should change type when user click on eye icon', async function (assert) {
- // given
- this.set('label', 'Mot de passe');
- this.set('validationStatus', 'default');
- this.set('validationMessage', 'message');
- this.set('textfieldName', 'password');
-
- // given
- const screen = await render(
- hbs``,
- );
-
- // when
- await click(screen.getByRole('button', { name: t('common.form.visible-password') }));
-
- // then
- assert.strictEqual(find('input').getAttribute('type'), 'text');
- });
-
- test('should change icon when user click on it', async function (assert) {
- // given
- this.set('label', 'Mot de passe');
- this.set('validationStatus', 'default');
- this.set('validationMessage', 'message');
- this.set('textfieldName', 'password');
-
- // given
- const screen = await render(
- hbs``,
- );
-
- // when
- const displayPasswordButton = screen.getByRole('button', { name: t('common.form.visible-password') });
- await click(displayPasswordButton);
-
- // then
- const hidePasswordButton = screen.getByRole('button', {
- name: t('common.form.invisible-password'),
- });
- assert.dom(hidePasswordButton).exists();
- });
- });
- });
-});
diff --git a/mon-pix/tests/integration/components/levelup-notif-test.js b/mon-pix/tests/integration/components/levelup-notif-test.js
index e298cbd2479..74e7d2221ee 100644
--- a/mon-pix/tests/integration/components/levelup-notif-test.js
+++ b/mon-pix/tests/integration/components/levelup-notif-test.js
@@ -20,6 +20,8 @@ module('Integration | Component | levelup-notif', function (hooks) {
test('displays the new reached level and associated competence name', async function (assert) {
// given
+ await render(hbs``);
+
this.set('newLevel', 2);
this.set('model', {
title: "Mener une recherche et une veille d'information",
diff --git a/mon-pix/tests/integration/components/routes/login-form-test.js b/mon-pix/tests/integration/components/routes/login-form-test.js
index cb1c6602c92..15196db9454 100644
--- a/mon-pix/tests/integration/components/routes/login-form-test.js
+++ b/mon-pix/tests/integration/components/routes/login-form-test.js
@@ -1,4 +1,4 @@
-import { fillByLabel, render } from '@1024pix/ember-testing-library';
+import { render } from '@1024pix/ember-testing-library';
import Service from '@ember/service';
import { click, fillIn } from '@ember/test-helpers';
import { hbs } from 'ember-cli-htmlbars';
@@ -17,8 +17,8 @@ module('Integration | Component | routes/login-form', function (hooks) {
const screen = await render(hbs``);
// then
- assert.dom(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' })).exists();
- assert.dom(screen.getByLabelText('Mot de passe')).exists();
+ assert.dom(screen.getByRole('textbox', { name: /Adresse e-mail ou identifiant/ })).exists();
+ assert.dom(screen.getByLabelText(/Mot de passe/)).exists();
});
test('should display an error message when authentication fails', async function (assert) {
@@ -34,8 +34,8 @@ module('Integration | Component | routes/login-form', function (hooks) {
sessionStub.authenticate.rejects(errorResponse);
const screen = await render(hbs``);
- await fillByLabel('Adresse e-mail ou identifiant', 'pix@example.net');
- await fillByLabel('Mot de passe', 'Mauvais mot de passe');
+ await fillIn(screen.getByLabelText(/Adresse e-mail ou identifiant/), 'pix@example.net');
+ await fillIn(screen.getByLabelText(/Mot de passe/), 'Mauvais mot de passe');
// when
await click(screen.getByRole('button', { name: t('pages.login-or-register.login-form.button') }));
@@ -47,7 +47,7 @@ module('Integration | Component | routes/login-form', function (hooks) {
test('should display password when user click', async function (assert) {
// given
const screen = await render(hbs``);
- const passwordInput = screen.getByLabelText('Mot de passe');
+ const passwordInput = screen.getByLabelText(/Mot de passe/);
await fillIn(passwordInput, 'pix123');
// when
@@ -65,8 +65,8 @@ module('Integration | Component | routes/login-form', function (hooks) {
// when
const screen = await render(hbs``);
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), 'pix@example.net');
- await fillIn(screen.getByLabelText('Mot de passe'), 'JeMeLoggue1024');
+ await fillIn(screen.getByRole('textbox', { name: /Adresse e-mail ou identifiant/ }), 'pix@example.net');
+ await fillIn(screen.getByLabelText(/Mot de passe/), 'JeMeLoggue1024');
await click(screen.getByRole('button', { name: t('pages.login-or-register.login-form.button') }));
// then
@@ -87,8 +87,8 @@ module('Integration | Component | routes/login-form', function (hooks) {
// when
const screen = await render(hbs``);
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), 'pix@example.net');
- await fillIn(screen.getByLabelText('Mot de passe'), 'JeMeLoggue1024');
+ await fillIn(screen.getByRole('textbox', { name: /Adresse e-mail ou identifiant/ }), 'pix@example.net');
+ await fillIn(screen.getByLabelText(/Mot de passe/), 'JeMeLoggue1024');
await click(screen.getByRole('button', { name: t('pages.login-or-register.login-form.button') }));
// then
@@ -128,8 +128,8 @@ module('Integration | Component | routes/login-form', function (hooks) {
// when
const screen = await render(hbs``);
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), 'pix@example.net');
- await fillIn(screen.getByLabelText('Mot de passe'), 'Mauvais mot de passe');
+ await fillIn(screen.getByRole('textbox', { name: /Adresse e-mail ou identifiant/ }), 'pix@example.net');
+ await fillIn(screen.getByLabelText(/Mot de passe/), 'Mauvais mot de passe');
await click(screen.getByRole('button', { name: t('pages.login-or-register.login-form.button') }));
// then
@@ -178,8 +178,8 @@ module('Integration | Component | routes/login-form', function (hooks) {
hbs``,
);
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), 'pix@example.net');
- await fillIn(screen.getByLabelText('Mot de passe'), 'JeMeLoggue1024');
+ await fillIn(screen.getByRole('textbox', { name: /Adresse e-mail ou identifiant/ }), 'pix@example.net');
+ await fillIn(screen.getByLabelText(/Mot de passe/), 'JeMeLoggue1024');
// when
await click(screen.getByRole('button', { name: t('pages.login-or-register.login-form.button') }));
@@ -208,8 +208,8 @@ module('Integration | Component | routes/login-form', function (hooks) {
hbs``,
);
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), 'pix@example.net');
- await fillIn(screen.getByLabelText('Mot de passe'), 'JeMeLoggue1024');
+ await fillIn(screen.getByRole('textbox', { name: /Adresse e-mail ou identifiant/ }), 'pix@example.net');
+ await fillIn(screen.getByLabelText(/Mot de passe/), 'JeMeLoggue1024');
// when
await click(screen.getByRole('button', { name: t('pages.login-or-register.login-form.button') }));
@@ -242,8 +242,8 @@ module('Integration | Component | routes/login-form', function (hooks) {
hbs``,
);
- await fillIn(screen.getByRole('textbox', { name: 'Adresse e-mail ou identifiant' }), 'pix@example.net');
- await fillIn(screen.getByLabelText('Mot de passe'), 'JeMeLoggue1024');
+ await fillIn(screen.getByRole('textbox', { name: /Adresse e-mail ou identifiant/ }), 'pix@example.net');
+ await fillIn(screen.getByLabelText(/Mot de passe/), 'JeMeLoggue1024');
// when
await click(screen.getByRole('button', { name: t('pages.login-or-register.login-form.button') }));
diff --git a/mon-pix/tests/integration/components/routes/register-form-test.js b/mon-pix/tests/integration/components/routes/register-form-test.js
index f32f98ed1d1..71ed316a4b4 100644
--- a/mon-pix/tests/integration/components/routes/register-form-test.js
+++ b/mon-pix/tests/integration/components/routes/register-form-test.js
@@ -10,8 +10,8 @@ import ENV from '../../../../config/environment';
import { stubSessionService } from '../../../helpers/service-stubs.js';
import setupIntlRenderingTest from '../../../helpers/setup-intl-rendering';
-const EMAIL_INPUT_LABEL = '* Adresse e-mail (ex: nom@exemple.fr)';
-const PASSWORD_INPUT_LABEL = '* Mot de passe (8 caractères minimum, dont une majuscule, une minuscule et un chiffre)';
+const EMAIL_INPUT_LABEL = 'Adresse e-mail';
+const PASSWORD_INPUT_LABEL = 'Mot de passe';
const EMPTY_FIRSTNAME_ERROR_MESSAGE = 'Votre prénom n’est pas renseigné.';
const EMPTY_LASTNAME_ERROR_MESSAGE = 'Votre nom n’est pas renseigné.';
@@ -77,8 +77,8 @@ module('Integration | Component | routes/register-form', function (hooks) {
await click(screen.getByText('Mon adresse e-mail'));
- await fillIn(screen.getByRole('textbox', { name: EMAIL_INPUT_LABEL }), 'shi@fu.me');
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), 'Mypassword1');
+ await fillIn(screen.getByLabelText(EMAIL_INPUT_LABEL, { exact: false }), 'shi@fu.me');
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), 'Mypassword1');
// when
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
@@ -98,7 +98,7 @@ module('Integration | Component | routes/register-form', function (hooks) {
await fillInputReconciliationForm({ screen, t });
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), 'Mypassword1');
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), 'Mypassword1');
// when
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
@@ -134,8 +134,8 @@ module('Integration | Component | routes/register-form', function (hooks) {
const screen = await render(hbs``);
// when
- await fillIn(screen.getByRole('textbox', { name: '* Prénom' }), stringFilledIn);
- await triggerEvent(screen.getByRole('textbox', { name: '* Prénom' }), 'focusout');
+ await fillIn(screen.getByLabelText(/Prénom/, { exact: false }), stringFilledIn);
+ await triggerEvent(screen.getByLabelText(/Prénom/, { exact: false }), 'focusout');
// then
assert.dom(screen.getByText(EMPTY_FIRSTNAME_ERROR_MESSAGE)).exists();
@@ -148,8 +148,8 @@ module('Integration | Component | routes/register-form', function (hooks) {
const screen = await render(hbs``);
// when
- await fillIn(screen.getByRole('textbox', { name: '* Nom' }), stringFilledIn);
- await triggerEvent(screen.getByRole('textbox', { name: '* Nom' }), 'focusout');
+ await fillIn(screen.getByLabelText(/Nom/, { exact: false }), stringFilledIn);
+ await triggerEvent(screen.getByLabelText(/Nom/, { exact: false }), 'focusout');
// then
assert.dom(screen.getByText(EMPTY_LASTNAME_ERROR_MESSAGE)).exists();
@@ -216,8 +216,8 @@ module('Integration | Component | routes/register-form', function (hooks) {
// when
await click(screen.getByText('Mon adresse e-mail'));
- await fillIn(screen.getByRole('textbox', { name: EMAIL_INPUT_LABEL }), stringFilledIn);
- await triggerEvent(screen.getByRole('textbox', { name: EMAIL_INPUT_LABEL }), 'focusout');
+ await fillIn(screen.getByLabelText(EMAIL_INPUT_LABEL, { exact: false }), stringFilledIn);
+ await triggerEvent(screen.getByLabelText(EMAIL_INPUT_LABEL, { exact: false }), 'focusout');
// then
assert.dom(screen.getByText(EMPTY_EMAIL_ERROR_MESSAGE)).exists();
@@ -239,8 +239,8 @@ module('Integration | Component | routes/register-form', function (hooks) {
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
// when
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), stringFilledIn);
- await triggerEvent(screen.getByLabelText(PASSWORD_INPUT_LABEL), 'focusout');
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), stringFilledIn);
+ await triggerEvent(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), 'focusout');
// then
assert.dom(screen.getByText(INCORRECT_PASSWORD_FORMAT_ERROR_MESSAGE)).exists();
@@ -257,8 +257,8 @@ module('Integration | Component | routes/register-form', function (hooks) {
// when
await click(screen.getByText('Mon adresse e-mail'));
- await fillIn(screen.getByRole('textbox', { name: EMAIL_INPUT_LABEL }), 'shi.fu');
- await triggerEvent(screen.getByRole('textbox', { name: EMAIL_INPUT_LABEL }), 'focusout');
+ await fillIn(screen.getByLabelText(EMAIL_INPUT_LABEL, { exact: false }), 'shi.fu');
+ await triggerEvent(screen.getByLabelText(EMAIL_INPUT_LABEL, { exact: false }), 'focusout');
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
// then
@@ -278,7 +278,7 @@ module('Integration | Component | routes/register-form', function (hooks) {
await fillInputReconciliationForm({ screen, t });
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), 'Mypassword1');
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), 'Mypassword1');
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
// then
@@ -307,7 +307,7 @@ module('Integration | Component | routes/register-form', function (hooks) {
await fillInputReconciliationForm({ screen, t });
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), 'Mypassword1');
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), 'Mypassword1');
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
// then
@@ -323,8 +323,8 @@ module('Integration | Component | routes/register-form', function (hooks) {
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
// when
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), 'toto');
- await triggerEvent(screen.getByLabelText(PASSWORD_INPUT_LABEL), 'focusout');
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), 'toto');
+ await triggerEvent(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), 'focusout');
await click(screen.getByRole('button', { name: t('pages.login-or-register.register-form.button-form') }));
// then
@@ -748,8 +748,8 @@ module('Integration | Component | routes/register-form', function (hooks) {
});
async function fillInputReconciliationForm({ screen, t }) {
- await fillIn(screen.getByRole('textbox', { name: '* Prénom' }), 'Legolas');
- await fillIn(screen.getByRole('textbox', { name: '* Nom' }), 'Vertefeuille');
+ await fillIn(screen.getByLabelText(/Prénom/, { exact: false }), 'Legolas');
+ await fillIn(screen.getByLabelText(/Nom/, { exact: false }), 'Vertefeuille');
await fillIn(
screen.getByRole('spinbutton', {
name: t('pages.login-or-register.register-form.fields.birthdate.day.label'),
diff --git a/mon-pix/tests/integration/components/update-expired-password-form-test.js b/mon-pix/tests/integration/components/update-expired-password-form-test.js
index 61ff86b12f2..a735864e1cf 100644
--- a/mon-pix/tests/integration/components/update-expired-password-form-test.js
+++ b/mon-pix/tests/integration/components/update-expired-password-form-test.js
@@ -11,7 +11,7 @@ import setupIntlRenderingTest from '../../helpers/setup-intl-rendering';
const ApiErrorMessages = ENV.APP.API_ERROR_MESSAGES;
-const PASSWORD_INPUT_LABEL = '* Mot de passe (8 caractères minimum, dont une majuscule, une minuscule et un chiffre)';
+const PASSWORD_INPUT_LABEL = 'Mot de passe';
module('Integration | Component | update-expired-password-form', function (hooks) {
setupIntlRenderingTest(hooks);
@@ -23,7 +23,7 @@ module('Integration | Component | update-expired-password-form', function (hooks
//then
assert.dom(screen.getByRole('heading', { name: 'Réinitialiser le mot de passe' })).exists();
assert.dom(screen.getByRole('button', { name: 'Réinitialiser' })).exists();
- assert.dom(screen.getByLabelText(PASSWORD_INPUT_LABEL)).exists();
+ assert.dom(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false })).exists();
});
module('successful cases', function () {
@@ -43,13 +43,13 @@ module('Integration | Component | update-expired-password-form', function (hooks
);
// when
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), newPassword);
- await triggerEvent(screen.getByLabelText(PASSWORD_INPUT_LABEL), 'change');
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), newPassword);
+ await triggerEvent(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), 'change');
await click(screen.getByRole('button', { name: 'Réinitialiser' }));
// then
- assert.dom(screen.queryByLabelText(PASSWORD_INPUT_LABEL)).doesNotExist();
+ assert.dom(screen.queryByLabelText(PASSWORD_INPUT_LABEL, { exact: false })).doesNotExist();
assert.dom(screen.getByText('Votre mot de passe a été mis à jour.')).exists();
});
});
@@ -71,8 +71,8 @@ module('Integration | Component | update-expired-password-form', function (hooks
);
// when
- await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL), newPassword);
- await triggerEvent(screen.getByLabelText(PASSWORD_INPUT_LABEL), 'change');
+ await fillIn(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), newPassword);
+ await triggerEvent(screen.getByLabelText(PASSWORD_INPUT_LABEL, { exact: false }), 'change');
await click(screen.getByRole('button', { name: 'Réinitialiser' }));
diff --git a/mon-pix/tests/unit/components/form-textfield-test.js b/mon-pix/tests/unit/components/form-textfield-test.js
deleted file mode 100644
index 12de814088a..00000000000
--- a/mon-pix/tests/unit/components/form-textfield-test.js
+++ /dev/null
@@ -1,68 +0,0 @@
-import { setupTest } from 'ember-qunit';
-import createGlimmerComponent from 'mon-pix/tests/helpers/create-glimmer-component';
-import { module, test } from 'qunit';
-
-module('Unit | Component | form-textfield', function (hooks) {
- setupTest(hooks);
-
- let component;
- hooks.beforeEach(function () {
- component = createGlimmerComponent('form-textfield');
- });
-
- module('#textfieldType', function () {
- [
- { type: 'text', inputId: 'shi' },
- { type: 'text', inputId: '' },
- { type: 'email', inputId: 'email' },
- { type: 'password', inputId: 'password' },
- ].forEach((data) => {
- test(`should return ${data.type} when input id is ${data.inputId}`, function (assert) {
- // given
- component.args.textfieldName = data.inputId;
- // when
- const inputType = component.textfieldType;
- // then
- assert.strictEqual(inputType, data.type);
- });
- });
- });
-
- module('#validationStatus', function () {
- test('should return default values when validationStatus is "default"', function (assert) {
- // When
- component.args.validationStatus = 'default';
-
- // Then
- assert.false(component.hasIcon);
- assert.strictEqual(component.iconType, '');
- assert.strictEqual(component.inputValidationStatus, 'form-textfield__input--default');
- assert.strictEqual(component.inputContainerStatusClass, 'form-textfield__input-container--default');
- assert.strictEqual(component.validationMessageClass, 'form-textfield__message--default');
- });
-
- test('should return error values when validationStatus is "error"', function (assert) {
- // When
- component.args.validationStatus = 'error';
-
- // Then
- assert.true(component.hasIcon);
- assert.strictEqual(component.iconType, 'error');
- assert.strictEqual(component.inputValidationStatus, 'form-textfield__input--error');
- assert.strictEqual(component.inputContainerStatusClass, 'form-textfield__input-container--error');
- assert.strictEqual(component.validationMessageClass, 'form-textfield__message--error');
- });
-
- test('should return success values when validationStatus is "success"', function (assert) {
- // When
- component.args.validationStatus = 'success';
-
- // Then
- assert.true(component.hasIcon);
- assert.strictEqual(component.iconType, 'success');
- assert.strictEqual(component.inputValidationStatus, 'form-textfield__input--success');
- assert.strictEqual(component.inputContainerStatusClass, 'form-textfield__input-container--success');
- assert.strictEqual(component.validationMessageClass, 'form-textfield__message--success');
- });
- });
-});