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:
78
frontend/node_modules/@testing-library/user-event/dist/cjs/utils/index.js
generated
vendored
Normal file
78
frontend/node_modules/@testing-library/user-event/dist/cjs/utils/index.js
generated
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
'use strict';
|
||||
|
||||
var isClickableInput = require('./click/isClickableInput.js');
|
||||
var Blob = require('./dataTransfer/Blob.js');
|
||||
var DataTransfer = require('./dataTransfer/DataTransfer.js');
|
||||
var FileList = require('./dataTransfer/FileList.js');
|
||||
var Clipboard = require('./dataTransfer/Clipboard.js');
|
||||
var timeValue = require('./edit/timeValue.js');
|
||||
var isContentEditable = require('./edit/isContentEditable.js');
|
||||
var isEditable = require('./edit/isEditable.js');
|
||||
var maxLength = require('./edit/maxLength.js');
|
||||
var setFiles = require('./edit/setFiles.js');
|
||||
var cursor = require('./focus/cursor.js');
|
||||
var getActiveElement = require('./focus/getActiveElement.js');
|
||||
var getTabDestination = require('./focus/getTabDestination.js');
|
||||
var isFocusable = require('./focus/isFocusable.js');
|
||||
var selection = require('./focus/selection.js');
|
||||
var selector = require('./focus/selector.js');
|
||||
var readNextDescriptor = require('./keyDef/readNextDescriptor.js');
|
||||
var cloneEvent = require('./misc/cloneEvent.js');
|
||||
var findClosest = require('./misc/findClosest.js');
|
||||
var getDocumentFromNode = require('./misc/getDocumentFromNode.js');
|
||||
var getTreeDiff = require('./misc/getTreeDiff.js');
|
||||
var getWindow = require('./misc/getWindow.js');
|
||||
var isDescendantOrSelf = require('./misc/isDescendantOrSelf.js');
|
||||
var isElementType = require('./misc/isElementType.js');
|
||||
var isVisible = require('./misc/isVisible.js');
|
||||
var isDisabled = require('./misc/isDisabled.js');
|
||||
var level = require('./misc/level.js');
|
||||
var wait = require('./misc/wait.js');
|
||||
var cssPointerEvents = require('./pointer/cssPointerEvents.js');
|
||||
|
||||
|
||||
|
||||
exports.isClickableInput = isClickableInput.isClickableInput;
|
||||
exports.readBlobText = Blob.readBlobText;
|
||||
exports.createDataTransfer = DataTransfer.createDataTransfer;
|
||||
exports.getBlobFromDataTransferItem = DataTransfer.getBlobFromDataTransferItem;
|
||||
exports.createFileList = FileList.createFileList;
|
||||
exports.attachClipboardStubToView = Clipboard.attachClipboardStubToView;
|
||||
exports.createClipboardItem = Clipboard.createClipboardItem;
|
||||
exports.detachClipboardStubFromView = Clipboard.detachClipboardStubFromView;
|
||||
exports.readDataTransferFromClipboard = Clipboard.readDataTransferFromClipboard;
|
||||
exports.resetClipboardStubOnView = Clipboard.resetClipboardStubOnView;
|
||||
exports.writeDataTransferToClipboard = Clipboard.writeDataTransferToClipboard;
|
||||
exports.buildTimeValue = timeValue.buildTimeValue;
|
||||
exports.isValidDateOrTimeValue = timeValue.isValidDateOrTimeValue;
|
||||
exports.getContentEditable = isContentEditable.getContentEditable;
|
||||
exports.isContentEditable = isContentEditable.isContentEditable;
|
||||
exports.isEditable = isEditable.isEditable;
|
||||
exports.isEditableInputOrTextArea = isEditable.isEditableInputOrTextArea;
|
||||
exports.getMaxLength = maxLength.getMaxLength;
|
||||
exports.supportsMaxLength = maxLength.supportsMaxLength;
|
||||
exports.setFiles = setFiles.setFiles;
|
||||
exports.getNextCursorPosition = cursor.getNextCursorPosition;
|
||||
exports.getActiveElement = getActiveElement.getActiveElement;
|
||||
exports.getActiveElementOrBody = getActiveElement.getActiveElementOrBody;
|
||||
exports.getTabDestination = getTabDestination.getTabDestination;
|
||||
exports.isFocusable = isFocusable.isFocusable;
|
||||
exports.hasNoSelection = selection.hasNoSelection;
|
||||
exports.hasOwnSelection = selection.hasOwnSelection;
|
||||
exports.FOCUSABLE_SELECTOR = selector.FOCUSABLE_SELECTOR;
|
||||
exports.readNextDescriptor = readNextDescriptor.readNextDescriptor;
|
||||
exports.cloneEvent = cloneEvent.cloneEvent;
|
||||
exports.findClosest = findClosest.findClosest;
|
||||
exports.getDocumentFromNode = getDocumentFromNode.getDocumentFromNode;
|
||||
exports.getTreeDiff = getTreeDiff.getTreeDiff;
|
||||
exports.getWindow = getWindow.getWindow;
|
||||
exports.isDescendantOrSelf = isDescendantOrSelf.isDescendantOrSelf;
|
||||
exports.isElementType = isElementType.isElementType;
|
||||
exports.isVisible = isVisible.isVisible;
|
||||
exports.isDisabled = isDisabled.isDisabled;
|
||||
exports.ApiLevel = level.ApiLevel;
|
||||
exports.getLevelRef = level.getLevelRef;
|
||||
exports.setLevelRef = level.setLevelRef;
|
||||
exports.wait = wait.wait;
|
||||
exports.assertPointerEvents = cssPointerEvents.assertPointerEvents;
|
||||
exports.hasPointerEvents = cssPointerEvents.hasPointerEvents;
|
||||
Reference in New Issue
Block a user