Skip to content

Commit 6465022

Browse files
authored
Merge pull request #118 from ModusCreateOrg/NO-TICKET-REMOVE-CYPRESS
Remove Cypress dependencies and references from frontend configuration
2 parents 585fcf6 + d219571 commit 6465022

File tree

10 files changed

+36
-1135
lines changed

10 files changed

+36
-1135
lines changed

frontend/.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
# testing
99
/coverage
1010
/coverage/ios
11-
/cypress/screenshots
1211

1312
# production
1413
/dist

frontend/README.md

+26-13
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
## Core Technologies
44

55
### Ionic + React
6+
67
- **Purpose**: Cross-platform user interface core that enables building high-quality native and web app experiences
7-
- **Benefits**:
8+
- **Benefits**:
89
- Single codebase for iOS, Android, and web
910
- Extensive library of UI components
1011
- Native device functionality access
@@ -15,6 +16,7 @@
1516
- Platform-specific styling
1617

1718
### React
19+
1820
- **Version**: Latest stable (18+)
1921
- **Features Used**:
2022
- Functional components
@@ -25,6 +27,7 @@
2527
## Data Management
2628

2729
### Axios
30+
2831
- **Purpose**: HTTP client for making API requests
2932
- **Implementation**:
3033
- Centralized API instance with interceptors
@@ -33,6 +36,7 @@
3336
- Request cancellation support
3437

3538
### TanStack Query (React Query)
39+
3640
- **Purpose**: Asynchronous state management, caching, and data fetching
3741
- **Key Features**:
3842
- Automatic caching and background refetching
@@ -44,26 +48,30 @@
4448
## UI Components & Styling
4549

4650
### Font Awesome
51+
4752
- **Purpose**: Comprehensive icon library
4853
- **Implementation**:
4954
- Specific icon subset import to reduce bundle size
5055
- Standard usage pattern for consistent icon presentation
5156

5257
### Google Fonts
58+
5359
- **Purpose**: Rich typography
5460
- **Fonts Used**:
5561
- Primary: [Specify primary font]
5662
- Secondary: [Specify secondary font]
5763
- Loading strategy: Web Font Loader with fallbacks
5864

5965
### Remark Markdown
66+
6067
- **Purpose**: Markdown renderer for content display
6168
- **Features**:
6269
- Custom renderers for application-specific components
6370
- Syntax highlighting for code blocks
6471
- Security measures for user-generated content
6572

6673
### Tailwind CSS
74+
6775
- **Purpose**: Utility-first CSS framework
6876
- **Configuration**:
6977
- Custom theme extending Tailwind defaults
@@ -74,20 +82,23 @@
7482
## Testing Infrastructure
7583

7684
### Vitest
85+
7786
- **Purpose**: Core test framework
7887
- **Configuration**:
7988
- Component testing setup
8089
- Integration with React Testing Library
8190
- Coverage reporting
8291

8392
### React Testing Library
93+
8494
- **Purpose**: User-centric approach for UI component tests
8595
- **Practices**:
8696
- Testing user interactions over implementation details
8797
- Accessibility testing integration
8898
- Common testing patterns and utilities
8999

90100
### Mock Service Worker
101+
91102
- **Purpose**: API mocking for tests and development
92103
- **Implementation**:
93104
- Request interception
@@ -97,12 +108,14 @@
97108
## Cursor Rules & Code Style Guidelines
98109

99110
### General Formatting
111+
100112
- Indent using 2 spaces
101113
- Maximum line length: 100 characters
102114
- UTF-8 encoding for all files
103115
- LF line endings
104116

105117
### React Component Structure
118+
106119
```jsx
107120
// Imports grouped by:
108121
// 1. React/framework imports
@@ -120,17 +133,17 @@ interface ComponentProps {
120133
const ComponentName: React.FC<ComponentProps> = ({ prop1, prop2 }) => {
121134
// Hooks at the top
122135
const [state, setState] = useState<StateType>(initialState);
123-
136+
124137
// Effects after hooks
125138
useEffect(() => {
126139
// Effect content
127140
}, [dependencies]);
128-
141+
129142
// Event handlers and other functions
130143
const handleEvent = () => {
131144
// ...
132145
};
133-
146+
134147
// Return JSX with consistent formatting
135148
return (
136149
<div className="tailwind-classes">
@@ -149,8 +162,9 @@ export default ComponentName;
149162
```
150163

151164
### Naming Conventions
165+
152166
- **Components**: PascalCase (e.g., `UserProfile`)
153-
- **Files**:
167+
- **Files**:
154168
- Component files: PascalCase matching component name (e.g., `UserProfile.tsx`)
155169
- Utility files: camelCase (e.g., `formatDate.ts`)
156170
- **Functions**: camelCase (e.g., `handleSubmit`)
@@ -159,41 +173,47 @@ export default ComponentName;
159173
- **CSS Classes**: kebab-case (e.g., `user-profile-container`)
160174

161175
### API and Data Fetching
176+
162177
- Use TanStack Query hooks for all data fetching
163178
- Centralize API calls in dedicated service files
164179
- Implement proper error handling for all requests
165180
- Use consistent data transformation patterns
166181

167182
### State Management
183+
168184
- Prefer local component state for component-specific state
169185
- Use Context API for shared state across multiple components
170186
- Implement TanStack Query for server state
171187
- Document all context providers and their purpose
172188

173189
### Testing Standards
190+
174191
- Minimum test coverage: 80%
175192
- Test user interactions, not implementation details
176193
- One test file per component/utility (e.g., `Component.test.tsx`)
177194
- Use meaningful test descriptions that explain expected behavior
178195

179196
### Performance Considerations
197+
180198
- Memoize expensive calculations with useMemo
181199
- Optimize renders with React.memo for pure components
182200
- Use useCallback for function references passed as props
183201
- Implement virtualization for long lists
184202

185203
### Accessibility Standards
204+
186205
- All interactive elements must be keyboard accessible
187206
- Proper ARIA roles and attributes where applicable
188207
- Maintain proper heading hierarchy
189208
- Ensure sufficient color contrast
190209
- Support screen readers with appropriate alt text and aria labels
191210

192211
## Version Control Guidelines
212+
193213
- Use feature branches for all new development
194214
- Conventional commit messages (feat, fix, docs, style, refactor, test, chore)
195215
- Pull request templates must be followed
196-
- Code must pass all automated checks before review
216+
- Code must pass all automated checks before review
197217

198218
## Helpful Hints
199219

@@ -229,7 +249,6 @@ Adjust the Prettier configuration as desired.
229249

230250
### Prerequistes
231251

232-
233252
### Clone the Repository
234253

235254
Open the [repository][repo] in a browser. Follow the instructions to clone the repository to your local machine.
@@ -354,10 +373,6 @@ A detailed test coverage report is created in the `./coverage` directory.
354373

355374
> **NOTE:** This is the command which should be utilized by CI/CD platforms.
356375
357-
### `npm run test:e2e`
358-
359-
Runs all end-to-end (e2e) tests using the Cypress framework. See the [Cypress CLI](https://docs.cypress.io/guides/guides/command-line) documentation for more information.
360-
361376
### `npm run build`
362377

363378
Builds the app for production to the `dist` folder.
@@ -408,7 +423,6 @@ This project uses GitHub Actions to perform DevOps automation activities such as
408423
- [Yup][yup]
409424
- [Testing Library][testing-library]
410425
- [Vitest][vitest]
411-
- [Cypress][cypress]
412426
- [ESLint][eslint]
413427
- [GitHub Actions][ghactions]
414428

@@ -425,4 +439,3 @@ This project uses GitHub Actions to perform DevOps automation activities such as
425439
[vitest]: https://vitest.dev/ 'Vitest Testing Framework'
426440
[ghactions]: https://docs.github.com/en/actions 'GitHub Actions'
427441
[eslint]: https://eslint.org/docs/latest/ 'ESLint'
428-
[cypress]: https://docs.cypress.io/guides/overview/why-cypress 'Cypress Testing Framework'

frontend/cypress.config.ts

-10
This file was deleted.

frontend/cypress/e2e/test.cy.ts

-6
This file was deleted.

frontend/cypress/fixtures/example.json

-5
This file was deleted.

frontend/cypress/support/commands.ts

-37
This file was deleted.

frontend/cypress/support/e2e.ts

-20
This file was deleted.

0 commit comments

Comments
 (0)