Set up comprehensive frontend testing infrastructure
- 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>
This commit is contained in:
64
frontend/node_modules/istanbul-lib-coverage/index.js
generated
vendored
Normal file
64
frontend/node_modules/istanbul-lib-coverage/index.js
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
Copyright 2012-2015, Yahoo Inc.
|
||||
Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* istanbul-lib-coverage exports an API that allows you to create and manipulate
|
||||
* file coverage, coverage maps (a set of file coverage objects) and summary
|
||||
* coverage objects. File coverage for the same file can be merged as can
|
||||
* entire coverage maps.
|
||||
*
|
||||
* @module Exports
|
||||
*/
|
||||
const { FileCoverage } = require('./lib/file-coverage');
|
||||
const { CoverageMap } = require('./lib/coverage-map');
|
||||
const { CoverageSummary } = require('./lib/coverage-summary');
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
* creates a coverage summary object
|
||||
* @param {Object} obj an argument with the same semantics
|
||||
* as the one passed to the `CoverageSummary` constructor
|
||||
* @returns {CoverageSummary}
|
||||
*/
|
||||
createCoverageSummary(obj) {
|
||||
if (obj && obj instanceof CoverageSummary) {
|
||||
return obj;
|
||||
}
|
||||
return new CoverageSummary(obj);
|
||||
},
|
||||
/**
|
||||
* creates a CoverageMap object
|
||||
* @param {Object} obj optional - an argument with the same semantics
|
||||
* as the one passed to the CoverageMap constructor.
|
||||
* @returns {CoverageMap}
|
||||
*/
|
||||
createCoverageMap(obj) {
|
||||
if (obj && obj instanceof CoverageMap) {
|
||||
return obj;
|
||||
}
|
||||
return new CoverageMap(obj);
|
||||
},
|
||||
/**
|
||||
* creates a FileCoverage object
|
||||
* @param {Object} obj optional - an argument with the same semantics
|
||||
* as the one passed to the FileCoverage constructor.
|
||||
* @returns {FileCoverage}
|
||||
*/
|
||||
createFileCoverage(obj) {
|
||||
if (obj && obj instanceof FileCoverage) {
|
||||
return obj;
|
||||
}
|
||||
return new FileCoverage(obj);
|
||||
}
|
||||
};
|
||||
|
||||
/** classes exported for reuse */
|
||||
module.exports.classes = {
|
||||
/**
|
||||
* the file coverage constructor
|
||||
*/
|
||||
FileCoverage
|
||||
};
|
||||
Reference in New Issue
Block a user