 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>
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| //.CommonJS
 | |
| var CSSOM = {
 | |
|   CSSRule: require("./CSSRule").CSSRule,
 | |
|   CSSGroupingRule: require("./CSSGroupingRule").CSSGroupingRule,
 | |
| };
 | |
| ///CommonJS
 | |
| 
 | |
| /**
 | |
|  * @constructor
 | |
|  * @see https://drafts.csswg.org/css-cascade-5/#csslayerblockrule
 | |
|  */
 | |
| CSSOM.CSSLayerBlockRule = function CSSLayerBlockRule() {
 | |
|   CSSOM.CSSGroupingRule.call(this);
 | |
|   this.layerName = "";
 | |
|   this.cssRules = [];
 | |
| };
 | |
| 
 | |
| CSSOM.CSSLayerBlockRule.prototype = new CSSOM.CSSGroupingRule();
 | |
| CSSOM.CSSLayerBlockRule.prototype.constructor = CSSOM.CSSLayerBlockRule;
 | |
| CSSOM.CSSLayerBlockRule.prototype.type = 18;
 | |
| 
 | |
| Object.defineProperties(CSSOM.CSSLayerBlockRule.prototype, {
 | |
|   layerNameText: {
 | |
|     get: function () {
 | |
|       return this.layerName;
 | |
|     },
 | |
|     set: function (value) {
 | |
|       this.layerName = value;
 | |
|     },
 | |
|     configurable: true,
 | |
|     enumerable: true,
 | |
|   },
 | |
|   cssText: {
 | |
|     get: function () {
 | |
|       var cssTexts = [];
 | |
|       for (var i = 0, length = this.cssRules.length; i < length; i++) {
 | |
|         cssTexts.push(this.cssRules[i].cssText);
 | |
|       }
 | |
|       return "@layer " + this.layerNameText + " {" + cssTexts.join("") + "}";
 | |
|     },
 | |
|     configurable: true,
 | |
|     enumerable: true,
 | |
|   },
 | |
| });
 | |
| 
 | |
| //.CommonJS
 | |
| exports.CSSLayerBlockRule = CSSOM.CSSLayerBlockRule;
 | |
| ///CommonJS
 |