mirror of
				https://github.com/lingble/twenty.git
				synced 2025-11-03 22:27:57 +00:00 
			
		
		
		
	### 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"
 | 
						|
    ]
 | 
						|
  }
 | 
						|
}
 |