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:
22
frontend/node_modules/jest/LICENSE
generated
vendored
Normal file
22
frontend/node_modules/jest/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
Copyright Contributors to the Jest project.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
11
frontend/node_modules/jest/README.md
generated
vendored
Normal file
11
frontend/node_modules/jest/README.md
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
# Jest
|
||||
|
||||
🃏 Delightful JavaScript Testing
|
||||
|
||||
- **👩🏻💻 Developer Ready**: Complete and ready to set-up JavaScript testing solution. Works out of the box for any React project.
|
||||
|
||||
- **🏃🏽 Instant Feedback**: Failed tests run first. Fast interactive mode can switch between running all tests or only test files related to changed files.
|
||||
|
||||
- **📸 Snapshot Testing**: Jest can [capture snapshots](https://jestjs.io/docs/snapshot-testing) of React trees or other serializable values to simplify UI testing.
|
||||
|
||||
Read More: https://jestjs.io/
|
||||
13
frontend/node_modules/jest/bin/jest.js
generated
vendored
Executable file
13
frontend/node_modules/jest/bin/jest.js
generated
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
const importLocal = require('import-local');
|
||||
|
||||
if (!importLocal(__filename)) {
|
||||
require('jest-cli/bin/jest');
|
||||
}
|
||||
9
frontend/node_modules/jest/build/index.d.mts
generated
vendored
Normal file
9
frontend/node_modules/jest/build/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { SearchSource, createTestScheduler, getVersion, runCLI } from "@jest/core";
|
||||
import { buildArgv, run } from "jest-cli";
|
||||
import { Config as Config$1 } from "@jest/types";
|
||||
|
||||
//#region src/index.d.ts
|
||||
|
||||
type Config = Config$1.InitialOptions;
|
||||
//#endregion
|
||||
export { Config, SearchSource, buildArgv, createTestScheduler, getVersion, run, runCLI };
|
||||
31
frontend/node_modules/jest/build/index.d.ts
generated
vendored
Normal file
31
frontend/node_modules/jest/build/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import {
|
||||
SearchSource,
|
||||
createTestScheduler,
|
||||
getVersion,
|
||||
runCLI,
|
||||
} from '@jest/core';
|
||||
import {Config as Config_2} from '@jest/types';
|
||||
import {buildArgv, run} from 'jest-cli';
|
||||
|
||||
export {buildArgv};
|
||||
|
||||
export declare type Config = Config_2.InitialOptions;
|
||||
|
||||
export {createTestScheduler};
|
||||
|
||||
export {getVersion};
|
||||
|
||||
export {run};
|
||||
|
||||
export {runCLI};
|
||||
|
||||
export {SearchSource};
|
||||
|
||||
export {};
|
||||
74
frontend/node_modules/jest/build/index.js
generated
vendored
Normal file
74
frontend/node_modules/jest/build/index.js
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
/*!
|
||||
* /**
|
||||
* * Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* *
|
||||
* * This source code is licensed under the MIT license found in the
|
||||
* * LICENSE file in the root directory of this source tree.
|
||||
* * /
|
||||
*/
|
||||
/******/ (() => { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
var __webpack_exports__ = {};
|
||||
// This entry needs to be wrapped in an IIFE because it uses a non-standard name for the exports (exports).
|
||||
(() => {
|
||||
var exports = __webpack_exports__;
|
||||
|
||||
|
||||
Object.defineProperty(exports, "__esModule", ({
|
||||
value: true
|
||||
}));
|
||||
Object.defineProperty(exports, "SearchSource", ({
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _core().SearchSource;
|
||||
}
|
||||
}));
|
||||
Object.defineProperty(exports, "buildArgv", ({
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _jestCli().buildArgv;
|
||||
}
|
||||
}));
|
||||
Object.defineProperty(exports, "createTestScheduler", ({
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _core().createTestScheduler;
|
||||
}
|
||||
}));
|
||||
Object.defineProperty(exports, "getVersion", ({
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _core().getVersion;
|
||||
}
|
||||
}));
|
||||
Object.defineProperty(exports, "run", ({
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _jestCli().run;
|
||||
}
|
||||
}));
|
||||
Object.defineProperty(exports, "runCLI", ({
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _core().runCLI;
|
||||
}
|
||||
}));
|
||||
function _core() {
|
||||
const data = require("@jest/core");
|
||||
_core = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _jestCli() {
|
||||
const data = require("jest-cli");
|
||||
_jestCli = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
})();
|
||||
|
||||
module.exports = __webpack_exports__;
|
||||
/******/ })()
|
||||
;
|
||||
8
frontend/node_modules/jest/build/index.mjs
generated
vendored
Normal file
8
frontend/node_modules/jest/build/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import cjsModule from './index.js';
|
||||
|
||||
export const SearchSource = cjsModule.SearchSource;
|
||||
export const buildArgv = cjsModule.buildArgv;
|
||||
export const createTestScheduler = cjsModule.createTestScheduler;
|
||||
export const getVersion = cjsModule.getVersion;
|
||||
export const run = cjsModule.run;
|
||||
export const runCLI = cjsModule.runCLI;
|
||||
72
frontend/node_modules/jest/package.json
generated
vendored
Normal file
72
frontend/node_modules/jest/package.json
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"name": "jest",
|
||||
"description": "Delightful JavaScript Testing.",
|
||||
"version": "30.0.4",
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./build/index.d.ts",
|
||||
"require": "./build/index.js",
|
||||
"import": "./build/index.mjs",
|
||||
"default": "./build/index.js"
|
||||
},
|
||||
"./package.json": "./package.json",
|
||||
"./bin/jest": "./bin/jest.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@jest/core": "30.0.4",
|
||||
"@jest/types": "30.0.1",
|
||||
"import-local": "^3.2.0",
|
||||
"jest-cli": "30.0.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"node-notifier": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"bin": "./bin/jest.js",
|
||||
"engines": {
|
||||
"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/jestjs/jest.git",
|
||||
"directory": "packages/jest"
|
||||
},
|
||||
"homepage": "https://jestjs.io/",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"ava",
|
||||
"babel",
|
||||
"coverage",
|
||||
"easy",
|
||||
"expect",
|
||||
"facebook",
|
||||
"immersive",
|
||||
"instant",
|
||||
"jasmine",
|
||||
"jest",
|
||||
"jsdom",
|
||||
"mocha",
|
||||
"mocking",
|
||||
"painless",
|
||||
"qunit",
|
||||
"runner",
|
||||
"sandboxed",
|
||||
"snapshot",
|
||||
"tap",
|
||||
"tape",
|
||||
"test",
|
||||
"testing",
|
||||
"typescript",
|
||||
"watch"
|
||||
],
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"gitHead": "f4296d2bc85c1405f84ddf613a25d0bc3766b7e5"
|
||||
}
|
||||
Reference in New Issue
Block a user