focalboard/webapp/package.json
kamre a498149a76
[GH-42] Cypress tests for login actions (#1679)
* Testing API added to server:
 - registered only if `enableTestingAPI` is set to `true` in the config file
 - has only one route `test/reset`
 - reset clears the tables in db for blocks, users, sessions
 - functions `DeleteAllBlocks` and `DeleteAllUsers` added to `Store` interface
 - new functions implemented for `SQLStore`

* Cypress tests (initial version) for login actions added:

  - redirect to login page,
  - register user,
  - test for loading home page deleted,
  - allow js in `tsconfig.json` for cypress tests.

* Cypress tests for login actions:

  - check that main page with workspace is visible after registration,
  - initial version of test for login of register user.

* Cypress tests for login actions:

  - function for checking that workspace is available added,
  - functions for login and logout added,
  - test for password change added,
  - session parameters added to server config for cypress testing.

* Switch Cypress tests to typescript.

* Use ids for inputs instead of placeholder text.

* Use cypress request for login without loading login page.

* Cypress custom command for login added.

* Cypress tests fixed:
 - new cypress commands for server reset, register/login user
 - single test for "create and delete board/card"
 - fixes for `BoardPage` component useEffect callbacks
 - npm script `runserver-test` doesn't use single user mode

* Deletion of all blocks changed:
 - also deletes blocks from history
 - public function renamed to DeleteAllBlocksPermanently
 - code for mocks and public methods generated

* Server tests for files fixed on windows.

* Cypress tests for the registration of second user via invite link added.

* Added `baseUrl` in main `tsconfig.json` (required by cypress configuration).

* Cypress test fixed. Comments as well as log messages added.

* Log a message if testing API is enabled.

* Single cypress test for register/login actions.

* Revert changes to server.

* More convenient cypress commands:
  - all API calls made as separate commands
  - declarations for commands moved to separate global.d.ts file
  - utility functions moved after test actions in 'Login actions' test
2021-11-22 16:59:01 +01:00

134 lines
4.5 KiB
JSON

{
"name": "focalboard",
"version": "0.10.0",
"private": true,
"description": "",
"scripts": {
"pack": "cross-env NODE_ENV=production webpack --config webpack.prod.js",
"packdev": "cross-env NODE_ENV=dev webpack --config webpack.dev.js",
"watchdev": "cross-env NODE_ENV=dev webpack --watch --progress --config webpack.dev.js",
"test": "jest",
"updatesnapshot": "jest --updateSnapshot",
"check": "eslint --ext .tsx,.ts . --quiet --cache && stylelint **/*.scss",
"fix": "eslint --ext .tsx,.ts . --quiet --fix --cache && stylelint --fix **/*.scss",
"fix:scss": "prettier --write './src/**/*.scss'",
"i18n-extract": "formatjs extract ../mattermost-plugin/webapp/src/*/*/*.ts? src/*/*/*.ts? src/*/*.ts? src/*.ts? --out-file i18n/tmp.json; formatjs compile i18n/tmp.json --out-file i18n/en.json; rm i18n/tmp.json",
"runserver-test": "cd cypress && \"../../bin/focalboard-server\"",
"cypress:ci": "start-server-and-test runserver-test http://localhost:8088 cypress:run",
"cypress:run": "cypress run",
"cypress:run:chrome": "cypress run --browser chrome",
"cypress:run:firefox": "cypress run --browser firefox",
"cypress:run:edge": "cypress run --browser edge",
"cypress:run:electron": "cypress run --browser electron",
"cypress:open": "cypress open",
"updatesnapshots": "jest --updateSnapshot"
},
"dependencies": {
"@mattermost/compass-icons": "^0.1.10",
"@reduxjs/toolkit": "^1.6.0",
"color": "^4.0.0",
"easymde": "^2.15.0",
"emoji-mart": "^3.0.1",
"imagemin-gifsicle": "^7.0.0",
"imagemin-mozjpeg": "^9.0.0",
"imagemin-optipng": "^8.0.0",
"imagemin-pngquant": "^9.0.2",
"imagemin-svgo": "^8.0.0",
"imagemin-webp": "^6.0.0",
"lodash": "^4.17.21",
"marked": ">=2.0.1",
"moment": "^2.29.1",
"nanoevents": "^5.1.13",
"react": "^17.0.2",
"react-day-picker": "^7.4.10",
"react-dnd": "^14.0.2",
"react-dnd-html5-backend": "^14.0.0",
"react-dnd-touch-backend": "^14.0.0",
"react-dom": "^17.0.2",
"react-hot-keys": "^2.6.2",
"react-hotkeys-hook": "^3.3.0",
"react-intl": "^5.13.5",
"react-redux": "^7.2.4",
"react-router-dom": "^5.2.0",
"react-select": "^4.3.0",
"react-simplemde-editor": "^5.0.1"
},
"jest": {
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
"\\.(scss|css)$": "<rootDir>/__mocks__/styleMock.js"
},
"globals": {
"ts-jest": {
"tsconfig": "./src/tsconfig.json"
}
},
"transform": {
"^.+\\.tsx?$": "ts-jest"
},
"collectCoverage": true,
"collectCoverageFrom": [
"src/**/*.{ts,tsx,js,jsx}",
"!src/test/**"
]
},
"devDependencies": {
"@formatjs/cli": "^3.2.0",
"@formatjs/ts-transformer": "^3.2.1",
"@testing-library/dom": "^7.31.2",
"@testing-library/jest-dom": "^5.11.10",
"@testing-library/react": "^11.2.5",
"@testing-library/user-event": "^13.1.9",
"@types/color": "^3.0.2",
"@types/emoji-mart": "^3.0.4",
"@types/jest": "^26.0.21",
"@types/marked": "^2.0.0",
"@types/nanoevents": "^1.0.0",
"@types/react": "^17.0.3",
"@types/react-dom": "^17.0.3",
"@types/react-intl": "^3.0.0",
"@types/react-redux": "^7.1.16",
"@types/react-router-dom": "^5.1.7",
"@types/react-select": "^4.0.13",
"@types/redux-mock-store": "^1.0.3",
"@typescript-eslint/eslint-plugin": "^4.19.0",
"@typescript-eslint/parser": "^4.19.0",
"copy-webpack-plugin": "^8.1.0",
"cross-env": "^7.0.3",
"css-loader": "^5.2.0",
"eslint": "^7.22.0",
"eslint-import-resolver-webpack": "0.13.0",
"eslint-plugin-babel": "^5.3.1",
"eslint-plugin-cypress": "2.11.2",
"eslint-plugin-header": "3.1.1",
"eslint-plugin-import": "2.22.1",
"eslint-plugin-jquery": "1.5.1",
"eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#070ce792d105482ffb2b27cfc0b7e78b3d20acee",
"eslint-plugin-no-only-tests": "2.4.0",
"eslint-plugin-react": "7.23.1",
"fetch-mock-jest": "^1.5.1",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.3.1",
"image-webpack-loader": "^7.0.1",
"isomorphic-fetch": "^3.0.0",
"jest": "^26.6.3",
"prettier": "^2.2.1",
"redux-mock-store": "^1.5.4",
"sass": "^1.32.8",
"sass-loader": "^11.0.1",
"start-server-and-test": "^1.12.1",
"style-loader": "^2.0.0",
"stylelint": "^13.13.1",
"stylelint-config-sass-guidelines": "^8.0.0",
"terser-webpack-plugin": "^5.1.1",
"ts-jest": "^26.5.4",
"ts-loader": "^8.0.18",
"typescript": "^4.2.3",
"webpack": "^5.28.0",
"webpack-cli": "^4.5.0",
"webpack-merge": "^5.7.3"
},
"optionalDependencies": {
"cypress": "^6.8.0"
}
}