 aacb45156b
			
		
	
	aacb45156b
	
	
	
		
			
			- Install Jest for unit testing with React Testing Library - Install Playwright for end-to-end testing - Configure Jest with proper TypeScript support and module mapping - Create test setup files and utilities for both unit and e2e tests Components: * Jest configuration with coverage thresholds * Playwright configuration with browser automation * Unit tests for LoginForm, AuthContext, and useSocketIO hook * E2E tests for authentication, dashboard, and agents workflows * GitHub Actions workflow for automated testing * Mock data and API utilities for consistent testing * Test documentation with best practices Testing features: - Unit tests with 70% coverage threshold - E2E tests with API mocking and user journey testing - CI/CD integration for automated test runs - Cross-browser testing support with Playwright - Authentication system testing end-to-end 🚀 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # v8-to-istanbul
 | |
| 
 | |
| [](https://github.com/istanbuljs/v8-to-istanbul/actions)
 | |
| [](https://conventionalcommits.org)
 | |
| 
 | |
| 
 | |
| converts from v8 coverage format to [istanbul's coverage format](https://github.com/gotwarlost/istanbul/blob/master/coverage.json.md).
 | |
| 
 | |
| ## Usage
 | |
| 
 | |
| ```js
 | |
| const v8toIstanbul = require('v8-to-istanbul')
 | |
| // the path to the original source-file is required, as its contents are
 | |
| // used during the conversion algorithm.
 | |
| const converter = v8toIstanbul('./path-to-instrumented-file.js')
 | |
| await converter.load() // this is required due to async file reading.
 | |
| // provide an array of coverage information in v8 format.
 | |
| converter.applyCoverage([
 | |
|   {
 | |
|     "functionName": "",
 | |
|     "ranges": [
 | |
|       {
 | |
|         "startOffset": 0,
 | |
|         "endOffset": 520,
 | |
|         "count": 1
 | |
|       }
 | |
|     ],
 | |
|     "isBlockCoverage": true
 | |
|   },
 | |
|   // ...
 | |
| ])
 | |
| // output coverage information in a form that can
 | |
| // be consumed by Istanbul.
 | |
| console.info(JSON.stringify(converter.toIstanbul()))
 | |
| ```
 | |
| 
 | |
| ## Ignoring Uncovered Lines
 | |
| 
 | |
| Sometimes you might find yourself wanting to ignore uncovered lines
 | |
| in your application (for example, perhaps you run your tests in Linux, but
 | |
| there's code that only executes on Windows).
 | |
| 
 | |
| To ignore lines, use the special comment `/* v8 ignore next */`.
 | |
| 
 | |
| **NOTE**: Before version `9.2.0` the ignore hint had to contain `c8` keyword, e.g. `/* c8 ignore ...`.
 | |
| 
 | |
| ### ignoring the next line
 | |
| 
 | |
| ```js
 | |
| const myVariable = 99
 | |
| /* v8 ignore next */
 | |
| if (process.platform === 'win32') console.info('hello world')
 | |
| ```
 | |
| 
 | |
| ### ignoring the next N lines
 | |
| 
 | |
| ```js
 | |
| const myVariable = 99
 | |
| /* v8 ignore next 3 */
 | |
| if (process.platform === 'win32') {
 | |
|   console.info('hello world')
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### ignoring all lines until told
 | |
| 
 | |
| ```js
 | |
| /* v8 ignore start */
 | |
| function dontMindMe() {
 | |
|   // ...
 | |
| }
 | |
| /* v8 ignore stop */
 | |
| ```
 | |
| 
 | |
| ### ignoring the same line as the comment
 | |
| 
 | |
| ```js
 | |
| const myVariable = 99
 | |
| const os = process.platform === 'darwin' ? 'OSXy' /* v8 ignore next */ : 'Windowsy' 
 | |
| ```
 | |
| 
 | |
| ## Testing
 | |
| 
 | |
| To execute tests, simply run:
 | |
| 
 | |
| ```bash
 | |
| npm test
 | |
| ```
 |