|
1 | | -# TBD |
| 1 | +# Integration Tests |
| 2 | + |
| 3 | +This directory contains integration tests for GraphQL.js across different environments and bundlers, testing basic GraphQL.JS functionality, as well as development mode and production mode behavior. |
| 4 | + |
| 5 | +Tests are run via the main integration test suite in `resources/integration-test.ts`. |
| 6 | + |
| 7 | +## Test Structure |
| 8 | + |
| 9 | +### Basic GraphQL.JS Functionality Tests |
| 10 | + |
| 11 | +Each subdirectory represents a different environment/bundler: |
| 12 | + |
| 13 | +- `node` - tests for supported Node.js versions |
| 14 | +- `ts` - tests for supported Typescript versions |
| 15 | +- `webpack` - tests for Webpack |
| 16 | + |
| 17 | +### Verifying Development Mode Tests |
| 18 | + |
| 19 | +Each subdirectory represents a different environment/bundler demonstrating enabling development mode via conditional exports or by explicitly importing `graphql/dev`: |
| 20 | + |
| 21 | +- `dev-bun/`: via `bun --conditions=development test.js` |
| 22 | +- `dev-deno-implicit`: via `deno run --unstable-node-conditions=development test.js` |
| 23 | +- `dev-deno-explicit`: via `import 'graphql/dev'` |
| 24 | +- `dev-node-implicit`: via `node --conditions=development test.js` |
| 25 | +- `dev-node-explicit`: via `import 'graphql/dev'` |
| 26 | +- `dev-webpack`: via `{resolve: { conditionNames: ['development'] } }` |
| 27 | +- `dev-rspack`: via `{resolve: { conditionNames: ['development'] } }` |
| 28 | +- `dev-esbuild`: via `esbuild --conditions=development test.js` |
| 29 | +- `dev-rollup`: via `@rollup/plugin-node-resolve` with `conditions: ['development']` |
| 30 | +- `dev-swc`: via `import 'graphql/dev'` |
| 31 | +- `dev-vitest`: via `resolve.conditions: ['development']` |
| 32 | + |
| 33 | +### Verifying Production Mode Tests |
| 34 | + |
| 35 | +Each subdirectory represents a different environment/bundler demonstrating production mode when development mode is not enabled: |
| 36 | + |
| 37 | +- `prod-bun/`: via `bun test.js` |
| 38 | +- `prod-deno`: via `deno run test.js` |
| 39 | +- `prod-node`: via `node test.js` |
| 40 | +- `prod-webpack`: via default Webpack configuration |
| 41 | +- `prod-rspack`: via default Rspack configuration |
| 42 | +- `prod-esbuild`: via `esbuild test.js` |
| 43 | +- `prod-rollup`: via default Rollup configuration |
| 44 | +- `prod-swc`: via default SWC configuration |
0 commit comments