├── .gitignore ├── my-app ├── src │ ├── emptyFile.cy.js │ ├── UserTests │ │ ├── TestBlock.cy.js │ │ └── UserTestFile.cy.js │ ├── types │ │ ├── ImportObj.ts │ │ └── Tree.ts │ ├── index.css │ ├── preload.ts │ ├── index.html │ ├── main.tsx │ ├── getNonce.ts │ ├── components │ │ ├── FormWrapper.tsx │ │ ├── useMultiStepForm.ts │ │ ├── SelectAction.tsx │ │ ├── TestGenContainer.tsx │ │ ├── App.tsx │ │ ├── SmallerPreviewPopup.tsx │ │ ├── Flow Components │ │ │ ├── CustomNode.tsx │ │ │ ├── HtmlCustomNode.tsx │ │ │ ├── Flow.tsx │ │ │ └── HtmlFlow.tsx │ │ ├── GetFile.tsx │ │ ├── PreviewPopup.tsx │ │ ├── ButtonComponent.tsx │ │ ├── TestingUi.tsx │ │ ├── DescribePage.tsx │ │ ├── ItBlockPage.tsx │ │ ├── DropdownButton.tsx │ │ ├── DynamicModal.tsx │ │ ├── Webview.tsx │ │ └── StatementPage.tsx │ ├── options │ │ ├── optionVariables.ts │ │ ├── assertionOptions.ts │ │ ├── actionOptions.ts │ │ └── otherCommandOptions.ts │ ├── renderer.ts │ ├── Routes │ │ ├── Home.tsx │ │ └── MainPage.tsx │ ├── index.ts │ └── parser.ts ├── logo.png ├── icons │ ├── icon.ico │ ├── icon.png │ └── icon.icns ├── postcss.config.js ├── .eslintrc.json ├── webpack.renderer.config.ts ├── tsconfig.json ├── tailwind.config.js ├── webpack.plugins.ts ├── webpack.main.config.ts ├── webpack.rules.ts ├── testing │ └── test2.js ├── forge.config.ts ├── .gitignore └── package.json ├── .DS_Store ├── package.json ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /my-app/src/emptyFile.cy.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /my-app/src/UserTests/TestBlock.cy.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oslabs-beta/Cydekick/HEAD/.DS_Store -------------------------------------------------------------------------------- /my-app/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oslabs-beta/Cydekick/HEAD/my-app/logo.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "@types/node": "^20.6.3" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /my-app/icons/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oslabs-beta/Cydekick/HEAD/my-app/icons/icon.ico -------------------------------------------------------------------------------- /my-app/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oslabs-beta/Cydekick/HEAD/my-app/icons/icon.png -------------------------------------------------------------------------------- /my-app/icons/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oslabs-beta/Cydekick/HEAD/my-app/icons/icon.icns -------------------------------------------------------------------------------- /my-app/src/types/ImportObj.ts: -------------------------------------------------------------------------------- 1 | export type ImportObj = { 2 | [key: string]: { importPath: string; importName: string }; 3 | }; 4 | -------------------------------------------------------------------------------- /my-app/src/UserTests/UserTestFile.cy.js: -------------------------------------------------------------------------------- 1 | describe('fd', () => { 2 | it('sd', () => { 3 | .clear()}) 4 | it('sdf', () => { 5 | }) 6 | }) -------------------------------------------------------------------------------- /my-app/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | html, 6 | body { 7 | height: 100%; 8 | } 9 | 10 | -------------------------------------------------------------------------------- /my-app/src/preload.ts: -------------------------------------------------------------------------------- 1 | // See the Electron documentation for details on how to use preload scripts: 2 | // https://www.electronjs.org/docs/latest/tutorial/process-model#preload-scripts 3 | -------------------------------------------------------------------------------- /my-app/postcss.config.js: -------------------------------------------------------------------------------- 1 | /* eslint @typescript-eslint/no-var-requires: "off" */ 2 | const tailwindcss = require('tailwindcss'); 3 | 4 | module.exports = { 5 | plugins: [ 6 | tailwindcss('./tailwind.config.js')], 7 | }; 8 | -------------------------------------------------------------------------------- /my-app/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /my-app/src/main.tsx: -------------------------------------------------------------------------------- 1 | import { createRoot } from 'react-dom/client'; 2 | import App from './components/App'; 3 | 4 | const root = createRoot(document.getElementById('root')); 5 | 6 | root.render( 7 |
2 |
3 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 | Cydekick.com 24 |
25 | 26 | Cydekick is a Cypress test code generator designed for React applications. It enables you to visualize the component hierarchy of your React application, interact with your application in real-time, and seamlessly generate test code. 27 | 28 | ## Table of Contents 29 | - [Interface & Features](#interface--features) 30 | - [Prerequisites](#prerequisites) 31 | - [Installation](#installation) 32 | - [Usage](#usage) 33 | - [Contributing](#contributing) 34 | - [Support](#support) 35 | - [For Future Iterations](#future-iterations) 36 | - [License](#license-information) 37 | - [The Cydekick Team](#the-cydekick-team) 38 | 39 | ## Interface & Features 40 | 41 | Overview: 42 | Upon launching Cydekick, users are presented with an intuitive interface designed to simplify Cypress testing for React applications. The main features include: 43 | 44 | 1. Visual Component Hierarchy: 45 | - Navigate through the component hierarchy using React Flow, providing a visual representation of your React application's structure. 46 | 47 | 2. Highlight Components: 48 | - Click on a component to reveal its HTML structure, allowing users to inspect and interact with individual components. 49 | 50 | 3. Generate Test Code: 51 | - Seamlessly generate Cypress test code by providing text for "describe" and "it" blocks, along with selecting Cypress commands for testing. 52 | 53 | 4. Preview and Save: 54 | - Preview and save the generated test code in a separate file, giving users the flexibility to edit and download the code at their convenience. 55 | 56 | ## Prerequisites 57 | 58 | To use Cydekick, you will need to: 59 | 60 | - Install Cypress in your application. 61 | - Add your own "data-cy" IDs to elements you wish to test on your app. 62 | - Run your application concurrently. 63 | 64 | ## Installation 65 | 66 | Follow these steps to install Cydekick: 67 | 68 | 1. Download the latest version of Cydekick from [HERE](https://cydekick.dev/#home). 69 | 2. Choose the version that matches your operating system: Mac, Windows, or Linux. 70 | 3. Unzip the file onto your Computer and proceed to the next steps below. 71 | 72 | ## Usage 73 | 74 | To use Cydekick effectively, follow these steps: 75 | 76 | 1. Launch Cydekick. 77 | 78 | 2. Input the files of your React application and the URL where it's hosted. 79 | 80 |
81 |
82 |
87 |
88 |
93 |
94 |
103 |
104 |