diff --git a/apps/web-mzima-client/src/app/settings/data-export/data-export.component.html b/apps/web-mzima-client/src/app/settings/data-export/data-export.component.html index af50d8ab23..daab5a3eda 100644 --- a/apps/web-mzima-client/src/app/settings/data-export/data-export.component.html +++ b/apps/web-mzima-client/src/app/settings/data-export/data-export.component.html @@ -7,7 +7,7 @@

{{ (hxlEnabled ? 'data_export.title_hxl' : 'data_export.title') | translate >

- +

{{ 'data_export.hxl_apikey_alert_1' | translate }}

@@ -118,7 +118,11 @@

{{ 'data_export.select_fields_title' | translate }}

- + {{ attribute.label }}
diff --git a/apps/web-mzima-client/src/env.json b/apps/web-mzima-client/src/env.json index 9b46cde2d1..6652532d33 100644 --- a/apps/web-mzima-client/src/env.json +++ b/apps/web-mzima-client/src/env.json @@ -1,6 +1,6 @@ { "production": true, - "backend_url": "http://localhost:8080/", + "backend_url": "https://mzima-dev-api.staging.ush.zone/", "api_v3": "api/v3/", "api_v5": "api/v5/", "mapbox_api_key": "pk.eyJ1IjoidXNoYWhpZGkiLCJhIjoiY2lxaXUzeHBvMDdndmZ0bmVmOWoyMzN6NiJ9.CX56ZmZJv0aUsxvH5huJBw", diff --git a/e2e-testing/cypress.config.js b/e2e-testing/cypress.config.js index 0df418d7ac..b698715988 100644 --- a/e2e-testing/cypress.config.js +++ b/e2e-testing/cypress.config.js @@ -1,14 +1,24 @@ -const { defineConfig } = require('cypress'); +const { defineConfig } = require("cypress"); module.exports = defineConfig({ - projectId: '43gftm', + projectId: "43gftm", viewportWidth: 1280, viewportHeight: 960, defaultCommandTimeout: 20000, + e2e: { setupNodeEvents(on, config) { // implement node event listeners here }, }, + video: true, + + component: { + devServer: { + framework: "angular", + bundler: "webpack", + }, + specPattern: "**/*.cy.ts", + }, }); diff --git a/e2e-testing/cypress.env.json b/e2e-testing/cypress.env.json index 951358c3e8..5c76a5c887 100644 --- a/e2e-testing/cypress.env.json +++ b/e2e-testing/cypress.env.json @@ -1,9 +1,11 @@ { - "baseUrl": "http://localhost:4200/", + "baseUrl": "http://localhost:4200", "ush_admin_email": "automation_admin@ushahidi.com", "ush_admin_pwd": "1234567", "ush_admin_name": "Automation User Admin Role", - "ush_user_email": "automation_member@ushahidi.com", - "ush_user_pwd": "1234567", - "ush_user_name": "Automation User Member Role" + "ush_user_email": "yhoungcute@gmail.com", + "ush_user_pwd": "allushahidipoints@21A", + "ush_user_name": "Adina Mosan", + "exportBaseUrl": "**/api/v3/exports/jobs/**", + "thumbsUpSignal": "/assets/icons/thumb-up.svg" } diff --git a/e2e-testing/cypress/e2e/16-export-data-settings/export-settings-data.cy.js b/e2e-testing/cypress/e2e/16-export-data-settings/export-settings-data.cy.js new file mode 100644 index 0000000000..376b788843 --- /dev/null +++ b/e2e-testing/cypress/e2e/16-export-data-settings/export-settings-data.cy.js @@ -0,0 +1,24 @@ +import ExportTagDataFunctions from '../../functions/ExportTagDataFunctions'; +import LoginFunctions from '../../functions/LoginFunctions'; + +describe('Automated Tests for Exports and Tag Data', () => { + const loginFunctions = new LoginFunctions(); + const exportTagDataFunctions = new ExportTagDataFunctions(); + + beforeEach(() => { + loginFunctions.login_as_admin(); + cy.visit(Cypress.env('baseUrl')); + }); + + it('Exports all the data', () => { + exportTagDataFunctions.confirm_all_data_export(); + }); + + it('Exports data of select fields', () => { + exportTagDataFunctions.confirm_select_data_export(); + }); + + it('Cancels the data exporting process', () => { + exportTagDataFunctions.cancel_data_export(); + }); +}); diff --git a/e2e-testing/cypress/functions/ExportTagDataFunctions.js b/e2e-testing/cypress/functions/ExportTagDataFunctions.js new file mode 100644 index 0000000000..898eb6f61b --- /dev/null +++ b/e2e-testing/cypress/functions/ExportTagDataFunctions.js @@ -0,0 +1,75 @@ +import ExportTagDataLocators from '../locators/ExportTagDataLocators'; + +class ExportTagDataFunctions { + select_data_fields() { + for (let i = 0; i <= 3; i++) { + cy.get(ExportTagDataLocators.FieldsCheckbox).eq(i).click(); + } + } + + click_select_fields_button() { + cy.get(ExportTagDataLocators.SelectFieldsButton).click(); + } + + export_all_data() { + cy.get(ExportTagDataLocators.ExportAllDataButton).click(); + } + + export_data() { + cy.get(ExportTagDataLocators.ExportDataButton).click(); + } + + launch_export_page() { + cy.get(ExportTagDataLocators.SettingsBtn).click(); + cy.get(ExportTagDataLocators.ExportAndTagDataButton).click(); + cy.get(ExportTagDataLocators.ExportTab).click(); + } + + cancel_export() { + cy.get(ExportTagDataLocators.CancelExportBtn).click(); + } + + verify_successful_export_messages() { + let messageData1 = `We are preparing your CSV file. This may take a few moments. You can leave this page if you want. We will let you know when we're done.`; + let messageData2 = `Upload complete. You should see your tagged data in your HDX account.`; + + cy.get(ExportTagDataLocators.MessageContainer) + .should('be.visible') + .should('have.text', messageData1); + + // cy.intercept('GET', Cypress.env('thumbsUpSignal')).as('completed'); + // cy.wait('@completed', { timeout: 50000 }).then((interception) => { + // expect(interception.response.statusCode).to.eq(200); + // cy.get(ExportTagDataLocators.MessageContainer).should('have.text', messageData2); + // }); + } + + export_all_tag_data() { + this.launch_export_page(); + this.export_all_data(); + } + + export_select_tag_data() { + this.launch_export_page(); + this.click_select_fields_button(); + this.select_data_fields(); + this.export_data(); + } + + confirm_all_data_export() { + this.export_all_tag_data(); + this.verify_successful_export_messages(); + } + + confirm_select_data_export() { + this.export_select_tag_data(); + this.verify_successful_export_messages(); + } + + cancel_data_export() { + this.export_all_tag_data(); + this.cancel_export(); + } +} + +export default ExportTagDataFunctions; diff --git a/e2e-testing/cypress/locators/ExportTagDataLocators.js b/e2e-testing/cypress/locators/ExportTagDataLocators.js new file mode 100644 index 0000000000..38cb12b87c --- /dev/null +++ b/e2e-testing/cypress/locators/ExportTagDataLocators.js @@ -0,0 +1,16 @@ +const ExportTagDataLocators = { + SettingsBtn: '[data-qa="btn-settings"]', + ExportAndTagDataButton: '[data-qa="btn-data-export"]', + ExportTab: '[id="mat-tab-label-0-0"]', + ExportAllDataButton: '[data-qa="btn-export-all"]', + + SelectFieldsButton: '[data-qa="btn-select-fields"]', + FieldsCheckbox: '[data-qa="selected-checkbox"]', + ExportDataButton: '[data-qa="btn-export-selected"]', + + MessageContainer: '.snackbar__title', + + CancelExportBtn: '.mzima-button--danger' +}; + +export default ExportTagDataLocators; diff --git a/e2e-testing/cypress/support/component-index.html b/e2e-testing/cypress/support/component-index.html new file mode 100644 index 0000000000..e39ba42969 --- /dev/null +++ b/e2e-testing/cypress/support/component-index.html @@ -0,0 +1,12 @@ + + + + + + + Components App + + +
+ + diff --git a/e2e-testing/cypress/support/component.js b/e2e-testing/cypress/support/component.js new file mode 100644 index 0000000000..af5d0af874 --- /dev/null +++ b/e2e-testing/cypress/support/component.js @@ -0,0 +1,27 @@ +// *********************************************************** +// This example support/component.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') + +import { mount } from 'cypress/angular' + +Cypress.Commands.add('mount', mount) + +// Example use: +// cy.mount(MyComponent) \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3eee72ec54..01dbcc62c4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -108,6 +108,7 @@ "@typescript-eslint/eslint-plugin": "5.59.2", "@typescript-eslint/parser": "5.59.2", "cross-env": "^7.0.3", + "cypress": "^12.17.4", "eslint": "~8.18.0", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-prettier": "^8.7.0", @@ -4034,7 +4035,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=0.1.90" } @@ -4327,10 +4327,10 @@ }, "node_modules/@cypress/request": { "version": "2.88.12", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.12.tgz", + "integrity": "sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==", "dev": true, "license": "Apache-2.0", - "optional": true, - "peer": true, "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -4357,10 +4357,10 @@ }, "node_modules/@cypress/request/node_modules/form-data": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -4372,10 +4372,10 @@ }, "node_modules/@cypress/request/node_modules/qs": { "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", "dev": true, "license": "BSD-3-Clause", - "optional": true, - "peer": true, "dependencies": { "side-channel": "^1.0.4" }, @@ -4390,8 +4390,6 @@ "version": "1.2.4", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "debug": "^3.1.0", "lodash.once": "^4.1.1" @@ -4401,8 +4399,6 @@ "version": "3.2.7", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "ms": "^2.1.1" } @@ -5635,6 +5631,8 @@ }, "node_modules/@nrwl/cypress": { "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nrwl/cypress/-/cypress-16.0.2.tgz", + "integrity": "sha512-VQoq7nwdkSf/IeYTDePx7sSFHWSEXll9CA7YkG8IrCkRt4WCdvbIrthGRsdhIJcHNTjNcPM2GlX2Inev0voR3g==", "dev": true, "license": "MIT", "dependencies": { @@ -5761,6 +5759,8 @@ }, "node_modules/@nx/cypress": { "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/cypress/-/cypress-16.0.2.tgz", + "integrity": "sha512-aY3Gbmqt+EXV9lGPTJSN5juTcNSTvE9vfIRwTRz5K7BSkeV+EeJylnuVu08A+oTqNQXVdmMlELQK0N7FEQ2MQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6908,16 +6908,12 @@ "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.1", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/@types/sizzle": { "version": "2.3.3", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/@types/slice-ansi": { "version": "4.0.0", @@ -6967,7 +6963,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@types/node": "*" } @@ -7711,6 +7706,8 @@ }, "node_modules/address": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", "dev": true, "license": "MIT", "engines": { @@ -7905,9 +7902,7 @@ "url": "https://feross.org/support" } ], - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/are-we-there-yet": { "version": "3.0.1", @@ -8038,20 +8033,20 @@ }, "node_modules/asn1": { "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "safer-buffer": "~2.1.0" } }, "node_modules/assert-plus": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">=0.8" } @@ -8136,20 +8131,20 @@ }, "node_modules/aws-sign2": { "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, "license": "Apache-2.0", - "optional": true, - "peer": true, "engines": { "node": "*" } }, "node_modules/aws4": { - "version": "1.12.0", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/axios": { "version": "1.6.7", @@ -8456,10 +8451,10 @@ }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, "license": "BSD-3-Clause", - "optional": true, - "peer": true, "dependencies": { "tweetnacl": "^0.14.3" } @@ -8500,9 +8495,7 @@ "node_modules/blob-util": { "version": "2.0.2", "dev": true, - "license": "Apache-2.0", - "optional": true, - "peer": true + "license": "Apache-2.0" }, "node_modules/body-parser": { "version": "1.20.1", @@ -8779,8 +8772,6 @@ "version": "2.3.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">=6" } @@ -8848,10 +8839,10 @@ }, "node_modules/caseless": { "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true, - "license": "Apache-2.0", - "optional": true, - "peer": true + "license": "Apache-2.0" }, "node_modules/chalk": { "version": "4.1.2", @@ -8885,8 +8876,6 @@ "version": "2.24.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">= 0.8.0" } @@ -8985,8 +8974,6 @@ "version": "0.6.3", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "string-width": "^4.2.0" }, @@ -9001,8 +8988,6 @@ "version": "2.1.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" @@ -9122,8 +9107,6 @@ "version": "1.8.2", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">=4.0.0" } @@ -9814,16 +9797,16 @@ "license": "MIT" }, "node_modules/cypress": { - "version": "12.9.0", + "version": "12.17.4", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.17.4.tgz", + "integrity": "sha512-gAN8Pmns9MA5eCDFSDJXWKUpaL3IDd89N9TtIupjYnzLSmlpVr+ZR+vb4U/qaMp+lB6tBvAmt7504c3Z4RU5KQ==", "dev": true, "hasInstallScript": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { - "@cypress/request": "^2.88.10", + "@cypress/request": "2.88.12", "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", + "@types/node": "^16.18.39", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", @@ -9835,7 +9818,7 @@ "check-more-types": "^2.24.0", "cli-cursor": "^3.1.0", "cli-table3": "~0.6.1", - "commander": "^5.1.0", + "commander": "^6.2.1", "common-tags": "^1.8.0", "dayjs": "^1.10.4", "debug": "^4.3.4", @@ -9853,12 +9836,13 @@ "listr2": "^3.8.3", "lodash": "^4.17.21", "log-symbols": "^4.0.0", - "minimist": "^1.2.6", + "minimist": "^1.2.8", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", + "process": "^0.11.10", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", - "semver": "^7.3.2", + "semver": "^7.5.3", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", @@ -9872,25 +9856,23 @@ } }, "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.37", + "version": "16.18.119", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.119.tgz", + "integrity": "sha512-ia7V9a2FnhUFfetng4/sRPBMTwHZUkPFY736rb1cg9AgG7MZdR97q7/nLR9om+sq5f1la9C857E0l/nrI0RiFQ==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/cypress/node_modules/bluebird": { "version": "3.7.2", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/cypress/node_modules/commander": { - "version": "5.1.0", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">= 6" } @@ -9899,8 +9881,6 @@ "version": "4.1.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", @@ -9923,8 +9903,6 @@ "version": "9.1.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -9939,8 +9917,6 @@ "version": "5.2.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "pump": "^3.0.0" }, @@ -9955,8 +9931,6 @@ "version": "1.1.1", "dev": true, "license": "Apache-2.0", - "optional": true, - "peer": true, "engines": { "node": ">=8.12.0" } @@ -9964,16 +9938,25 @@ "node_modules/cypress/node_modules/proxy-from-env": { "version": "1.0.0", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" + }, + "node_modules/cypress/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, "node_modules/cypress/node_modules/supports-color": { "version": "8.1.1", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -10193,10 +10176,10 @@ }, "node_modules/dashdash": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "assert-plus": "^1.0.0" }, @@ -10381,7 +10364,9 @@ "license": "MIT" }, "node_modules/detect-port": { - "version": "1.5.1", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", + "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", "dev": true, "license": "MIT", "dependencies": { @@ -10391,6 +10376,9 @@ "bin": { "detect": "bin/detect-port.js", "detect-port": "bin/detect-port.js" + }, + "engines": { + "node": ">= 4.0.0" } }, "node_modules/diff": { @@ -10534,10 +10522,10 @@ }, "node_modules/ecc-jsbn": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -11446,9 +11434,7 @@ "node_modules/eventemitter2": { "version": "6.4.7", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/eventemitter3": { "version": "4.0.7", @@ -11489,8 +11475,6 @@ "version": "4.1.1", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "pify": "^2.2.0" }, @@ -11622,8 +11606,6 @@ "version": "2.0.1", "dev": true, "license": "BSD-2-Clause", - "optional": true, - "peer": true, "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -11643,8 +11625,6 @@ "version": "5.2.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "pump": "^3.0.0" }, @@ -11657,13 +11637,13 @@ }, "node_modules/extsprintf": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "dev": true, "engines": [ "node >=0.6.0" ], - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", @@ -11979,10 +11959,10 @@ }, "node_modules/forever-agent": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, "license": "Apache-2.0", - "optional": true, - "peer": true, "engines": { "node": "*" } @@ -12319,18 +12299,16 @@ "version": "3.2.1", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "async": "^3.2.0" } }, "node_modules/getpass": { "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "assert-plus": "^1.0.0" } @@ -12371,8 +12349,6 @@ "version": "3.0.1", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "ini": "2.0.0" }, @@ -12387,8 +12363,6 @@ "version": "2.0.0", "dev": true, "license": "ISC", - "optional": true, - "peer": true, "engines": { "node": ">=10" } @@ -12762,10 +12736,10 @@ }, "node_modules/http-signature": { "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^2.0.2", @@ -13164,10 +13138,10 @@ }, "node_modules/is-ci": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "ci-info": "^3.2.0" }, @@ -13250,8 +13224,6 @@ "version": "0.4.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "global-dirs": "^3.0.0", "is-path-inside": "^3.0.2" @@ -13321,8 +13293,6 @@ "version": "3.0.3", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">=8" } @@ -13446,10 +13416,10 @@ }, "node_modules/is-typedarray": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/is-unicode-supported": { "version": "0.1.0", @@ -13534,10 +13504,10 @@ }, "node_modules/isstream": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", @@ -14281,10 +14251,10 @@ }, "node_modules/jsbn": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/jsdom": { "version": "20.0.3", @@ -14370,10 +14340,10 @@ }, "node_modules/json-schema": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true, - "license": "(AFL-2.1 OR BSD-3-Clause)", - "optional": true, - "peer": true + "license": "(AFL-2.1 OR BSD-3-Clause)" }, "node_modules/json-schema-traverse": { "version": "1.0.0", @@ -14387,10 +14357,10 @@ }, "node_modules/json-stringify-safe": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true, - "license": "ISC", - "optional": true, - "peer": true + "license": "ISC" }, "node_modules/json5": { "version": "2.2.3", @@ -14427,13 +14397,13 @@ }, "node_modules/jsprim": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, "engines": [ "node >=0.6.0" ], "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -14489,8 +14459,6 @@ "version": "1.6.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": "> 0.8" } @@ -15040,8 +15008,6 @@ "version": "3.14.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "cli-truncate": "^2.1.0", "colorette": "^2.0.16", @@ -15137,9 +15103,7 @@ "node_modules/lodash.once": { "version": "4.1.1", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/lodash.uniq": { "version": "4.5.0", @@ -16677,9 +16641,7 @@ "node_modules/ospath": { "version": "1.2.2", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/outlayer": { "version": "2.1.1", @@ -17133,10 +17095,10 @@ }, "node_modules/performance-now": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/picocolors": { "version": "1.0.0", @@ -18415,6 +18377,16 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "dev": true, @@ -18496,8 +18468,6 @@ "version": "3.0.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -18865,8 +18835,6 @@ "version": "3.0.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "throttleit": "^1.0.0" } @@ -19671,8 +19639,6 @@ "version": "3.0.0", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -19855,11 +19821,11 @@ "license": "BSD-3-Clause" }, "node_modules/sshpk": { - "version": "1.17.0", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dev": true, "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -20476,9 +20442,7 @@ "node_modules/throttleit": { "version": "1.0.0", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/through": { "version": "2.3.8", @@ -20947,10 +20911,10 @@ }, "node_modules/tunnel-agent": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, "license": "Apache-2.0", - "optional": true, - "peer": true, "dependencies": { "safe-buffer": "^5.0.1" }, @@ -20960,10 +20924,10 @@ }, "node_modules/tweetnacl": { "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true, - "license": "Unlicense", - "optional": true, - "peer": true + "license": "Unlicense" }, "node_modules/type-check": { "version": "0.4.0", @@ -21258,13 +21222,13 @@ }, "node_modules/verror": { "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, "engines": [ "node >=0.6.0" ], "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -21273,10 +21237,10 @@ }, "node_modules/verror/node_modules/core-util-is": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", diff --git a/package.json b/package.json index f792383140..702225cef6 100644 --- a/package.json +++ b/package.json @@ -121,6 +121,7 @@ "@typescript-eslint/eslint-plugin": "5.59.2", "@typescript-eslint/parser": "5.59.2", "cross-env": "^7.0.3", + "cypress": "^12.17.4", "eslint": "~8.18.0", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-prettier": "^8.7.0", @@ -141,5 +142,16 @@ }, "overrides": { "autoprefixer": "10.4.5" - } + }, + "description": "> This Platform Client (Mzima) workspace is generated using [Nx, a Smart, fast and extensible build system.](https://nx.dev)", + "main": ".eslintrc.js", + "repository": { + "type": "git", + "url": "git+https://github.com/ushahidi/platform-client-mzima.git" + }, + "author": "Adina", + "bugs": { + "url": "https://github.com/ushahidi/platform-client-mzima/issues" + }, + "homepage": "https://github.com/ushahidi/platform-client-mzima#readme" }