diff --git a/.eslintrc.json b/.eslintrc.json index f78694e00..348764d46 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -16,5 +16,6 @@ "rules": { "no-console": "off" }, - "settings": {} + "settings": {}, + "plugins": ["cypress"] } diff --git a/client/cypress.json b/client/cypress.json index 0967ef424..29663f948 100644 --- a/client/cypress.json +++ b/client/cypress.json @@ -1 +1,8 @@ -{} +{ + "baseUrl": "http://localhost:3000", + "experimentalStudio": true, + "env": { + "FIREBASE_USERNAME": "cypress@imex.test", + "FIREBASE_PASSWORD": "cypress" + } +} diff --git a/client/cypress/fixtures/profile.json b/client/cypress/fixtures/profile.json new file mode 100644 index 000000000..b6c355ca5 --- /dev/null +++ b/client/cypress/fixtures/profile.json @@ -0,0 +1,5 @@ +{ + "id": 8739, + "name": "Jane", + "email": "jane@example.com" +} \ No newline at end of file diff --git a/client/cypress/fixtures/users.json b/client/cypress/fixtures/users.json new file mode 100644 index 000000000..79b699aa7 --- /dev/null +++ b/client/cypress/fixtures/users.json @@ -0,0 +1,232 @@ +[ + { + "id": 1, + "name": "Leanne Graham", + "username": "Bret", + "email": "Sincere@april.biz", + "address": { + "street": "Kulas Light", + "suite": "Apt. 556", + "city": "Gwenborough", + "zipcode": "92998-3874", + "geo": { + "lat": "-37.3159", + "lng": "81.1496" + } + }, + "phone": "1-770-736-8031 x56442", + "website": "hildegard.org", + "company": { + "name": "Romaguera-Crona", + "catchPhrase": "Multi-layered client-server neural-net", + "bs": "harness real-time e-markets" + } + }, + { + "id": 2, + "name": "Ervin Howell", + "username": "Antonette", + "email": "Shanna@melissa.tv", + "address": { + "street": "Victor Plains", + "suite": "Suite 879", + "city": "Wisokyburgh", + "zipcode": "90566-7771", + "geo": { + "lat": "-43.9509", + "lng": "-34.4618" + } + }, + "phone": "010-692-6593 x09125", + "website": "anastasia.net", + "company": { + "name": "Deckow-Crist", + "catchPhrase": "Proactive didactic contingency", + "bs": "synergize scalable supply-chains" + } + }, + { + "id": 3, + "name": "Clementine Bauch", + "username": "Samantha", + "email": "Nathan@yesenia.net", + "address": { + "street": "Douglas Extension", + "suite": "Suite 847", + "city": "McKenziehaven", + "zipcode": "59590-4157", + "geo": { + "lat": "-68.6102", + "lng": "-47.0653" + } + }, + "phone": "1-463-123-4447", + "website": "ramiro.info", + "company": { + "name": "Romaguera-Jacobson", + "catchPhrase": "Face to face bifurcated interface", + "bs": "e-enable strategic applications" + } + }, + { + "id": 4, + "name": "Patricia Lebsack", + "username": "Karianne", + "email": "Julianne.OConner@kory.org", + "address": { + "street": "Hoeger Mall", + "suite": "Apt. 692", + "city": "South Elvis", + "zipcode": "53919-4257", + "geo": { + "lat": "29.4572", + "lng": "-164.2990" + } + }, + "phone": "493-170-9623 x156", + "website": "kale.biz", + "company": { + "name": "Robel-Corkery", + "catchPhrase": "Multi-tiered zero tolerance productivity", + "bs": "transition cutting-edge web services" + } + }, + { + "id": 5, + "name": "Chelsey Dietrich", + "username": "Kamren", + "email": "Lucio_Hettinger@annie.ca", + "address": { + "street": "Skiles Walks", + "suite": "Suite 351", + "city": "Roscoeview", + "zipcode": "33263", + "geo": { + "lat": "-31.8129", + "lng": "62.5342" + } + }, + "phone": "(254)954-1289", + "website": "demarco.info", + "company": { + "name": "Keebler LLC", + "catchPhrase": "User-centric fault-tolerant solution", + "bs": "revolutionize end-to-end systems" + } + }, + { + "id": 6, + "name": "Mrs. Dennis Schulist", + "username": "Leopoldo_Corkery", + "email": "Karley_Dach@jasper.info", + "address": { + "street": "Norberto Crossing", + "suite": "Apt. 950", + "city": "South Christy", + "zipcode": "23505-1337", + "geo": { + "lat": "-71.4197", + "lng": "71.7478" + } + }, + "phone": "1-477-935-8478 x6430", + "website": "ola.org", + "company": { + "name": "Considine-Lockman", + "catchPhrase": "Synchronised bottom-line interface", + "bs": "e-enable innovative applications" + } + }, + { + "id": 7, + "name": "Kurtis Weissnat", + "username": "Elwyn.Skiles", + "email": "Telly.Hoeger@billy.biz", + "address": { + "street": "Rex Trail", + "suite": "Suite 280", + "city": "Howemouth", + "zipcode": "58804-1099", + "geo": { + "lat": "24.8918", + "lng": "21.8984" + } + }, + "phone": "210.067.6132", + "website": "elvis.io", + "company": { + "name": "Johns Group", + "catchPhrase": "Configurable multimedia task-force", + "bs": "generate enterprise e-tailers" + } + }, + { + "id": 8, + "name": "Nicholas Runolfsdottir V", + "username": "Maxime_Nienow", + "email": "Sherwood@rosamond.me", + "address": { + "street": "Ellsworth Summit", + "suite": "Suite 729", + "city": "Aliyaview", + "zipcode": "45169", + "geo": { + "lat": "-14.3990", + "lng": "-120.7677" + } + }, + "phone": "586.493.6943 x140", + "website": "jacynthe.com", + "company": { + "name": "Abernathy Group", + "catchPhrase": "Implemented secondary concept", + "bs": "e-enable extensible e-tailers" + } + }, + { + "id": 9, + "name": "Glenna Reichert", + "username": "Delphine", + "email": "Chaim_McDermott@dana.io", + "address": { + "street": "Dayna Park", + "suite": "Suite 449", + "city": "Bartholomebury", + "zipcode": "76495-3109", + "geo": { + "lat": "24.6463", + "lng": "-168.8889" + } + }, + "phone": "(775)976-6794 x41206", + "website": "conrad.com", + "company": { + "name": "Yost and Sons", + "catchPhrase": "Switchable contextually-based project", + "bs": "aggregate real-time technologies" + } + }, + { + "id": 10, + "name": "Clementina DuBuque", + "username": "Moriah.Stanton", + "email": "Rey.Padberg@karina.biz", + "address": { + "street": "Kattie Turnpike", + "suite": "Suite 198", + "city": "Lebsackbury", + "zipcode": "31428-2261", + "geo": { + "lat": "-38.2386", + "lng": "57.2232" + } + }, + "phone": "024-648-3804", + "website": "ambrose.net", + "company": { + "name": "Hoeger LLC", + "catchPhrase": "Centralized empowering task-force", + "bs": "target end-to-end models" + } + } +] \ No newline at end of file diff --git a/client/cypress/integration/01-General Render/01-home.spec.js b/client/cypress/integration/01-General Render/01-home.spec.js new file mode 100644 index 000000000..32ec9d565 --- /dev/null +++ b/client/cypress/integration/01-General Render/01-home.spec.js @@ -0,0 +1,23 @@ +/// +const { FIREBASE_USERNAME, FIREBASE_PASSWORcD } = Cypress.env(); +describe("Renders the General Page", () => { + beforeEach(() => { + cy.visit("/"); + }); + it("Renders Correctly", () => {}); + it("Has the Slogan", () => { + cy.findByText("A whole x22new kind of shop management system.").should( + "exist" + ); + /* ==== Generated with Cypress Studio ==== */ + cy.get( + ".ant-menu-item-active > .ant-menu-title-content > .header0-item-block" + ).click(); + cy.get("#email").clear(); + cy.get("#email").type("patrick@imex.dev"); + cy.get("#password").clear(); + cy.get("#password").type("patrick123{enter}"); + cy.get(".ant-form > .ant-btn").click(); + /* ==== End Cypress Studio ==== */ + }); +}); diff --git a/client/cypress/support/commands.js b/client/cypress/support/commands.js index 119ab03f7..81f195804 100644 --- a/client/cypress/support/commands.js +++ b/client/cypress/support/commands.js @@ -23,3 +23,5 @@ // // -- This will overwrite an existing command -- // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) + +import "@testing-library/cypress/add-commands"; diff --git a/client/cypress/tsconfig.json b/client/cypress/tsconfig.json new file mode 100644 index 000000000..36de33dee --- /dev/null +++ b/client/cypress/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "allowJs": true, + "baseUrl": "../node_modules", + "types": ["cypress"] + }, + "include": ["**/*.*"] +} diff --git a/client/package-lock.json b/client/package-lock.json index a36c63adb..c591bfd42 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -43,6 +43,8 @@ }, "@apollo/client": { "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.5.6.tgz", + "integrity": "sha512-XHoouuEJ4L37mtfftcHHO1caCRrKKAofAwqRoq28UQIPMJk+e7n3X9OtRRNXKk/9tmhNkwelSary+EilfPwI7A==", "requires": { "@graphql-typed-document-node/core": "^3.0.0", "@wry/context": "^0.6.0", @@ -77,6 +79,8 @@ }, "@asseinfo/react-kanban": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@asseinfo/react-kanban/-/react-kanban-2.2.0.tgz", + "integrity": "sha512-/gCigrNXRHeP9VCo8RipTOrA0vAPRIOThJhR4ibVxe6BLkaWFUEuJ1RMT4fODpRRsE3XsdrfVGKkfpRBKgvxXg==", "requires": { "react-beautiful-dnd": "^13.0.0" } @@ -1475,6 +1479,8 @@ }, "@fingerprintjs/fingerprintjs": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@fingerprintjs/fingerprintjs/-/fingerprintjs-3.3.1.tgz", + "integrity": "sha512-rs9fCfINXeYO1XRTbZ/cXFSyRknyoZSwLNypO5Kf7C/o0g7mBpIDKVzJW3UsKEh+YybCS3wzaOK3z9PxtLiXaw==", "requires": { "tslib": "^2.0.1" } @@ -2593,6 +2599,8 @@ }, "@sentry/react": { "version": "6.16.1", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.16.1.tgz", + "integrity": "sha512-n8fOEKbym4kBi946q3AWXBNy1UKTmABj/hE2nAJbTWhi5IwdM7WBG6QCT2yq7oTHLuTxQrAwgKQc+A6zFTyVHg==", "requires": { "@sentry/browser": "6.16.1", "@sentry/minimal": "6.16.1", @@ -2611,6 +2619,8 @@ }, "@sentry/tracing": { "version": "6.16.1", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.16.1.tgz", + "integrity": "sha512-MPSbqXX59P+OEeST+U2V/8Hu/8QjpTUxTNeNyTHWIbbchdcMMjDbXTS3etCgajZR6Ro+DHElOz5cdSxH6IBGlA==", "requires": { "@sentry/hub": "6.16.1", "@sentry/minimal": "6.16.1", @@ -2649,6 +2659,8 @@ }, "@sentry/webpack-plugin": { "version": "1.18.3", + "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.18.3.tgz", + "integrity": "sha512-Qk3Jevislc5DZK0X/WwRVcOtO7iatnWARsEgTV/TuXvDN+fUDDpD/2MytAWAbpLaLy3xEB/cXGeLsbv6d1XNkQ==", "dev": true, "requires": { "@sentry/cli": "^1.70.1" @@ -2682,6 +2694,8 @@ }, "@splitsoftware/splitio-react": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@splitsoftware/splitio-react/-/splitio-react-1.3.0.tgz", + "integrity": "sha512-UV7uXahSXp7+iNh7gyIFgan8yTLgVxgfTGSKSgMZTaQu6WZ3nUjU/7y0Dxl4f/sDuNoLwNWSW+QLT5mp8FBTUw==", "requires": { "@babel/runtime": "^7.10.2", "@types/google.analytics": "0.0.40", @@ -2694,6 +2708,8 @@ }, "@stripe/react-stripe-js": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@stripe/react-stripe-js/-/react-stripe-js-1.6.0.tgz", + "integrity": "sha512-tMmsPD+wkpiiVJZgQ1E06tklG5MZHG462s6OWja9abpxq76kerAxMFN+KdhUg0LIEY79THbzvH3s/WGHasnV3w==", "requires": { "prop-types": "^15.7.2" }, @@ -2711,7 +2727,9 @@ } }, "@stripe/stripe-js": { - "version": "1.22.0" + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@stripe/stripe-js/-/stripe-js-1.22.0.tgz", + "integrity": "sha512-fm8TR8r4LwbXgBIYdPmeMjJJkxxFC66tvoliNnmXOpUgZSgQKoNPW3ON0ZphZIiif1oqWNhAaSrr7tOvGu+AFg==" }, "@surma/rollup-plugin-off-main-thread": { "version": "1.4.2", @@ -2840,6 +2858,8 @@ }, "@tanem/react-nprogress": { "version": "3.0.82", + "resolved": "https://registry.npmjs.org/@tanem/react-nprogress/-/react-nprogress-3.0.82.tgz", + "integrity": "sha512-dwpDMlMzPiEYT5SbCCVNIJ02V5UYjIyVTXTPam6Tt4xTYcmHpwURnmYwuqR9MCBalKJeAh9CeajLY/7hiw4ulg==", "requires": { "@babel/runtime": "^7.16.0", "hoist-non-react-statics": "^3.3.2", @@ -2859,11 +2879,97 @@ } } }, + "@testing-library/cypress": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@testing-library/cypress/-/cypress-8.0.2.tgz", + "integrity": "sha512-KVdm7n37sg/A4e3wKMD4zUl0NpzzVhx06V9Tf0hZHZ7nrZ4yFva6Zwg2EFF1VzHkEfN/ahUzRtT1qiW+vuWnJw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.14.6", + "@testing-library/dom": "^8.1.0" + } + }, + "@testing-library/dom": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.11.1.tgz", + "integrity": "sha512-3KQDyx9r0RKYailW2MiYrSSKEfH0GTkI51UGEvJenvcoDoeRYs0PZpi2SXqtnMClQvCqdtTTpOfFETDTVADpAg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz", + "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "aria-query": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz", + "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==", + "dev": true + }, + "pretty-format": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.2.tgz", + "integrity": "sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw==", + "dev": true, + "requires": { + "@jest/types": "^27.4.2", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + } + } + }, "@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" }, + "@types/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==", + "dev": true + }, "@types/babel__core": { "version": "7.1.17", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.17.tgz", @@ -3655,6 +3761,8 @@ }, "antd": { "version": "4.17.3", + "resolved": "https://registry.npmjs.org/antd/-/antd-4.17.3.tgz", + "integrity": "sha512-enA6rsOAGtw0uN+khzvPoCui9j6m1ZvtAHY2IWC/mOUIwfycC8iuToND9ptAqeNF5yX8RZhFubmcc7Xeqk6wWg==", "requires": { "@ant-design/colors": "^6.0.0", "@ant-design/icons": "^4.7.0", @@ -3727,7 +3835,9 @@ } }, "apollo-link-logger": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/apollo-link-logger/-/apollo-link-logger-2.0.0.tgz", + "integrity": "sha512-UBiQZM4KAcJokWRsYrMkyqOvWhnHXPEjNhhGMA1D/quHDk8YUjNmnwqf6KQtq8R8qNW3mQx3AeaWWxNRP3Q9+w==" }, "aproba": { "version": "1.2.0", @@ -4002,6 +4112,8 @@ }, "axios": { "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", "requires": { "follow-redirects": "^1.14.4" } @@ -6386,7 +6498,9 @@ } }, "dinero.js": { - "version": "1.9.1" + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/dinero.js/-/dinero.js-1.9.1.tgz", + "integrity": "sha512-1HXiF2vv3ZeRQ23yr+9lFxj/PbZqutuYWJnE0qfCB9xYBPnuaJ8lXtli1cJM0TvUXW1JTOaePldmqN5JVNxKSA==" }, "dir-glob": { "version": "3.0.1", @@ -6426,6 +6540,12 @@ "esutils": "^2.0.2" } }, + "dom-accessibility-api": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.10.tgz", + "integrity": "sha512-Xu9mD0UjrJisTmv7lmVSDMagQcU9R5hwAbxsaAE/35XPnPLJobbuREfV/rraiSaEj/UOvgrzQs66zyTWTlyd+g==", + "dev": true + }, "dom-align": { "version": "1.12.2", "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.2.tgz", @@ -6531,7 +6651,9 @@ } }, "dotenv": { - "version": "10.0.0" + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" }, "dotenv-expand": { "version": "5.1.0", @@ -6691,6 +6813,8 @@ }, "enquire-js": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/enquire-js/-/enquire-js-0.2.1.tgz", + "integrity": "sha512-4vbcWD0ncK6VQ5M5giOImQb2hFPrKDZH5U+uRX9S6e9vfC6Q5PX6A38PVS6RMnCdr/luDTtJjjLuJinH/+a+Lw==", "requires": { "enquire.js": "^2.1.6" } @@ -6722,6 +6846,8 @@ }, "env-cmd": { "version": "10.1.0", + "resolved": "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz", + "integrity": "sha512-mMdWTT9XKN7yNth/6N6g2GuKuJTsKMDHlQFUDacb/heQRRWOTIZ42t1rMHnQu4jYxU1ajdTeJM+9eEETlqToMA==", "requires": { "commander": "^4.0.0", "cross-spawn": "^7.0.0" @@ -7539,7 +7665,9 @@ "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" }, "exifr": { - "version": "7.1.3" + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/exifr/-/exifr-7.1.3.tgz", + "integrity": "sha512-g/aje2noHivrRSLbAUtBPWFbxKdKhgj/xr1vATDdUXPOFYJlQ62Ft0oy+72V6XLIpDJfHs6gXLbBLAolqOXYRw==" }, "exit": { "version": "0.1.2", @@ -8013,6 +8141,8 @@ }, "firebase": { "version": "9.6.1", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.6.1.tgz", + "integrity": "sha512-d4wbkVMRiSREa1jfFx2z/Kq3KueEKfNWApvdrEAxvzDRN4eiFLeZSZM/MOxj7TR01e/hANnw2lrYKMUpg21ukg==", "requires": { "@firebase/analytics": "0.7.4", "@firebase/analytics-compat": "0.1.5", @@ -8573,7 +8703,9 @@ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "graphql": { - "version": "16.1.0" + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.1.0.tgz", + "integrity": "sha512-+PIjmhqGHMIxtnlEirRXDHIzs0cAHAozKG5M2w2N4TnS8VzCxO3bbv1AW9UTeycBfl2QsPduxcVrBvANFKQhiw==" }, "graphql-tag": { "version": "2.12.6", @@ -9124,12 +9256,16 @@ }, "i18next": { "version": "21.6.0", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.6.0.tgz", + "integrity": "sha512-RjNuACL35wWZgtkyMcjcCmK7R72u3P6jTNbGKzrvHGI9M0iK5Vn1DsBIwOByppaXLIbe0viJ79Nz2h8w1UwPoQ==", "requires": { "@babel/runtime": "^7.12.0" } }, "i18next-browser-languagedetector": { "version": "6.1.2", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-6.1.2.tgz", + "integrity": "sha512-YDzIGHhMRvr7M+c8B3EQUKyiMBhfqox4o1qkFvt4QXuu5V2cxf74+NCr+VEkUuU0y+RwcupA238eeolW1Yn80g==", "requires": { "@babel/runtime": "^7.14.6" } @@ -10565,6 +10701,8 @@ }, "jsoneditor": { "version": "9.5.7", + "resolved": "https://registry.npmjs.org/jsoneditor/-/jsoneditor-9.5.7.tgz", + "integrity": "sha512-RWI1YqIhb2XzLcnSHMta7LROItQg49FhSd7KNPWr81HyCj2pc0m25no4BpzygmxW9320r9PnYKJwZsqL2PpdrQ==", "requires": { "ace-builds": "^1.4.13", "ajv": "^6.12.6", @@ -10603,7 +10741,9 @@ } }, "jsreport-browser-client-dist": { - "version": "1.3.0" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsreport-browser-client-dist/-/jsreport-browser-client-dist-1.3.0.tgz", + "integrity": "sha512-E83cVmxQ5np3rxns6dhFu15m5kZ5yXJDIyfbHjLPxO0AZXVQOuMrdvYsUCj+j/ZSaiROoBCstZRO7pa4HmZNGw==" }, "jsx-ast-utils": { "version": "3.2.1", @@ -10688,7 +10828,9 @@ } }, "libphonenumber-js": { - "version": "1.9.44" + "version": "1.9.44", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.44.tgz", + "integrity": "sha512-zhw8nUMJuQf7jG1dZfEOKKOS6M3QYIv3HnvB/vGohNd0QfxIQcObH3a6Y6s350H+9xgBeOXClOJkS0hJ0yvS3g==" }, "lie": { "version": "3.3.0", @@ -10870,7 +11012,9 @@ "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==" }, "logrocket": { - "version": "2.1.2" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/logrocket/-/logrocket-2.1.2.tgz", + "integrity": "sha512-voHZcZYtXIh0oIT6I/9szdDSauKR98uGlVxovD6oIggm7nqdic5d1/dqRUhokXiXXtLkF7pr6QUrtwIwTETjIw==" }, "long": { "version": "4.0.0", @@ -10901,6 +11045,12 @@ "yallist": "^4.0.0" } }, + "lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", + "dev": true + }, "magic-string": { "version": "0.25.7", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", @@ -10947,7 +11097,9 @@ } }, "markerjs2": { - "version": "2.17.2" + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/markerjs2/-/markerjs2-2.17.2.tgz", + "integrity": "sha512-Kfa0xDDdGCAWRTjCLIX/fQLYqAY4xKa8om5wHqQCQkdNkX9Yr9WvfRb7VpZe2459K7+Rfbg/ivOYZ4PLFBoB4Q==" }, "material-colors": { "version": "1.2.6", @@ -11235,7 +11387,9 @@ "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, "moment-business-days": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/moment-business-days/-/moment-business-days-1.2.0.tgz", + "integrity": "sha512-QJlceLfMSxy/jZSOgJYCKeKw+qGYHj8W0jMa/fYruyoJ85+bJuLRiYv5DIaflyuRipmYRfD4kDlSwVYteLN+Jw==" }, "move-concurrently": { "version": "1.0.1", @@ -12037,7 +12191,9 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "phone": { - "version": "3.1.10" + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/phone/-/phone-3.1.10.tgz", + "integrity": "sha512-YhUCaFzvp2nGuAL/KkYZ1qDm8E51PkQswDFSzAmQ8jgNt6TU6iHMxp4KEQ2J/mFk9zco84iq6D2j5z7fm7W9Vw==" }, "picocolors": { "version": "1.0.0", @@ -13221,6 +13377,8 @@ }, "preval.macro": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/preval.macro/-/preval.macro-5.0.0.tgz", + "integrity": "sha512-+OZRqZYx1pjZ7H5Jis8bPFXkiT7lwA46UzAT4IjuzFVKwkJK+TwIx1TCqrqNCf8U3e5O12mEJEz1BXslkCLWfQ==", "requires": { "babel-plugin-preval": "^5.0.0" } @@ -13379,6 +13537,8 @@ }, "query-string": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.0.1.tgz", + "integrity": "sha512-uIw3iRvHnk9to1blJCG3BTc+Ro56CBowJXKmNNAm3RulvPBzWLRqKSiiDk+IplJhsydwtuNMHi8UGQFcCLVfkA==", "requires": { "decode-uri-component": "^0.2.0", "filter-obj": "^1.1.0", @@ -13663,6 +13823,8 @@ }, "rc-queue-anim": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rc-queue-anim/-/rc-queue-anim-2.0.0.tgz", + "integrity": "sha512-tojpP72NbaWkwzmR/7x4gFpTBCYR/8I3Jb+KwSdOWpRIDrlmsA4ARAqSElG92GJ7CXAIjxavIGulcqJhXfzHYQ==", "requires": { "@babel/runtime": "^7.11.1", "tween-one": "^1.0.52" @@ -13691,6 +13853,8 @@ }, "rc-scroll-anim": { "version": "2.7.6", + "resolved": "https://registry.npmjs.org/rc-scroll-anim/-/rc-scroll-anim-2.7.6.tgz", + "integrity": "sha512-VwXJYXjZy9TtH1wcQIG7/yjt/Ay3VEjQl/TITaWzK9O7ujjOXRVOYY/tqKshmBMgaJ2oGeFQNmCN8zTwXguq0g==", "requires": { "babel-runtime": "6.x", "prop-types": "^15.6.0", @@ -13924,6 +14088,8 @@ }, "react": { "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -14010,6 +14176,8 @@ }, "react-big-calendar": { "version": "0.38.1", + "resolved": "https://registry.npmjs.org/react-big-calendar/-/react-big-calendar-0.38.1.tgz", + "integrity": "sha512-9xwBekBxsfwQJb8/4KpPgsS2mWnzOcXibuVtJ8MqI04W8mvAoIgnSAO0WtJBJfI0QMaeX+Ak12XwIZ88zZ/fGw==", "requires": { "@babel/runtime": "^7.1.5", "clsx": "^1.0.4", @@ -14038,6 +14206,8 @@ }, "react-color": { "version": "2.19.3", + "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz", + "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", "requires": { "@icons/material": "^0.2.4", "lodash": "^4.17.15", @@ -14062,6 +14232,8 @@ }, "react-cookie": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/react-cookie/-/react-cookie-4.1.1.tgz", + "integrity": "sha512-ffn7Y7G4bXiFbnE+dKhHhbP+b8I34mH9jqnm8Llhj89zF4nPxPutxHT1suUqMeCEhLDBI7InYwf1tpaSoK5w8A==", "requires": { "@types/hoist-non-react-statics": "^3.0.1", "hoist-non-react-statics": "^3.0.0", @@ -14210,6 +14382,8 @@ }, "react-dom": { "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -14218,6 +14392,8 @@ }, "react-drag-listview": { "version": "0.1.8", + "resolved": "https://registry.npmjs.org/react-drag-listview/-/react-drag-listview-0.1.8.tgz", + "integrity": "sha512-ZJnjFEz89RPZ1DzI8f6LngmtsmJbLry/pMz2tEqABxHA+d8cUFRmVPS1DxZdoz/htc+uri9fCdv4dqIiPz0xIA==", "requires": { "babel-runtime": "^6.26.0", "prop-types": "^15.5.8" @@ -14263,6 +14439,8 @@ }, "react-grid-gallery": { "version": "0.5.5", + "resolved": "https://registry.npmjs.org/react-grid-gallery/-/react-grid-gallery-0.5.5.tgz", + "integrity": "sha512-DkKg2/Am+VZPDG39fazelTcsZSQrfM/YllnIcWToyUEfOZcrzHxUoqCziCkuTPmCuMbHnrjidBFuDbAFgvSnvQ==", "requires": { "prop-types": "^15.5.8", "react-images": "^0.5.16" @@ -14282,6 +14460,8 @@ }, "react-grid-layout": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-grid-layout/-/react-grid-layout-1.3.0.tgz", + "integrity": "sha512-WqFwybAItXu0AaSt9YL8+9xE5YotIzMcCYE0Q9XBqSKNyShTxPbC0LjObV/tOWZoADNWJ+osseVfRoZsjzwWXg==", "requires": { "classnames": "2.3.1", "lodash.isequal": "^4.0.0", @@ -14313,6 +14493,8 @@ }, "react-i18next": { "version": "11.15.1", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.15.1.tgz", + "integrity": "sha512-lnje1uKu5XeM5MLvfbt1oygF+nEIZnpOM4Iu8bkx5ECD4XRYgi3SJDmolrp0EDxDHeK2GgFb+vEEK0hsZ9sjeA==", "requires": { "@babel/runtime": "^7.14.5", "html-escaper": "^2.0.2", @@ -14320,7 +14502,9 @@ } }, "react-icons": { - "version": "4.3.1" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.3.1.tgz", + "integrity": "sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==" }, "react-images": { "version": "0.5.19", @@ -14357,6 +14541,8 @@ }, "react-number-format": { "version": "4.8.0", + "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-4.8.0.tgz", + "integrity": "sha512-oGGiQpqzvKTR5PD2/AJbyUsci8jyupaoKxpuSPevjpWHMhFkUtmo390t+EIpJOgnuAHZogLu6PHiXgb/OXETKA==", "requires": { "prop-types": "^15.7.2" }, @@ -14452,6 +14638,8 @@ }, "react-router-dom": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz", + "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==", "requires": { "@babel/runtime": "^7.12.13", "history": "^4.9.0", @@ -14476,6 +14664,8 @@ }, "react-scripts": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz", + "integrity": "sha512-S5eO4vjUzUisvkIPB7jVsKtuH2HhWcASREYWHAQ1FP5HyCv3xgn+wpILAEWkmy+A+tTNbSZClhxjT3qz6g4L1A==", "requires": { "@babel/core": "7.12.3", "@pmmmwh/react-refresh-webpack-plugin": "0.4.3", @@ -14575,6 +14765,8 @@ }, "react-sublime-video": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/react-sublime-video/-/react-sublime-video-0.2.5.tgz", + "integrity": "sha1-yWe46aN0s21qXRtjuT+m7ALlSEI=", "requires": { "prop-types": "^15.5.10", "rc-tween-one": "^1.2.5" @@ -14651,6 +14843,8 @@ }, "react-virtualized": { "version": "9.22.3", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.3.tgz", + "integrity": "sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw==", "requires": { "@babel/runtime": "^7.7.2", "clsx": "^1.0.4", @@ -14754,6 +14948,8 @@ }, "recharts": { "version": "2.1.8", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.1.8.tgz", + "integrity": "sha512-Wi7ufdDGyvy/BPf1za1Ok7VeWB2KtEejaewO9ulmlUhvn5l5RPS4AOkrUfhtMRTTjgJ4K6AbWMDpwtDjczUHJA==", "requires": { "@types/d3-interpolate": "^2.0.0", "@types/d3-scale": "^3.0.0", @@ -14805,22 +15001,30 @@ }, "redux-logger": { "version": "3.0.6", + "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz", + "integrity": "sha1-91VZZvMJjzyIYExEnPC69XeCdL8=", "dev": true, "requires": { "deep-diff": "^0.3.5" } }, "redux-persist": { - "version": "6.0.0" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/redux-persist/-/redux-persist-6.0.0.tgz", + "integrity": "sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ==" }, "redux-saga": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.1.3.tgz", + "integrity": "sha512-RkSn/z0mwaSa5/xH/hQLo8gNf4tlvT18qXDNvedihLcfzh+jMchDgaariQoehCpgRltEm4zHKJyINEz6aqswTw==", "requires": { "@redux-saga/core": "^1.1.3" } }, "redux-state-sync": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/redux-state-sync/-/redux-state-sync-3.1.2.tgz", + "integrity": "sha512-HJtyqckwb56iE2OvNOLwjW+Qnn7xA/R+jqP4mdYnSREk0bKVs4gVbE4bsiUZGOw5DzXlz5jHozg1x38gggWArQ==", "requires": { "broadcast-channel": "^3.1.0" } @@ -15039,7 +15243,9 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "reselect": { - "version": "4.1.5" + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.5.tgz", + "integrity": "sha512-uVdlz8J7OO+ASpBYoz1Zypgx0KasCY20H+N8JD13oUMtPvSHQuscrHop4KbXrbsBcdB9Ds7lVK7eRkBIfO43vQ==" }, "resize-observer-polyfill": { "version": "1.5.1", @@ -15547,6 +15753,8 @@ }, "sass": { "version": "1.45.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.45.0.tgz", + "integrity": "sha512-ONy5bjppoohtNkFJRqdz1gscXamMzN3wQy1YH9qO2FiNpgjLhpz/IPRGg0PpCjyz/pWfCOaNEaiEGCcjOFAjqw==", "requires": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -16029,6 +16237,8 @@ }, "socket.io-client": { "version": "4.4.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.4.0.tgz", + "integrity": "sha512-g7riSEJXi7qCFImPow98oT8X++MSsHz6MMFRXkWNJ6uEROSHOa3kxdrsYWMq85dO+09CFMkcqlpjvbVXQl4z6g==", "requires": { "@socket.io/component-emitter": "~3.0.0", "backo2": "~1.0.2", @@ -16100,6 +16310,8 @@ }, "source-map-explorer": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/source-map-explorer/-/source-map-explorer-2.5.2.tgz", + "integrity": "sha512-gBwOyCcHPHcdLbgw6Y6kgoH1uLKL6hN3zz0xJcNI2lpnElZliIlmSYAjUVwAWnc7+HscoTyh1ScR7ITtFuEnxg==", "dev": true, "requires": { "btoa": "^1.2.1", @@ -16580,6 +16792,8 @@ }, "styled-components": { "version": "5.3.3", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.3.tgz", + "integrity": "sha512-++4iHwBM7ZN+x6DtPPWkCI4vdtwumQ+inA/DdAsqYd4SVgUKJie5vXyzotA00ttcFdQkCng7zc6grwlfIfw+lw==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/traverse": "^7.4.5", @@ -16637,6 +16851,8 @@ }, "subscriptions-transport-ws": { "version": "0.11.0", + "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz", + "integrity": "sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==", "requires": { "backo2": "^1.0.2", "eventemitter3": "^3.1.0", @@ -17932,7 +18148,9 @@ } }, "web-vitals": { - "version": "2.1.2" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.2.tgz", + "integrity": "sha512-nZnEH8dj+vJFqCRYdvYv0a59iLXsb8jJkt+xvXfwgnkyPdsSLtKNlYmtTDiHmTNGXeSXtpjTTUcNvFtrAk6VMQ==" }, "webidl-conversions": { "version": "6.1.0", @@ -18807,6 +19025,8 @@ }, "workbox-broadcast-update": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.4.2.tgz", + "integrity": "sha512-qnBwQyE0+PWFFc/n4ISXINE49m44gbEreJUYt2ldGH3+CNrLmJ1egJOOyUqqu9R4Eb7QrXcmB34ClXG7S37LbA==", "requires": { "workbox-core": "6.4.2" }, @@ -18978,6 +19198,8 @@ }, "workbox-cacheable-response": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.4.2.tgz", + "integrity": "sha512-9FE1W/cKffk1AJzImxgEN0ceWpyz1tqNjZVtA3/LAvYL3AC5SbIkhc7ZCO82WmO9IjTfu8Vut2X/C7ViMSF7TA==", "requires": { "workbox-core": "6.4.2" }, @@ -18991,6 +19213,8 @@ }, "workbox-expiration": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.4.2.tgz", + "integrity": "sha512-0hbpBj0tDnW+DZOUmwZqntB/8xrXOgO34i7s00Si/VlFJvvpRKg1leXdHHU8ykoSBd6+F2KDcMP3swoCi5guLw==", "requires": { "idb": "^6.1.4", "workbox-core": "6.4.2" @@ -19010,6 +19234,8 @@ }, "workbox-google-analytics": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.4.2.tgz", + "integrity": "sha512-u+gxs3jXovPb1oul4CTBOb+T9fS1oZG+ZE6AzS7l40vnyfJV79DaLBvlpEZfXGv3CjMdV1sT/ltdOrKzo7HcGw==", "requires": { "workbox-background-sync": "6.4.2", "workbox-core": "6.4.2", @@ -19056,6 +19282,8 @@ }, "workbox-navigation-preload": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.4.2.tgz", + "integrity": "sha512-viyejlCtlKsbJCBHwhSBbWc57MwPXvUrc8P7d+87AxBGPU+JuWkT6nvBANgVgFz6FUhCvRC8aYt+B1helo166g==", "requires": { "workbox-core": "6.4.2" }, @@ -19069,6 +19297,8 @@ }, "workbox-precaching": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.4.2.tgz", + "integrity": "sha512-CZ6uwFN/2wb4noHVlALL7UqPFbLfez/9S2GAzGAb0Sk876ul9ukRKPJJ6gtsxfE2HSTwqwuyNVa6xWyeyJ1XSA==", "requires": { "workbox-core": "6.4.2", "workbox-routing": "6.4.2", @@ -19100,6 +19330,8 @@ }, "workbox-range-requests": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.4.2.tgz", + "integrity": "sha512-SowF3z69hr3Po/w7+xarWfzxJX/3Fo0uSG72Zg4g5FWWnHpq2zPvgbWerBZIa81zpJVUdYpMa3akJJsv+LaO1Q==", "requires": { "workbox-core": "6.4.2" }, @@ -19113,6 +19345,8 @@ }, "workbox-streams": { "version": "6.4.2", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.4.2.tgz", + "integrity": "sha512-ROEGlZHGVEgpa5bOZefiJEVsi5PsFjJG9Xd+wnDbApsCO9xq9rYFopF+IRq9tChyYzhBnyk2hJxbQVWphz3sog==", "requires": { "workbox-core": "6.4.2", "workbox-routing": "6.4.2" diff --git a/client/package.json b/client/package.json index e9069d25a..80e88a5a2 100644 --- a/client/package.json +++ b/client/package.json @@ -87,14 +87,15 @@ "build:test": "env-cmd -f .env.test yarn run build", "build-deploy:test": "yarn run build:test && s3cmd sync build/* s3://imex-online-test && echo '🚀 TESTING Deployed!'", "buildcra": "REACT_APP_GIT_SHA=`git rev-parse --short HEAD` craco build", - "test": "react-scripts test", + "test": "cypress open", "eject": "react-scripts eject", "madge": "madge --image ./madge-graph.svg --extensions js,jsx,ts,tsx --circular ." }, "eslintConfig": { "extends": [ "react-app", - "react-app/jest" + "react-app/jest", + "plugin:cypress/recommended" ] }, "browserslist": { @@ -111,7 +112,9 @@ }, "devDependencies": { "@sentry/webpack-plugin": "^1.18.3", + "@testing-library/cypress": "^8.0.2", "cypress": "^9.1.1", + "eslint-plugin-cypress": "^2.12.1", "redux-logger": "^3.0.6", "source-map-explorer": "^2.5.2" } diff --git a/client/yarn.lock b/client/yarn.lock index 107a8a49f..2a3a9c4f6 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -5917,6 +5917,13 @@ eslint-module-utils@^2.7.1: find-up "^2.1.0" pkg-dir "^2.0.0" +eslint-plugin-cypress@^2.12.1: + version "2.12.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.12.1.tgz#9aeee700708ca8c058e00cdafe215199918c2632" + integrity sha512-c2W/uPADl5kospNDihgiLc7n87t5XhUbFDoTl6CfVkmG+kDAb5Ux10V9PoLPu9N+r7znpc+iQlcmAqT1A/89HA== + dependencies: + globals "^11.12.0" + eslint-plugin-flowtype@^5.2.0: version "5.10.0" resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.10.0.tgz#7764cc63940f215bf3f0bd2d9a1293b2b9b2b4bb" @@ -6911,7 +6918,7 @@ global-prefix@^3.0.0: kind-of "^6.0.2" which "^1.3.1" -globals@^11.1.0: +globals@^11.1.0, globals@^11.12.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==