-
-
Notifications
You must be signed in to change notification settings - Fork 811
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrated src/components/EventStats/* from Jest to Vitest #2992
Migrated src/components/EventStats/* from Jest to Vitest #2992
Conversation
WalkthroughThis pull request focuses on refactoring the test files within the Changes
Assessment against linked issues
Possibly related issues
Possibly related PRs
Suggested reviewers
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
Our Pull Request Approval ProcessThanks for contributing! Testing Your CodeRemember, your PRs won't be reviewed until these criteria are met:
Our policies make our code better. ReviewersDo not assign reviewers. Our Queue Monitors will review your PR and assign them.
Reviewing Your CodeYour reviewer(s) will have the following roles:
CONTRIBUTING.mdRead our CONTRIBUTING.md file. Most importantly:
Other
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
src/components/EventStats/Statistics/Review.spec.tsx (2)
Line range hint
55-75
: LGTM: Successfully migrated test with proper async handlingThe test case correctly verifies the component's behavior with populated reviews, maintaining proper async/await patterns with waitFor.
Consider adding a cleanup step between tests to ensure test isolation:
+import { afterEach } from 'vitest'; +import { cleanup } from '@testing-library/react'; + +afterEach(() => { + cleanup(); +});
Line range hint
76-95
: LGTM: Empty state test case properly migratedThe test case effectively verifies the empty state messaging.
Consider adding error boundary testing to verify component behavior when props are malformed:
it('should handle malformed event data gracefully', async () => { const malformedProps = { data: { event: { _id: '123', feedback: null // Simulating malformed data } } }; const { queryByText } = render( <ErrorBoundary> <ReviewStats {...malformedProps} /> </ErrorBoundary> ); await waitFor(() => expect(queryByText(/error/i)).toBeInTheDocument() ); });
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
src/components/EventStats/EventStats.spec.tsx
(2 hunks)src/components/EventStats/EventStatsWrapper.spec.tsx
(2 hunks)src/components/EventStats/Statistics/AverageRating.spec.tsx
(2 hunks)src/components/EventStats/Statistics/Feedback.spec.tsx
(3 hunks)src/components/EventStats/Statistics/Review.spec.tsx
(3 hunks)
🧰 Additional context used
📓 Learnings (3)
src/components/EventStats/EventStatsWrapper.spec.tsx (1)
Learnt from: bitbard3
PR: PalisadoesFoundation/talawa-admin#2588
File: src/components/ChangeLanguageDropdown/ChangeLanguageDropdown.spec.tsx:145-155
Timestamp: 2024-12-02T04:20:11.745Z
Learning: In PRs focused solely on refactoring test cases from Jest to Vitest, avoid suggesting optimizations or changes outside the migration scope.
src/components/EventStats/Statistics/Feedback.spec.tsx (1)
Learnt from: bitbard3
PR: PalisadoesFoundation/talawa-admin#2588
File: src/components/ChangeLanguageDropdown/ChangeLanguageDropdown.spec.tsx:145-155
Timestamp: 2024-12-02T04:20:11.745Z
Learning: In PRs focused solely on refactoring test cases from Jest to Vitest, avoid suggesting optimizations or changes outside the migration scope.
src/components/EventStats/EventStats.spec.tsx (1)
Learnt from: bitbard3
PR: PalisadoesFoundation/talawa-admin#2588
File: src/components/ChangeLanguageDropdown/ChangeLanguageDropdown.spec.tsx:145-155
Timestamp: 2024-12-02T04:20:11.745Z
Learning: In PRs focused solely on refactoring test cases from Jest to Vitest, avoid suggesting optimizations or changes outside the migration scope.
🔇 Additional comments (17)
src/components/EventStats/Statistics/AverageRating.spec.tsx (2)
10-10
: Smooth transition to Vitest import.
The new import statement properly brings in describe
, expect
, and it
from Vitest. Nice work aligning with the new testing framework.
39-39
: Correct usage of it
in Vitest.
Replacing the Jest test
function with Vitest's it
is consistent with the rest of the migration.
src/components/EventStats/EventStats.spec.tsx (4)
7-7
: Proper import for Vitest.
Good job adding vi, describe, expect, it
from 'vitest' to align with the new testing framework.
9-15
: Accurate mock setup with vi.mock
.
Transition from jest.mock
to vi.mock
with an async import is a solid approach for Vitest. This ensures the mocking remains functional while leveraging Vitest’s API.
48-48
: Appropriate usage of vi.fn
.
Updating handleClose
to vi.fn()
is consistent with Vitest’s mocking features.
51-51
: Migrated test
to it
.
Nice switch to it
for a more descriptive testing style. This is fully compatible with Vitest.
src/components/EventStats/EventStatsWrapper.spec.tsx (4)
7-7
: Correct Vitest import.
Adding vi, describe, expect, it
from 'vitest' is the right step for the framework switch.
9-14
: Mocking consistent with Vitest guidelines.
Replacing jest.mock
with vi.mock
and using await vi.importActual
matches the standard Vitest pattern for async mocks.
43-49
: Duplicate PieChart mock block.
Double-check that it’s intentional to mock @mui/x-charts/PieChart
again at lines 43-49. If so, it’s consistent with Vitest’s approach, but ensure both mocks are needed without duplication.
57-57
: Usage of it
for the test case.
Great job adopting it
to maintain uniformity with Vitest’s BDD style.
src/components/EventStats/Statistics/Feedback.spec.tsx (4)
10-10
: Vitest import introduced cleanly.
Importing vi, describe, expect, it
from 'vitest' aligns with the new testing framework.
12-17
: Seamless transition to vi.mock
.
Using asynchronous import with await vi.importActual
ensures the mock overrides happen correctly under Vitest.
57-57
: Replacing test
with it
.
This change keeps the test naming convention consistent across the suite.
84-84
: Another it
usage in place of test
.
Adopting Vitest lines up with the rest of the PR’s changes.
src/components/EventStats/Statistics/Review.spec.tsx (3)
10-10
: LGTM: Clean Vitest import addition
The Vitest testing utilities are correctly imported while maintaining all necessary testing library dependencies.
Line range hint 12-52
: LGTM: Well-structured test data
The test data is comprehensive, covering both populated and empty review scenarios, including edge cases with null reviews.
Line range hint 1-95
: Verify complete migration from Jest to Vitest
The migration appears complete with all Jest-specific code properly replaced with Vitest equivalents.
✅ Verification successful
Migration from Jest to Vitest is complete and consistent
The verification confirms:
- No Jest-specific code or references remain in
Review.spec.tsx
- Vitest is consistently used across all test files in the EventStats component tree:
EventStats.spec.tsx
EventStatsWrapper.spec.tsx
Statistics/Review.spec.tsx
Statistics/Feedback.spec.tsx
Statistics/AverageRating.spec.tsx
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify no remaining Jest-specific code
rg -i "jest\." src/components/EventStats/Statistics/Review.spec.tsx
rg -i "jest" src/components/EventStats/Statistics/Review.spec.tsx
# Verify consistent use of Vitest across related files
rg -l "from 'vitest'" src/components/EventStats/
Length of output: 459
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop-postgres #2992 +/- ##
=====================================================
+ Coverage 33.14% 88.91% +55.77%
=====================================================
Files 299 320 +21
Lines 7429 8290 +861
Branches 1624 1869 +245
=====================================================
+ Hits 2462 7371 +4909
+ Misses 4762 696 -4066
- Partials 205 223 +18 ☔ View full report in Codecov by Sentry. |
…s/-from-Jest-to-Vitest
@PratapRathi Please fix the failed tests. |
@Cioppolo14 I've changed only 5 test files, can you please help me out why it is failing. |
I've raise another PR, hence closing this. |
What kind of change does this PR introduce?
This PR will migrate src/components/EventStats/* from Jest to Vitest
Issue Number:
Fixes #2794
Did you add tests for your changes?
Yes
Snapshots/Videos:
If relevant, did you update the documentation?
No
Summary
Does this PR introduce a breaking change?
No
Other information
N/A
Have you read the contributing guide?
Yes
Summary by CodeRabbit
EventStats
component from Jest to Vitesttest
function withit
for more descriptive test case naming