Added and configured cypress
This commit is contained in:
		
							
								
								
									
										16
									
								
								client/cypress.config.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								client/cypress.config.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
import { defineConfig } from "cypress";
 | 
			
		||||
 | 
			
		||||
export default defineConfig({
 | 
			
		||||
  component: {
 | 
			
		||||
    devServer: {
 | 
			
		||||
      framework: "react",
 | 
			
		||||
      bundler: "vite",
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  e2e: {
 | 
			
		||||
    setupNodeEvents(on, config) {
 | 
			
		||||
      // implement node event listeners here
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										5
									
								
								client/cypress/fixtures/example.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								client/cypress/fixtures/example.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "Using fixtures to represent data",
 | 
			
		||||
  "email": "hello@cypress.io",
 | 
			
		||||
  "body": "Fixtures are a great way to mock data for responses to routes"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										44
									
								
								client/cypress/support/commands.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								client/cypress/support/commands.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
/// <reference types="cypress" />
 | 
			
		||||
// ***********************************************
 | 
			
		||||
// This example commands.ts shows you how to
 | 
			
		||||
// create various custom commands and overwrite
 | 
			
		||||
// existing commands.
 | 
			
		||||
//
 | 
			
		||||
// For more comprehensive examples of custom
 | 
			
		||||
// commands please read more here:
 | 
			
		||||
// https://on.cypress.io/custom-commands
 | 
			
		||||
// ***********************************************
 | 
			
		||||
//
 | 
			
		||||
//
 | 
			
		||||
// -- This is a parent command --
 | 
			
		||||
// Cypress.Commands.add('login', (email, password) => { ... })
 | 
			
		||||
//
 | 
			
		||||
//
 | 
			
		||||
// -- This is a child command --
 | 
			
		||||
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
 | 
			
		||||
//
 | 
			
		||||
//
 | 
			
		||||
// -- This is a dual command --
 | 
			
		||||
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
 | 
			
		||||
//
 | 
			
		||||
//
 | 
			
		||||
// -- This will overwrite an existing command --
 | 
			
		||||
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
 | 
			
		||||
//
 | 
			
		||||
// declare global {
 | 
			
		||||
//   namespace Cypress {
 | 
			
		||||
//     interface Chainable {
 | 
			
		||||
//       login(email: string, password: string): Chainable<void>;
 | 
			
		||||
//       drag(subject: string, options?: Partial<TypeOptions>): Chainable<Element>;
 | 
			
		||||
//       dismiss(
 | 
			
		||||
//         subject: string,
 | 
			
		||||
//         options?: Partial<TypeOptions>
 | 
			
		||||
//       ): Chainable<Element>;
 | 
			
		||||
//       visit(
 | 
			
		||||
//         originalFn: CommandOriginalFn,
 | 
			
		||||
//         url: string,
 | 
			
		||||
//         options: Partial<VisitOptions>
 | 
			
		||||
//       ): Chainable<Element>;
 | 
			
		||||
//     }
 | 
			
		||||
//   }
 | 
			
		||||
// }
 | 
			
		||||
							
								
								
									
										12
									
								
								client/cypress/support/component-index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								client/cypress/support/component-index.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html>
 | 
			
		||||
  <head>
 | 
			
		||||
    <meta charset="utf-8">
 | 
			
		||||
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
 | 
			
		||||
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
 | 
			
		||||
    <title>Components App</title>
 | 
			
		||||
  </head>
 | 
			
		||||
  <body>
 | 
			
		||||
    <div data-cy-root></div>
 | 
			
		||||
  </body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										39
									
								
								client/cypress/support/component.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								client/cypress/support/component.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
// ***********************************************************
 | 
			
		||||
// This example support/component.ts is processed and
 | 
			
		||||
// loaded automatically before your test files.
 | 
			
		||||
//
 | 
			
		||||
// This is a great place to put global configuration and
 | 
			
		||||
// behavior that modifies Cypress.
 | 
			
		||||
//
 | 
			
		||||
// You can change the location of this file or turn off
 | 
			
		||||
// automatically serving support files with the
 | 
			
		||||
// 'supportFile' configuration option.
 | 
			
		||||
//
 | 
			
		||||
// You can read more here:
 | 
			
		||||
// https://on.cypress.io/configuration
 | 
			
		||||
// ***********************************************************
 | 
			
		||||
 | 
			
		||||
// Import commands.js using ES2015 syntax:
 | 
			
		||||
import './commands'
 | 
			
		||||
 | 
			
		||||
// Alternatively you can use CommonJS syntax:
 | 
			
		||||
// require('./commands')
 | 
			
		||||
 | 
			
		||||
import { mount } from 'cypress/react18'
 | 
			
		||||
 | 
			
		||||
// Augment the Cypress namespace to include type definitions for
 | 
			
		||||
// your custom command.
 | 
			
		||||
// Alternatively, can be defined in cypress/support/component.d.ts
 | 
			
		||||
// with a <reference path="./component" /> at the top of your spec.
 | 
			
		||||
declare global {
 | 
			
		||||
  namespace Cypress {
 | 
			
		||||
    interface Chainable {
 | 
			
		||||
      mount: typeof mount
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Cypress.Commands.add('mount', mount)
 | 
			
		||||
 | 
			
		||||
// Example use:
 | 
			
		||||
// cy.mount(<MyComponent />)
 | 
			
		||||
							
								
								
									
										20
									
								
								client/cypress/support/e2e.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								client/cypress/support/e2e.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
// ***********************************************************
 | 
			
		||||
// This example support/e2e.ts is processed and
 | 
			
		||||
// loaded automatically before your test files.
 | 
			
		||||
//
 | 
			
		||||
// This is a great place to put global configuration and
 | 
			
		||||
// behavior that modifies Cypress.
 | 
			
		||||
//
 | 
			
		||||
// You can change the location of this file or turn off
 | 
			
		||||
// automatically serving support files with the
 | 
			
		||||
// 'supportFile' configuration option.
 | 
			
		||||
//
 | 
			
		||||
// You can read more here:
 | 
			
		||||
// https://on.cypress.io/configuration
 | 
			
		||||
// ***********************************************************
 | 
			
		||||
 | 
			
		||||
// Import commands.js using ES2015 syntax:
 | 
			
		||||
import "./commands";
 | 
			
		||||
 | 
			
		||||
// Alternatively you can use CommonJS syntax:
 | 
			
		||||
// require('./commands')
 | 
			
		||||
							
								
								
									
										6
									
								
								client/cypress/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								client/cypress/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "extends": "../tsconfig.json",
 | 
			
		||||
  "compilerOptions": {
 | 
			
		||||
    "isolatedModules": false
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -6,7 +6,8 @@
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "dev": "vite",
 | 
			
		||||
    "build": "tsc && vite build --outDir ../dist",
 | 
			
		||||
    "preview": "vite preview"
 | 
			
		||||
    "preview": "vite preview",
 | 
			
		||||
    "cypress": "cypress"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@headlessui/react": "^1.7.2",
 | 
			
		||||
@@ -23,10 +24,12 @@
 | 
			
		||||
    "zod": "^3.19.1"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@testing-library/cypress": "^8.0.3",
 | 
			
		||||
    "@types/react": "^18.0.17",
 | 
			
		||||
    "@types/react-dom": "^18.0.6",
 | 
			
		||||
    "@vitejs/plugin-react": "^2.1.0",
 | 
			
		||||
    "autoprefixer": "^10.4.12",
 | 
			
		||||
    "cypress": "^10.9.0",
 | 
			
		||||
    "postcss": "^8.4.16",
 | 
			
		||||
    "prettier": "^2.7.1",
 | 
			
		||||
    "tailwindcss": "^3.1.8",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1091
									
								
								client/pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1091
									
								
								client/pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -14,8 +14,9 @@
 | 
			
		||||
    "resolveJsonModule": true,
 | 
			
		||||
    "isolatedModules": true,
 | 
			
		||||
    "noEmit": true,
 | 
			
		||||
    "jsx": "react-jsx"
 | 
			
		||||
    "jsx": "react-jsx",
 | 
			
		||||
    "types": ["@testing-library/crypress", "cypress"]
 | 
			
		||||
  },
 | 
			
		||||
  "include": ["src"],
 | 
			
		||||
  "include": ["src", "cypress"],
 | 
			
		||||
  "references": [{ "path": "./tsconfig.node.json" }]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user