V14 QA Added Log Viewer Tests (#15108)
* Added log viewer tests, not done yet * Updated auth to work * Updated the authentication test * Cleaned up the Logviewer tests * Removed old acceptance tests * Fixed failing test * Updated old tests and added additional log viewer tests * Bumped version and deleted duplicate dependencies * Fixed naming * Added a TODO
This commit is contained in:
739
tests/Umbraco.Tests.AcceptanceTest/package-lock.json
generated
739
tests/Umbraco.Tests.AcceptanceTest/package-lock.json
generated
@@ -8,7 +8,7 @@
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@umbraco/json-models-builders": "^1.0.6",
|
||||
"@umbraco/playwright-testhelpers": "2.0.0-beta.2",
|
||||
"@umbraco/playwright-testhelpers": "2.0.0-beta.4",
|
||||
"camelize": "^1.0.0",
|
||||
"dotenv": "^16.3.1",
|
||||
"faker": "^4.1.0",
|
||||
@@ -122,10 +122,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "14.17.33",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.33.tgz",
|
||||
"integrity": "sha512-noEeJ06zbn3lOh4gqe2v7NMGS33jrulfNqYFDjjEbhpDEHR5VTxgYNQSBqBlJIsBJW3uEYDgD6kvMnrrhGzq8g==",
|
||||
"dev": true
|
||||
"version": "7.10.14",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.14.tgz",
|
||||
"integrity": "sha512-29GS75BE8asnTno3yB6ubOJOO0FboExEqNJy4bpz0GSmW/8wPTNL4h9h63c6s1uTrOopCmJYe/4yJLh5r92ZUA=="
|
||||
},
|
||||
"node_modules/@umbraco/json-models-builders": {
|
||||
"version": "1.0.6",
|
||||
@@ -137,10 +136,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@umbraco/playwright-testhelpers": {
|
||||
"version": "2.0.0-beta.2",
|
||||
"resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-2.0.0-beta.2.tgz",
|
||||
"integrity": "sha512-l3oTEYOgvdCnmFfIcJBzHhwVvp31JvnD8GSNxpWabFBTg6Ov5ZTdU9MaUhuEUdwMdmGdligh20X6zyDoal2eJQ==",
|
||||
"version": "2.0.0-beta.4",
|
||||
"resolved": "file:../../../LogViewerHelpers/umbraco-playwright-testhelpers-2.0.0-beta.4.tgz",
|
||||
"integrity": "sha512-Ea0U9BdtKI1hHECUl5F8qny2NKcQ75MJHC/FblauzejjXvE9lIAXzkhcqoZl7vxlVgF/Ihz5nBNuEYQ4HMI5lg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/node": "^7.0.5",
|
||||
"@umbraco/json-models-builders": "^1.0.6",
|
||||
"camelize": "^1.0.0",
|
||||
"faker": "^4.1.0",
|
||||
@@ -220,9 +221,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/camelize": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz",
|
||||
"integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz",
|
||||
"integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/clean-stack": {
|
||||
"version": "2.2.0",
|
||||
@@ -1002,718 +1006,5 @@
|
||||
"node": ">= 6"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@colors/colors": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
|
||||
"integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@hapi/hoek": {
|
||||
"version": "9.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
|
||||
"integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@hapi/topo": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
|
||||
"integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@hapi/hoek": "^9.0.0"
|
||||
}
|
||||
},
|
||||
"@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@nodelib/fs.stat": "2.0.5",
|
||||
"run-parallel": "^1.1.9"
|
||||
}
|
||||
},
|
||||
"@nodelib/fs.stat": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
|
||||
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
|
||||
"dev": true
|
||||
},
|
||||
"@nodelib/fs.walk": {
|
||||
"version": "1.2.8",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
|
||||
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@nodelib/fs.scandir": "2.1.5",
|
||||
"fastq": "^1.6.0"
|
||||
}
|
||||
},
|
||||
"@playwright/test": {
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.38.0.tgz",
|
||||
"integrity": "sha512-xis/RXXsLxwThKnlIXouxmIvvT3zvQj1JE39GsNieMUrMpb3/GySHDh2j8itCG22qKVD4MYLBp7xB73cUW/UUw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"playwright": "1.38.0"
|
||||
}
|
||||
},
|
||||
"@sideway/address": {
|
||||
"version": "4.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
|
||||
"integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@hapi/hoek": "^9.0.0"
|
||||
}
|
||||
},
|
||||
"@sideway/formula": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
|
||||
"integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==",
|
||||
"dev": true
|
||||
},
|
||||
"@sideway/pinpoint": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
|
||||
"integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "14.17.33",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.33.tgz",
|
||||
"integrity": "sha512-noEeJ06zbn3lOh4gqe2v7NMGS33jrulfNqYFDjjEbhpDEHR5VTxgYNQSBqBlJIsBJW3uEYDgD6kvMnrrhGzq8g==",
|
||||
"dev": true
|
||||
},
|
||||
"@umbraco/json-models-builders": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@umbraco/json-models-builders/-/json-models-builders-1.0.6.tgz",
|
||||
"integrity": "sha512-bXwfXcpuqG1Ye714L9KJEGXuSzJfckysE/6CuPjdG8FqHWTE1brv28teR2oMw+ih8ca2u2zUboRgdzLEU/1D3Q==",
|
||||
"requires": {
|
||||
"camelize": "^1.0.0",
|
||||
"faker": "^4.1.0"
|
||||
}
|
||||
},
|
||||
"@umbraco/playwright-testhelpers": {
|
||||
"version": "1.0.25",
|
||||
"resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-1.0.25.tgz",
|
||||
"integrity": "sha512-6H452J6LhP0EHjF4jR7V7i0U8WPTiAbSyhN1J459BbbYEJ4QX1A2ZlCdA6VSBAsK1xYdMXD+yxsVJq7AAwiy9A==",
|
||||
"requires": {
|
||||
"@umbraco/json-models-builders": "^1.0.6",
|
||||
"camelize": "^1.0.0",
|
||||
"faker": "^4.1.0",
|
||||
"form-data": "^4.0.0",
|
||||
"node-fetch": "^2.6.7",
|
||||
"xhr2": "^0.2.1"
|
||||
}
|
||||
},
|
||||
"aggregate-error": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
|
||||
"integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"clean-stack": "^2.0.0",
|
||||
"indent-string": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"array-union": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
|
||||
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
|
||||
"dev": true
|
||||
},
|
||||
"async": {
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
|
||||
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
|
||||
"dev": true
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||
},
|
||||
"axios": {
|
||||
"version": "0.25.0",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz",
|
||||
"integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"follow-redirects": "^1.14.7"
|
||||
}
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"braces": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fill-range": "^7.0.1"
|
||||
}
|
||||
},
|
||||
"camelize": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz",
|
||||
"integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
|
||||
},
|
||||
"clean-stack": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
|
||||
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
|
||||
"dev": true
|
||||
},
|
||||
"colors": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
|
||||
"integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==",
|
||||
"dev": true
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"requires": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||
"dev": true
|
||||
},
|
||||
"cycle": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
|
||||
"integrity": "sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==",
|
||||
"dev": true
|
||||
},
|
||||
"del": {
|
||||
"version": "6.1.1",
|
||||
"resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz",
|
||||
"integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"globby": "^11.0.1",
|
||||
"graceful-fs": "^4.2.4",
|
||||
"is-glob": "^4.0.1",
|
||||
"is-path-cwd": "^2.2.0",
|
||||
"is-path-inside": "^3.0.2",
|
||||
"p-map": "^4.0.0",
|
||||
"rimraf": "^3.0.2",
|
||||
"slash": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||
},
|
||||
"dir-glob": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
|
||||
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"path-type": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"dotenv": {
|
||||
"version": "16.0.2",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz",
|
||||
"integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA=="
|
||||
},
|
||||
"eyes": {
|
||||
"version": "0.1.8",
|
||||
"resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
|
||||
"integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==",
|
||||
"dev": true
|
||||
},
|
||||
"faker": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/faker/-/faker-4.1.0.tgz",
|
||||
"integrity": "sha1-HkW7vsxndLPBlfrSg1EJxtdIzD8="
|
||||
},
|
||||
"fast-glob": {
|
||||
"version": "3.2.12",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
|
||||
"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@nodelib/fs.stat": "^2.0.2",
|
||||
"@nodelib/fs.walk": "^1.2.3",
|
||||
"glob-parent": "^5.1.2",
|
||||
"merge2": "^1.3.0",
|
||||
"micromatch": "^4.0.4"
|
||||
}
|
||||
},
|
||||
"fastq": {
|
||||
"version": "1.13.0",
|
||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
|
||||
"integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"reusify": "^1.0.4"
|
||||
}
|
||||
},
|
||||
"fill-range": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"to-regex-range": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"follow-redirects": {
|
||||
"version": "1.15.2",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
|
||||
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
|
||||
"dev": true
|
||||
},
|
||||
"form-data": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
||||
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
||||
"dev": true
|
||||
},
|
||||
"fsevents": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.1.1",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-glob": "^4.0.1"
|
||||
}
|
||||
},
|
||||
"globby": {
|
||||
"version": "11.1.0",
|
||||
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
|
||||
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"array-union": "^2.1.0",
|
||||
"dir-glob": "^3.0.1",
|
||||
"fast-glob": "^3.2.9",
|
||||
"ignore": "^5.2.0",
|
||||
"merge2": "^1.4.1",
|
||||
"slash": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.2.10",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
|
||||
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
|
||||
"dev": true
|
||||
},
|
||||
"ignore": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
|
||||
"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
|
||||
"dev": true
|
||||
},
|
||||
"indent-string": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
|
||||
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
|
||||
"dev": true
|
||||
},
|
||||
"inflight": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||
"dev": true
|
||||
},
|
||||
"is-extglob": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
||||
"dev": true
|
||||
},
|
||||
"is-glob": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-extglob": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"is-number": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||
"dev": true
|
||||
},
|
||||
"is-path-cwd": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
|
||||
"integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
|
||||
"dev": true
|
||||
},
|
||||
"is-path-inside": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
|
||||
"integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
|
||||
"dev": true
|
||||
},
|
||||
"isstream": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
||||
"integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
|
||||
"dev": true
|
||||
},
|
||||
"joi": {
|
||||
"version": "17.6.3",
|
||||
"resolved": "https://registry.npmjs.org/joi/-/joi-17.6.3.tgz",
|
||||
"integrity": "sha512-YlQsIaS9MHYekzf1Qe11LjTkNzx9qhYluK3172z38RxYoAUf82XMX1p1DG1H4Wtk2ED/vPdSn9OggqtDu+aTow==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@hapi/hoek": "^9.0.0",
|
||||
"@hapi/topo": "^5.0.0",
|
||||
"@sideway/address": "^4.1.3",
|
||||
"@sideway/formula": "^3.0.0",
|
||||
"@sideway/pinpoint": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
},
|
||||
"merge2": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
|
||||
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
|
||||
"dev": true
|
||||
},
|
||||
"micromatch": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
|
||||
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"braces": "^3.0.2",
|
||||
"picomatch": "^2.3.1"
|
||||
}
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.51.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
|
||||
"integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g=="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.34",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
|
||||
"integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
|
||||
"requires": {
|
||||
"mime-db": "1.51.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
|
||||
"integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
|
||||
"dev": true
|
||||
},
|
||||
"mute-stream": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
|
||||
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
|
||||
"dev": true
|
||||
},
|
||||
"ncp": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
|
||||
"integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==",
|
||||
"dev": true
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.7",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
|
||||
"requires": {
|
||||
"whatwg-url": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"p-map": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
|
||||
"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"aggregate-error": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
|
||||
"dev": true
|
||||
},
|
||||
"path-type": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
||||
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
||||
"dev": true
|
||||
},
|
||||
"picomatch": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||
"dev": true
|
||||
},
|
||||
"playwright": {
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.38.0.tgz",
|
||||
"integrity": "sha512-fJGw+HO0YY+fU/F1N57DMO+TmXHTrmr905J05zwAQE9xkuwP/QLDk63rVhmyxh03dYnEhnRbsdbH9B0UVVRB3A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fsevents": "2.3.2",
|
||||
"playwright-core": "1.38.0"
|
||||
}
|
||||
},
|
||||
"playwright-core": {
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.38.0.tgz",
|
||||
"integrity": "sha512-f8z1y8J9zvmHoEhKgspmCvOExF2XdcxMW8jNRuX4vkQFrzV4MlZ55iwb5QeyiFQgOFCUolXiRHgpjSEnqvO48g==",
|
||||
"dev": true
|
||||
},
|
||||
"prompt": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/prompt/-/prompt-1.3.0.tgz",
|
||||
"integrity": "sha512-ZkaRWtaLBZl7KKAKndKYUL8WqNT+cQHKRZnT4RYYms48jQkFw3rrBL+/N5K/KtdEveHkxs982MX2BkDKub2ZMg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@colors/colors": "1.5.0",
|
||||
"async": "3.2.3",
|
||||
"read": "1.0.x",
|
||||
"revalidator": "0.1.x",
|
||||
"winston": "2.x"
|
||||
}
|
||||
},
|
||||
"queue-microtask": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
|
||||
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
|
||||
"dev": true
|
||||
},
|
||||
"read": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
|
||||
"integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mute-stream": "~0.0.4"
|
||||
}
|
||||
},
|
||||
"reusify": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
|
||||
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
|
||||
"dev": true
|
||||
},
|
||||
"revalidator": {
|
||||
"version": "0.1.8",
|
||||
"resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz",
|
||||
"integrity": "sha512-xcBILK2pA9oh4SiinPEZfhP8HfrB/ha+a2fTMyl7Om2WjlDVrOQy99N2MXXlUHqGJz4qEu2duXxHJjDWuK/0xg==",
|
||||
"dev": true
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
||||
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.1.3"
|
||||
}
|
||||
},
|
||||
"run-parallel": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
|
||||
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"queue-microtask": "^1.2.2"
|
||||
}
|
||||
},
|
||||
"rxjs": {
|
||||
"version": "7.5.7",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz",
|
||||
"integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"tslib": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"slash": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
|
||||
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
|
||||
"dev": true
|
||||
},
|
||||
"stack-trace": {
|
||||
"version": "0.0.10",
|
||||
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
|
||||
"integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==",
|
||||
"dev": true
|
||||
},
|
||||
"to-regex-range": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-number": "^7.0.0"
|
||||
}
|
||||
},
|
||||
"tr46": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||
},
|
||||
"tslib": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
||||
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
|
||||
"dev": true
|
||||
},
|
||||
"typescript": {
|
||||
"version": "4.8.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz",
|
||||
"integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==",
|
||||
"dev": true
|
||||
},
|
||||
"wait-on": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz",
|
||||
"integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"axios": "^0.25.0",
|
||||
"joi": "^17.6.0",
|
||||
"lodash": "^4.17.21",
|
||||
"minimist": "^1.2.5",
|
||||
"rxjs": "^7.5.4"
|
||||
}
|
||||
},
|
||||
"webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
|
||||
},
|
||||
"whatwg-url": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||
"requires": {
|
||||
"tr46": "~0.0.3",
|
||||
"webidl-conversions": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"winston": {
|
||||
"version": "2.4.6",
|
||||
"resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz",
|
||||
"integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async": "^3.2.3",
|
||||
"colors": "1.0.x",
|
||||
"cycle": "1.0.x",
|
||||
"eyes": "0.1.x",
|
||||
"isstream": "0.1.x",
|
||||
"stack-trace": "0.0.x"
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
||||
"dev": true
|
||||
},
|
||||
"xhr2": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz",
|
||||
"integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,8 +11,6 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@playwright/test": "^1.38",
|
||||
"typescript": "^4.8.3",
|
||||
"tslib": "^2.4.0",
|
||||
"del": "^6.0.0",
|
||||
"ncp": "^2.0.0",
|
||||
"prompt": "^1.2.0",
|
||||
@@ -22,7 +20,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@umbraco/json-models-builders": "^1.0.6",
|
||||
"@umbraco/playwright-testhelpers": "2.0.0-beta.2",
|
||||
"@umbraco/playwright-testhelpers": "2.0.0-beta.4",
|
||||
"camelize": "^1.0.0",
|
||||
"dotenv": "^16.3.1",
|
||||
"faker": "^4.1.0",
|
||||
|
||||
@@ -1,123 +0,0 @@
|
||||
import {AliasHelper, ApiHelpers, test} from '@umbraco/playwright-testhelpers';
|
||||
import {expect} from "@playwright/test";
|
||||
import {ContentBuilder, DocumentTypeBuilder, MacroBuilder, PartialViewMacroBuilder} from "@umbraco/playwright-models";
|
||||
|
||||
test.describe('Test for AllowEditInvariantFromNonDefault=False', () => {
|
||||
const rootDocTypeName = 'TestDocument';
|
||||
const languageEn = 'en-US';
|
||||
const languageDa = 'da';
|
||||
|
||||
test.beforeEach(async ({page, umbracoApi}) => {
|
||||
await umbracoApi.login();
|
||||
await umbracoApi.content.deleteAllContent();
|
||||
await umbracoApi.documentTypes.ensureNameNotExists(rootDocTypeName);
|
||||
await umbracoApi.languages.ensureCultureNotExists(languageDa);
|
||||
await umbracoApi.templates.ensureNameNotExists(rootDocTypeName);
|
||||
});
|
||||
|
||||
test.afterEach(async ({page, umbracoApi}) => {
|
||||
await umbracoApi.content.deleteAllContent();
|
||||
await umbracoApi.documentTypes.ensureNameNotExists(rootDocTypeName);
|
||||
await umbracoApi.languages.ensureCultureNotExists(languageDa);
|
||||
await umbracoApi.templates.ensureNameNotExists(rootDocTypeName);
|
||||
});
|
||||
|
||||
async function createDocWithCultureVariationWithContent(umbracoApi, name, alias, language1, language2, value, isPublished){
|
||||
const rootDocType = new DocumentTypeBuilder()
|
||||
.withName(name)
|
||||
.withAlias(alias)
|
||||
.withAllowAsRoot(true)
|
||||
.withAllowCultureVariation(true)
|
||||
.withDefaultTemplate(alias)
|
||||
.addGroup()
|
||||
.withName("Content")
|
||||
.addTextBoxProperty()
|
||||
.withLabel("Title")
|
||||
.withAlias("title")
|
||||
.done()
|
||||
.done()
|
||||
.build();
|
||||
|
||||
await umbracoApi.documentTypes.save(rootDocType).then(async (generatedRootDocType) => {
|
||||
const childContentNode = new ContentBuilder()
|
||||
.withContentTypeAlias(generatedRootDocType["alias"])
|
||||
.withAction("publishNew")
|
||||
.addVariant()
|
||||
.withCulture(language1)
|
||||
.withName(language1)
|
||||
.withSave(true)
|
||||
.withPublish(isPublished)
|
||||
.addProperty()
|
||||
.withAlias("title")
|
||||
.withValue(value)
|
||||
.done()
|
||||
.done()
|
||||
.addVariant()
|
||||
.withCulture(language2)
|
||||
.withName(language2)
|
||||
.withSave(true)
|
||||
.withPublish(isPublished)
|
||||
.done()
|
||||
.build();
|
||||
|
||||
await umbracoApi.content.save(childContentNode);
|
||||
});
|
||||
}
|
||||
|
||||
test('No edit button for content when language changed', async ({page, umbracoApi, umbracoUi}) => {
|
||||
const alias = AliasHelper.toAlias(rootDocTypeName);
|
||||
|
||||
await umbracoApi.languages.createLanguage(languageDa, false, 1);
|
||||
await createDocWithCultureVariationWithContent(umbracoApi, rootDocTypeName, alias, languageEn, languageDa, "", false);
|
||||
|
||||
await umbracoUi.refreshContentTree();
|
||||
await page.locator('[data-element="tree-item-' + languageEn + '"]').click();
|
||||
await page.locator('.umb-variant-switcher__toggle').click();
|
||||
await page.locator('.umb-variant-switcher__name-wrapper', {hasText: "Danish"}).click();
|
||||
|
||||
// Assert
|
||||
await expect(await page.locator('.umb-property-editor__lock-overlay')).not.toBeVisible();
|
||||
|
||||
// Cleaned
|
||||
});
|
||||
|
||||
test('Updating value and publishing non-default language only without saving default should not update value', async ({page, umbracoApi, umbracoUi}) => {
|
||||
const text = 'USA';
|
||||
const updatedText = 'DENMARK';
|
||||
const endpoint = '/';
|
||||
const alias = AliasHelper.toAlias(rootDocTypeName);
|
||||
|
||||
await umbracoApi.languages.createLanguage(languageDa, false, 1);
|
||||
await createDocWithCultureVariationWithContent(umbracoApi, rootDocTypeName, alias, languageEn, languageDa, text, true);
|
||||
await umbracoApi.templates.edit(rootDocTypeName, `@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
@{
|
||||
if (Model.HasValue("title")){
|
||||
@(Model.Value("title"))
|
||||
}
|
||||
} `
|
||||
);
|
||||
const contentId = await umbracoApi.content.getContentId(languageEn);
|
||||
const langId = await umbracoApi.languages.getLanguageId(languageDa);
|
||||
await umbracoApi.domain.createDomain(endpoint, contentId, langId);
|
||||
|
||||
await umbracoUi.refreshContentTree();
|
||||
await page.locator('[data-element="tree-item-' + languageEn + '"]').click();
|
||||
await page.locator('.umb-variant-switcher__toggle').click();
|
||||
await page.locator('.umb-variant-switcher__name-wrapper', {hasText: "Danish"}).hover();
|
||||
await page.locator('[role="button"]', {hasText: "Open in split view"}).click();
|
||||
|
||||
await page.locator('.umb-split-view', {hasText: languageEn}).locator('[name="textbox"]').fill(updatedText);
|
||||
await page.locator('[label-key="buttons_morePublishingOptions"]').click();
|
||||
await page.locator('.umb-list-item', {hasText: "English"}).locator('.umb-form-check__check').click();
|
||||
await page.locator('[alias="overlaySubmit"]').click();
|
||||
|
||||
// Assert
|
||||
await page.waitForTimeout(500);
|
||||
await expect(await umbracoApi.content.verifyRenderedContent(endpoint, text, true)).toBeTruthy();
|
||||
|
||||
// Cleaned
|
||||
});
|
||||
});
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Umbraco": {
|
||||
"CMS": {
|
||||
"Content": {
|
||||
"AllowEditInvariantFromNonDefault": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
import {test} from '@umbraco/playwright-testhelpers';
|
||||
import {expect} from "@playwright/test";
|
||||
|
||||
test.describe('Log Viewer tests', () => {
|
||||
|
||||
test('can search', async ({page, umbracoApi, umbracoUi, request}) => {
|
||||
// Arrange
|
||||
const startTelemetryLevel = await umbracoApi.telemetry.getLevel();
|
||||
const telemetryLevel = "Minimal";
|
||||
await umbracoApi.telemetry.setLevel(telemetryLevel);
|
||||
|
||||
// Act
|
||||
await page.goto(umbracoApi.baseUrl + '/umbraco');
|
||||
await umbracoUi.goToSettingsTreeItem('Log Viewer');
|
||||
await page.getByRole('tab', {name: 'Search'}).click({force: true});
|
||||
await page.getByPlaceholder('Search logs...').fill(telemetryLevel);
|
||||
|
||||
// Assert
|
||||
// Checks if there is a log with the telemetry level to minimal
|
||||
await expect(page.getByRole('group').first()).toContainText('Telemetry level set to "' + telemetryLevel + '"');
|
||||
|
||||
// Clean
|
||||
await umbracoApi.telemetry.setLevel(startTelemetryLevel);
|
||||
});
|
||||
|
||||
test('can change the search log level', async ({page, umbracoApi, umbracoUi}) => {
|
||||
// Arrange
|
||||
const logInformation = await umbracoApi.logViewer.getLevelCount();
|
||||
const expectedLogCount = Math.min(logInformation.information, 100);
|
||||
|
||||
// Act
|
||||
await page.goto(umbracoApi.baseUrl + '/umbraco');
|
||||
await umbracoUi.goToSettingsTreeItem('Log Viewer');
|
||||
await page.getByRole('tab', {name: 'Search'}).click({force: true});
|
||||
await page.getByRole('button', {name: 'Select log levels'}).click();
|
||||
await page.locator('.log-level-menu-item').getByText('Information').click();
|
||||
|
||||
// Assert
|
||||
// Check if the search log level indicator is visible
|
||||
await expect(page.locator('.log-level-button-indicator', {hasText: 'Information'})).toBeVisible();
|
||||
// Check if the log count matches the expected count
|
||||
await expect(page.locator('umb-log-viewer-message').locator('umb-log-viewer-level-tag', {hasText: 'Information'})).toHaveCount(expectedLogCount);
|
||||
});
|
||||
|
||||
test('can create a saved search', async ({page, umbracoApi, umbracoUi}) => {
|
||||
// Arrange
|
||||
const searchName = 'Test';
|
||||
const search = 'Acquiring MainDom';
|
||||
await umbracoApi.logViewer.deleteSavedSearch(searchName);
|
||||
|
||||
// Act
|
||||
await page.goto(umbracoApi.baseUrl + '/umbraco');
|
||||
await umbracoUi.goToSettingsTreeItem('Log Viewer');
|
||||
await page.getByRole('tab', {name: 'Search'}).click({force: true});
|
||||
await page.getByPlaceholder('Search logs...').fill(search);
|
||||
await page.getByLabel("Save search").click({force: true});
|
||||
await page.getByLabel("Search name").fill(searchName);
|
||||
await page.locator('uui-dialog-layout').getByLabel("Save search").click();
|
||||
|
||||
// Assert
|
||||
// Checks if the saved search is visible in the UI
|
||||
await page.getByRole('tab', {name: 'Overview'}).click({force: true});
|
||||
await expect(page.locator('#saved-searches').getByLabel(searchName, {exact: true})).toBeVisible();
|
||||
expect(umbracoApi.logViewer.doesSavedSearchExist(searchName)).toBeTruthy();
|
||||
|
||||
// Clean
|
||||
await umbracoApi.logViewer.deleteSavedSearch(searchName);
|
||||
});
|
||||
|
||||
test('can create a complex saved search', async ({page, umbracoApi, umbracoUi}) => {
|
||||
// Arrange
|
||||
const searchName = 'ComplexTest';
|
||||
const search = "@Level='Fatal' or @Level='Error' or @Level='Warning'";
|
||||
await umbracoApi.logViewer.deleteSavedSearch(searchName);
|
||||
const logInformation = await umbracoApi.logViewer.getLevelCount();
|
||||
const expectedLogCountFatal = logInformation.fatal;
|
||||
const expectedLogCountError = logInformation.error;
|
||||
const expectedLogCountWarning = logInformation.warning;
|
||||
|
||||
// Act
|
||||
await page.goto(umbracoApi.baseUrl + '/umbraco');
|
||||
await umbracoUi.goToSettingsTreeItem('Log Viewer');
|
||||
await page.getByRole('tab', {name: 'Search'}).click({force: true});
|
||||
await page.getByPlaceholder('Search logs...').fill(search);
|
||||
// Checks if the complex search works before saving it.
|
||||
await expect(page.locator('umb-log-viewer-message').locator('umb-log-viewer-level-tag', {hasText: 'Fatal'})).toHaveCount(expectedLogCountFatal);
|
||||
await expect(page.locator('umb-log-viewer-message').locator('umb-log-viewer-level-tag', {hasText: 'Error'})).toHaveCount(expectedLogCountError);
|
||||
await expect(page.locator('umb-log-viewer-message').locator('umb-log-viewer-level-tag', {hasText: 'Warning'})).toHaveCount(expectedLogCountWarning);
|
||||
await page.getByLabel("Save search").click({force: true});
|
||||
await page.getByLabel("Search name").fill(searchName);
|
||||
await page.locator('uui-dialog-layout').getByLabel("Save search").click();
|
||||
|
||||
// Assert
|
||||
// Checks if the saved search is visible in the UI
|
||||
await page.getByRole('tab', {name: 'Overview'}).click({force: true});
|
||||
await expect(page.locator('#saved-searches').getByLabel(searchName)).toBeVisible();
|
||||
expect(umbracoApi.logViewer.doesSavedSearchExist(searchName)).toBeTruthy();
|
||||
|
||||
// Clean
|
||||
await umbracoApi.logViewer.deleteSavedSearch(searchName);
|
||||
});
|
||||
|
||||
test('can delete a saved search', async ({page, umbracoApi, umbracoUi}) => {
|
||||
// Arrange
|
||||
const searchName = 'ToBeDeletedSearchName';
|
||||
const search = 'Acquiring MainDom';
|
||||
await umbracoApi.logViewer.deleteSavedSearch(searchName);
|
||||
await umbracoApi.logViewer.createSavedSearch(searchName, search);
|
||||
|
||||
// Act
|
||||
await page.goto(umbracoApi.baseUrl + '/umbraco');
|
||||
await umbracoUi.goToSettingsTreeItem('Log Viewer');
|
||||
await page.getByRole('tab', {name: 'Search'}).click({force: true});
|
||||
await page.getByLabel('Saved searches').click();
|
||||
await page.locator('li').filter({hasText: searchName + ' ' + search}).getByLabel('Remove saved search').click({force: true});
|
||||
|
||||
// Assert
|
||||
// Checks if the saved search is visible in the UI
|
||||
await page.getByRole('tab', {name: 'Overview'}).click({force: true});
|
||||
await expect(page.locator('#saved-searches').getByLabel(searchName)).not.toBeVisible();
|
||||
expect(await umbracoApi.logViewer.doesSavedSearchExist(searchName)).toBeFalsy();
|
||||
});
|
||||
|
||||
test('can expand a log entry', async ({page, umbracoApi, umbracoUi}) => {
|
||||
// Arrange
|
||||
const search = "@MessageTemplate='Acquiring MainDom.'";
|
||||
|
||||
// Act
|
||||
await page.goto(umbracoApi.baseUrl + '/umbraco');
|
||||
await umbracoUi.goToSettingsTreeItem('Log Viewer');
|
||||
await page.getByRole('tab', {name: 'Search'}).click({force: true});
|
||||
await page.getByPlaceholder('Search logs...').fill(search);
|
||||
await page.getByRole('group').locator('#message').first().click();
|
||||
|
||||
// Assert
|
||||
await expect(page.getByRole('list').getByText('Acquiring MainDom.')).toBeVisible();
|
||||
});
|
||||
|
||||
// Currently only works if the user is using the locale 'en-US' otherwise it will fail
|
||||
test('can sort logs by timestamp', async ({page, umbracoApi, umbracoUi}) => {
|
||||
// Arrange
|
||||
const locale = 'en-US';
|
||||
const options: Intl.DateTimeFormatOptions = {
|
||||
year: 'numeric',
|
||||
month: 'numeric',
|
||||
day: 'numeric',
|
||||
hour: 'numeric',
|
||||
minute: 'numeric',
|
||||
second: 'numeric',
|
||||
hour12: true,
|
||||
};
|
||||
|
||||
//Act
|
||||
await page.goto(umbracoApi.baseUrl + '/umbraco');
|
||||
await umbracoUi.goToSettingsTreeItem('Log Viewer');
|
||||
await page.getByRole('tab', {name: 'Search'}).click({force: true});
|
||||
// Sorts logs by timestamp
|
||||
await page.getByLabel('Sort logs').click();
|
||||
// Gets the last log from the log viewer
|
||||
const lastLog = await umbracoApi.logViewer.getLog(0, 1, "Descending");
|
||||
const dateToFormat = new Date(lastLog.items[0].timestamp);
|
||||
const lastLogTimestamp = new Intl.DateTimeFormat(locale, options).format(dateToFormat);
|
||||
|
||||
// Assert
|
||||
await expect(page.locator('umb-log-viewer-message').locator('[id="timestamp"]').first()).toContainText(lastLogTimestamp);
|
||||
});
|
||||
|
||||
// Will fail if there is not enough logs.
|
||||
test('can use pagination', async ({page, umbracoApi, umbracoUi}) => {
|
||||
// Arrange
|
||||
const secondPageLogs = await umbracoApi.logViewer.getLog(100, 100, 'Ascending');
|
||||
const firstLogOnSecondPage = secondPageLogs.items[0].renderedMessage;
|
||||
|
||||
// Act
|
||||
await page.goto(umbracoApi.baseUrl + '/umbraco');
|
||||
await umbracoUi.goToSettingsTreeItem('Log Viewer');
|
||||
await page.getByRole('tab', {name: 'Search'}).click({force: true});
|
||||
await page.getByLabel('Go to page 2', {exact: true}).click();
|
||||
|
||||
// Assert
|
||||
await expect(page.locator('umb-log-viewer-message').locator('[id="message"]').first()).toContainText(firstLogOnSecondPage);
|
||||
// TODO: Remove the comment below when the issue is resolved.
|
||||
// At the time this test was created, the UI only highlights page 1. Uncomment the line below when the issue is resolved.
|
||||
// await expect(page.getByLabel('Pagination navigation. Current page: 2.', {exact: true})).toBeVisible();
|
||||
});
|
||||
|
||||
test('can use a saved search', async ({page, umbracoApi, umbracoUi}) => {
|
||||
// Arrange
|
||||
const searchName = 'TestSearch';
|
||||
const search = "StartsWith(@MessageTemplate, 'Acquiring MainDom.')";
|
||||
await umbracoApi.logViewer.deleteSavedSearch(searchName);
|
||||
await umbracoApi.logViewer.createSavedSearch(searchName, search);
|
||||
|
||||
// Act
|
||||
await page.goto(umbracoApi.baseUrl + '/umbraco');
|
||||
await umbracoUi.goToSettingsTreeItem('Log Viewer');
|
||||
await page.locator('#saved-searches').getByLabel(searchName).click();
|
||||
|
||||
// Assert
|
||||
// Checks if the search has the correct search value
|
||||
await expect(page.getByPlaceholder('Search logs...')).toHaveValue(search);
|
||||
// Checks if the saved search found the correct logs
|
||||
await expect(page.getByRole('group').locator('#message', {hasText: 'Acquiring MainDom.'}).first()).toBeVisible();
|
||||
|
||||
// Clean
|
||||
await umbracoApi.logViewer.deleteSavedSearch(searchName);
|
||||
});
|
||||
});
|
||||
@@ -25,8 +25,8 @@ test.describe('Telemetry tests', () => {
|
||||
// Assert
|
||||
// UI
|
||||
await page.reload();
|
||||
await expect(await page.locator('[name="telemetryLevel"] >> input[id=input]')).toHaveValue('1');
|
||||
await expect(page.locator('[name="telemetryLevel"] >> input[id=input]')).toHaveValue('1');
|
||||
// API
|
||||
await expect(await umbracoApi.telemetry.checkLevel(expectedLevel)).toBeTruthy();
|
||||
expect(await umbracoApi.telemetry.getLevel() == "Minimal").toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Umbraco": {
|
||||
"CMS": {
|
||||
"Global": {
|
||||
"DefaultUILanguage": "da-DK"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
import {ConstantHelper, test} from '@umbraco/playwright-testhelpers';
|
||||
import {expect} from "@playwright/test";
|
||||
import {UserBuilder} from '@umbraco/playwright-models';
|
||||
|
||||
test.describe('DefaultUILanguage', () => {
|
||||
|
||||
test.beforeEach(async ({page, umbracoApi}) => {
|
||||
await umbracoApi.login();
|
||||
});
|
||||
|
||||
test('DefaultUiLanguage da-DK', async ({page, umbracoApi, umbracoUi}) => {
|
||||
const name = "test";
|
||||
const email = "Test@email.com";
|
||||
const userGroup = ["editor"];
|
||||
const language = "da-DK";
|
||||
|
||||
await umbracoApi.users.ensureEmailNotExits(email);
|
||||
|
||||
const user = new UserBuilder()
|
||||
.withName(name)
|
||||
.withEmail(email)
|
||||
.withUserGroup(userGroup)
|
||||
.build()
|
||||
await umbracoApi.users.postCreateUser(user);
|
||||
|
||||
await page.locator('[data-element="section-users"]').click();
|
||||
await page.locator('.umb-user-card__content', {hasText: name}).click();
|
||||
|
||||
// Assert
|
||||
await expect(await page.locator('[value="string:' + language + '"][selected="selected"]')).toHaveCount(1);
|
||||
|
||||
// Clean
|
||||
await umbracoApi.users.ensureEmailNotExits(email);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"Umbraco": {
|
||||
"CMS": {
|
||||
"Tours": {
|
||||
"EnableTours": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
import {test} from '@umbraco/playwright-testhelpers';
|
||||
import {expect} from "@playwright/test";
|
||||
import {umbracoConfig} from "../../umbraco.config";
|
||||
|
||||
test.describe('Test', () => {
|
||||
|
||||
test.beforeEach(async ({page, umbracoApi}) => {
|
||||
await umbracoApi.login(true);
|
||||
});
|
||||
|
||||
test('Check if tours exist', async ({page, umbracoApi, umbracoUi}) => {
|
||||
// Need to go to the correct page when I set skipCheckTours in login to true
|
||||
await page.goto(umbracoConfig.environment.baseUrl + '/umbraco');
|
||||
await page.locator('[data-element="global-help"]').click();
|
||||
// Assert
|
||||
await expect(await page.locator('[data-element="help-tours"]')).not.toBeVisible();
|
||||
});
|
||||
|
||||
});
|
||||
@@ -1,18 +1,17 @@
|
||||
import {test as setup, expect, Page} from '@playwright/test';
|
||||
import {test as setup, expect} from '@playwright/test';
|
||||
import {STORAGE_STATE} from '../playwright.config'
|
||||
import {UiHelpers} from "@umbraco/playwright-testhelpers";
|
||||
|
||||
// Update this setup with test ids in the future. Maybe also find better locators in general
|
||||
setup('authenticate', async ({page}) => {
|
||||
await page.goto(process.env.URL + '/umbraco');
|
||||
const umbracoUi = new UiHelpers(page);
|
||||
|
||||
await page.getByRole('textbox', { name: 'Email' }).fill(process.env.UMBRACO_USER_LOGIN);
|
||||
await page.getByRole('textbox', { name: 'Password' }).fill(process.env.UMBRACO_USER_PASSWORD);
|
||||
await page.goto(process.env.URL + '/umbraco');
|
||||
await page.getByLabel('Email').fill(process.env.UMBRACO_USER_LOGIN);
|
||||
await page.getByLabel( 'Password', {exact: true}).fill(process.env.UMBRACO_USER_PASSWORD);
|
||||
await page.getByRole('button', {name: 'Login'}).click();
|
||||
|
||||
await page.waitForURL(process.env.URL + '/umbraco');
|
||||
|
||||
// Assert
|
||||
await expect(page.getByRole('tab', { name: 'Settings' })).toBeVisible();
|
||||
|
||||
await expect(page.getByRole('tab', {name: 'Settings'})).toBeVisible();
|
||||
await umbracoUi.goToSection('Settings');
|
||||
await page.context().storageState({path: STORAGE_STATE});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user