Skip to content

Commit 9054146

Browse files
authored
Merge branch 'development' into Vamshi-WeeklySummariesFilter
2 parents 3ac59ac + 0ee4c6a commit 9054146

716 files changed

Lines changed: 46884 additions & 14618 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintignore

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,9 @@
1111
/build/
1212

1313
# Ignore test files inside /src/components
14-
src/__tests__/**
15-
/src/components/**/__test__/**/*
16-
/src/components/**/__tests__/**/*
17-
/src/reducers/**/__tests__/**/*
18-
19-
src/components/BMDashboard/_tests_/BMDashboard.test.jsx
20-
src/components/Login/ForgotPassword.test.jsx
21-
src/components/Login/LoginPage.test.js
22-
src/components/PermissionsManagement/PermissionsManagement.test.js
2314

2415
# Ignore folders in /src
2516
src/components/Badge/**
2617
src/components/Dashboard/**
2718
src/components/Projects/**
28-
src/components/SummaryManagement/**
29-
src/components/TaskEditSuggestions/**
30-
src/components/TeamMemberTasks/**
31-
src/components/Teams/TeamMembersPopup.jsx
32-
src/components/UserManagement/**
3319
src/components/UserProfile/**

.github/workflows/pull_request_test.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- uses: actions/checkout@v4
12+
with:
13+
fetch-depth: 0
1214
- uses: actions/setup-node@v4
1315
with:
1416
node-version: 14
1517
cache: 'npm'
1618
- name: Install Dependencies
1719
run: npm ci
18-
- name: Run Unit Tests
19-
run: npm test
20+
- name: Run Unit Tests for Changed Files Only
21+
run: npm run test:changed
2022
- name: Run Lint
21-
run: npm run lint
23+
run: npm run lint

.github/workflows/test.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Test React App
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
test:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Checkout repository
13+
uses: actions/checkout@v3
14+
15+
- name: Set up Node.js
16+
uses: actions/setup-node@v3
17+
with:
18+
node-version: '14'
19+
20+
- name: Install dependencies
21+
run: npm install
22+
23+
- name: Run tests
24+
run: npm test
25+
26+
- name: Upload test results
27+
if: failure()
28+
uses: actions/upload-artifact@v4
29+
with:
30+
name: test-results
31+
path: test-results # Adjust the path to your test results if necessary

.prettierignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ src/components/Memberships/**
1919
src/components/Projects/**
2020
src/components/Reports/**
2121
src/components/SummaryManagement/**
22-
src/components/TaskEditSuggestions/**
23-
src/components/TeamMemberTasks/**
2422
src/components/Timelog/**
2523
src/components/UserManagement/**
2624
src/components/UserProfile/**

issue-form-cleanup

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import React from 'react';
2+
import { render, fireEvent, screen } from '@testing-library/react';
3+
import ToggleSwitch from '../ToggleSwitch'; // Adjust the import path as necessary
4+
5+
describe('ToggleSwitch Component', () => {
6+
const mockHandleUserProfile = jest.fn();
7+
8+
it('should render blue squares switch with default checked when state is false', () => {
9+
render(<ToggleSwitch switchType="bluesquares" state={false} handleUserProfile={mockHandleUserProfile} />);
10+
const switchElement = screen.getByTestId('blue-switch');
11+
expect(switchElement).toBeInTheDocument();
12+
expect(switchElement).toBeChecked();
13+
});
14+
15+
it('should render blue squares switch unchecked when state is true', () => {
16+
render(<ToggleSwitch switchType="bluesquares" state={true} handleUserProfile={mockHandleUserProfile} />);
17+
const switchElement = screen.getByTestId('blue-switch');
18+
expect(switchElement).toBeInTheDocument();
19+
expect(switchElement).not.toBeChecked();
20+
});
21+
22+
it('should call handleUserProfile on blue squares switch change', () => {
23+
render(<ToggleSwitch switchType="bluesquares" state={true} handleUserProfile={mockHandleUserProfile} />);
24+
const switchElement = screen.getByTestId('blue-switch');
25+
fireEvent.click(switchElement);
26+
expect(mockHandleUserProfile).toHaveBeenCalled();
27+
});
28+
29+
it('should render email switch with default checked when state is false', () => {
30+
render(<ToggleSwitch switchType="email" state={false} handleUserProfile={mockHandleUserProfile} />);
31+
const switchElement = screen.getByTestId('email-switch');
32+
expect(switchElement).toBeInTheDocument();
33+
expect(switchElement).toBeChecked();
34+
});
35+
36+
it('should render phone switch unchecked when state is true', () => {
37+
render(<ToggleSwitch switchType="phone" state={true} handleUserProfile={mockHandleUserProfile} />);
38+
const switchElement = screen.getByTestId('phone-switch');
39+
expect(switchElement).toBeInTheDocument();
40+
expect(switchElement).not.toBeChecked();
41+
});
42+
43+
it('should render visibility switch with default checked when state is false', () => {
44+
render(<ToggleSwitch switchType="visible" state={false} handleUserProfile={mockHandleUserProfile} />);
45+
const switchElement = screen.getByTestId('visibility-switch');
46+
expect(switchElement).toBeInTheDocument();
47+
expect(switchElement).toBeChecked();
48+
});
49+
50+
it('should render active members switch unchecked when state is true', () => {
51+
render(<ToggleSwitch switchType="active_members" state={true} handleUserProfile={mockHandleUserProfile} />);
52+
const switchElement = screen.getByTestId('active-switch');
53+
expect(switchElement).toBeInTheDocument();
54+
expect(switchElement).not.toBeChecked();
55+
});
56+
57+
it('should display error message for unknown switch type', () => {
58+
render(<ToggleSwitch switchType="unknown" state={false} handleUserProfile={mockHandleUserProfile} />);
59+
expect(screen.getByText(/ERROR: Toggle Switch./)).toBeInTheDocument();
60+
});
61+
});

jest.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ module.exports = {
2323
},
2424

2525
// The paths to modules that run some code to configure or set up the testing environment before each test
26-
setupFiles: ['<rootDir>src/setupTests.js'],
26+
setupFiles: ['<rootDir>/src/setupTests.js'],
2727

2828
// The test environment that will be used for testing
2929
testEnvironment: 'jsdom',

0 commit comments

Comments
 (0)