♻️ (frontend): refactor BaseModal to use switchCaseModalSize helper
✨ (frontend): add GeneralPageHeaderComponent for settings page header
✨ (frontend): add PasswordFormComponent for password management in settings page
✨ (SettingsPage): add ProfileGradientFormComponent to allow users to choose profile gradient
✨ (SettingsPage): add StoreApiKeyFormComponent to enable users to store API keys
♻️ (GeneralPage): refactor GeneralPage to use modular components for forms
* ⬆️ (pyproject.toml): upgrade couchbase dependency to version 4.2.1 with extras and make it optional
🔧 (pyproject.toml): add couchbase to the couchbase extras section for better organization and management of dependencies
✨ (GeneralPage): add custom hooks for patching gradient, password, and saving API key
💡 (GeneralPage): add useScrollToElement hook to handle smooth scrolling to elements
✨ (hooks): add useSaveKey and useScrollToElement custom hooks
✅ (tests): update end-to-end tests for improved stability and accuracy
✨ (routes.tsx): implement lazy loading for route components to improve
performance
✨ (routes.tsx): add Suspense fallback with LoadingComponent for better
UX during lazy loading
♻️ (addNewVariableButton.tsx): remove unused Button import and add data-testid to Save Variable button for better testing
♻️ (index.tsx): add preventDefault to button click handlers to prevent form submission
♻️ (sideBarFolderButtons): add data-testid attributes to buttons and inputs for better testing and readability
♻️ (api.tsx): refactor duplicate request check logic into helper function
✨ (api.tsx): add helper function to check and store duplicate requests
♻️ (genericNode): refactor code for better readability and maintainability
💡 (genericNode): add data-testid attribute for testing purposes
🐛 (use-fetch-data-on-mount): fix error handling to prevent undefined errors
🐛 (use-handle-new-value.tsx, use-handle-refresh-buttons.tsx): fix potential undefined errors in error handling
✨ (baseModal/index.tsx, flowSettingsModal/index.tsx): add data-testid attributes for better testability
♻️ (editNodeModal/index.tsx): refactor code for better readability and consistency
♻️ (nodeToolbarComponent): remove trailing commas to improve code style
♻️ (GeneralPage): reorder imports and remove trailing commas for consistency
✅ (chatInputOutput.spec.ts): update path to ChatTest.json for better file organization
✅ (chatInputOutputUser.spec.ts): add additional interactions to chat test
✅ (dragAndDrop.spec.ts): update file path for collection.json
✅ (dropdownComponent.spec.ts): fix formatting and improve locator usage
✅ (filterEdge.spec.ts): fix locator strings and remove redundant code
✅ (floatComponent.spec.ts): remove redundant cache checks and fix locator strings
✅ (flowSettings.spec.ts): update test to use data-testid for save button
✅ (folders.spec.ts): refactor folder creation and editing to use data-testid
✅ (globalVariables.spec.ts): remove redundant save button click in test
✅ (tests): update test locators to use more specific selectors
- Change locators for "Save Changes" button to use `getByText` with exact match
- Update locators for `showchroma_server_http_port` in `inputComponent.spec.ts`
- Add additional test steps in `intComponent.spec.ts` for better coverage
✅ (keyPairListComponent.spec.ts, langflowShortcuts.spec.ts, logs.spec.ts): update locators for better test stability and readability
✅ (tests): update end-to-end tests for improved stability and accuracy
✅ (textInputOutput.spec.ts): update locators and placeholders for accuracy
✅ (toggleComponent.spec.ts): replace locators with getByText for clarity
* refactor: Update pytest arguments in Makefile for better test execution
The Makefile has been modified to update the pytest arguments in the `tests` target. The `--instafail` flag has been replaced with `-ra -n auto -m "not api_key_required"`. This change allows for better test execution by including additional options for reporting, parallelization, and test selection.
Note: The commit message has been generated based on the provided code changes and recent commits.
* ✨ (test_endpoints.py): add pytest marker 'api_key_required' to mark tests that require an API key for authorization. This helps in easily identifying and managing tests that need special permissions.