mirror of
https://github.com/twentyhq/twenty.git
synced 2024-12-25 04:55:30 +03:00
eef7f1661d
### Summary This PR introduces several integration tests, a mix of manually written tests and those generated using the `generate-integration-tests` Python script located in the `scripts` folder. ### Tests Added: - **Authentication tests**: Validating login, registration, and token handling. - **FindMany queries**: Fetching multiple records for all existing entities that do not require input arguments. ### How the Integration Tests Work: - A `setupTest` function is called during the Jest test run. This function initializes a test instance of the application and exposes it on a dedicated port. - Since tests are executed in isolated workers, they do not have direct access to the in-memory app instance. Instead, the tests query the application through the exposed port. - A static accessToken is used, this one as a big expiration time so it will never expire (365 years) - The queries are executed, and the results are validated against expected outcomes. ### Current State and Next Steps: - These tests currently run using the existing development seed data. We plan to introduce more comprehensive test data using `faker` to improve coverage. - At the moment, the only mutation tests implemented are for authentication. Future updates should include broader mutation testing for other entities. --------- Co-authored-by: Charles Bochet <charles@twenty.com>
111 lines
2.6 KiB
Plaintext
111 lines
2.6 KiB
Plaintext
{
|
|
"folders": [
|
|
{
|
|
"name": "ROOT",
|
|
"path": "../"
|
|
},
|
|
{
|
|
"name": "packages/twenty-chrome-extension",
|
|
"path": "../packages/twenty-chrome-extension"
|
|
},
|
|
{
|
|
"name": "packages/twenty-docker",
|
|
"path": "../packages/twenty-docker"
|
|
},
|
|
{
|
|
"name": "packages/twenty-front",
|
|
"path": "../packages/twenty-front"
|
|
},
|
|
{
|
|
"name": "packages/twenty-ui",
|
|
"path": "../packages/twenty-ui"
|
|
},
|
|
{
|
|
"name": "packages/twenty-emails",
|
|
"path": "../packages/twenty-emails"
|
|
},
|
|
{
|
|
"name": "packages/twenty-postgres",
|
|
"path": "../packages/twenty-postgres"
|
|
},
|
|
{
|
|
"name": "packages/twenty-server",
|
|
"path": "../packages/twenty-server"
|
|
},
|
|
{
|
|
"name": "packages/twenty-utils",
|
|
"path": "../packages/twenty-utils"
|
|
},
|
|
{
|
|
"name": "packages/twenty-zapier",
|
|
"path": "../packages/twenty-zapier"
|
|
},
|
|
{
|
|
"name": "tools/eslint-rules",
|
|
"path": "../tools/eslint-rules"
|
|
},
|
|
],
|
|
"settings": {
|
|
"editor.formatOnSave": false,
|
|
"files.eol": "auto",
|
|
"[typescript]": {
|
|
"editor.formatOnSave": false,
|
|
"editor.codeActionsOnSave": {
|
|
"source.fixAll.eslint": "explicit",
|
|
"source.addMissingImports": "always"
|
|
}
|
|
},
|
|
"[javascript]": {
|
|
"editor.formatOnSave": false,
|
|
"editor.codeActionsOnSave": {
|
|
"source.fixAll.eslint": "explicit",
|
|
"source.addMissingImports": "always"
|
|
}
|
|
},
|
|
"[typescriptreact]": {
|
|
"editor.formatOnSave": false,
|
|
"editor.codeActionsOnSave": {
|
|
"source.fixAll.eslint": "explicit",
|
|
"source.addMissingImports": "always"
|
|
}
|
|
},
|
|
"[json]": {
|
|
"editor.formatOnSave": true
|
|
},
|
|
"javascript.format.enable": false,
|
|
"typescript.format.enable": false,
|
|
"cSpell.enableFiletypes": [
|
|
"!javascript",
|
|
"!json",
|
|
"!typescript",
|
|
"!typescriptreact",
|
|
"md",
|
|
"mdx"
|
|
],
|
|
"cSpell.words": [
|
|
"twentyhq"
|
|
],
|
|
"typescript.preferences.importModuleSpecifier": "non-relative",
|
|
"[javascript][typescript][typescriptreact]": {
|
|
"editor.codeActionsOnSave": {
|
|
"source.fixAll.eslint": "explicit",
|
|
"source.addMissingImports": "always"
|
|
}
|
|
},
|
|
"search.exclude": {
|
|
"**/.yarn": true,
|
|
},
|
|
"files.exclude": {
|
|
"packages/": true
|
|
},
|
|
"jest.runMode": "on-demand",
|
|
"jest.disabledWorkspaceFolders": [
|
|
"ROOT",
|
|
"packages/twenty-zapier",
|
|
"packages/twenty-docker",
|
|
"packages/twenty-utils",
|
|
"packages/twenty-postgres"
|
|
]
|
|
}
|
|
}
|