 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>
		
			
				
	
	
		
			113 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # make-error
 | |
| 
 | |
| [](https://npmjs.org/package/make-error) [](https://travis-ci.org/JsCommunity/make-error) [](https://packagephobia.now.sh/result?p=make-error) [](https://github.com/JsCommunity/make-error/commits/master)
 | |
| 
 | |
| > Make your own error types!
 | |
| 
 | |
| ## Features
 | |
| 
 | |
| - Compatible Node & browsers
 | |
| - `instanceof` support
 | |
| - `error.name` & `error.stack` support
 | |
| - compatible with [CSP](https://en.wikipedia.org/wiki/Content_Security_Policy) (i.e. no `eval()`)
 | |
| 
 | |
| ## Installation
 | |
| 
 | |
| ### Node & [Browserify](http://browserify.org/)/[Webpack](https://webpack.js.org/)
 | |
| 
 | |
| Installation of the [npm package](https://npmjs.org/package/make-error):
 | |
| 
 | |
| ```
 | |
| > npm install --save make-error
 | |
| ```
 | |
| 
 | |
| Then require the package:
 | |
| 
 | |
| ```javascript
 | |
| var makeError = require("make-error");
 | |
| ```
 | |
| 
 | |
| ### Browser
 | |
| 
 | |
| You can directly use the build provided at [unpkg.com](https://unpkg.com):
 | |
| 
 | |
| ```html
 | |
| <script src="https://unpkg.com/make-error@1/dist/make-error.js"></script>
 | |
| ```
 | |
| 
 | |
| ## Usage
 | |
| 
 | |
| ### Basic named error
 | |
| 
 | |
| ```javascript
 | |
| var CustomError = makeError("CustomError");
 | |
| 
 | |
| // Parameters are forwarded to the super class (here Error).
 | |
| throw new CustomError("a message");
 | |
| ```
 | |
| 
 | |
| ### Advanced error class
 | |
| 
 | |
| ```javascript
 | |
| function CustomError(customValue) {
 | |
|   CustomError.super.call(this, "custom error message");
 | |
| 
 | |
|   this.customValue = customValue;
 | |
| }
 | |
| makeError(CustomError);
 | |
| 
 | |
| // Feel free to extend the prototype.
 | |
| CustomError.prototype.myMethod = function CustomError$myMethod() {
 | |
|   console.log("CustomError.myMethod (%s, %s)", this.code, this.message);
 | |
| };
 | |
| 
 | |
| //-----
 | |
| 
 | |
| try {
 | |
|   throw new CustomError(42);
 | |
| } catch (error) {
 | |
|   error.myMethod();
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Specialized error
 | |
| 
 | |
| ```javascript
 | |
| var SpecializedError = makeError("SpecializedError", CustomError);
 | |
| 
 | |
| throw new SpecializedError(42);
 | |
| ```
 | |
| 
 | |
| ### Inheritance
 | |
| 
 | |
| > Best for ES2015+.
 | |
| 
 | |
| ```javascript
 | |
| import { BaseError } from "make-error";
 | |
| 
 | |
| class CustomError extends BaseError {
 | |
|   constructor() {
 | |
|     super("custom error message");
 | |
|   }
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## Related
 | |
| 
 | |
| - [make-error-cause](https://www.npmjs.com/package/make-error-cause): Make your own error types, with a cause!
 | |
| 
 | |
| ## Contributions
 | |
| 
 | |
| Contributions are _very_ welcomed, either on the documentation or on
 | |
| the code.
 | |
| 
 | |
| You may:
 | |
| 
 | |
| - report any [issue](https://github.com/JsCommunity/make-error/issues)
 | |
|   you've encountered;
 | |
| - fork and create a pull request.
 | |
| 
 | |
| ## License
 | |
| 
 | |
| ISC © [Julien Fontanet](http://julien.isonoe.net)
 |