Skip to content

Conversation

@EehMauro
Copy link
Collaborator

@EehMauro EehMauro commented Mar 20, 2024

Summary by CodeRabbit

  • New Features

    • Added a new RegisterModal component to enhance user interaction on the landing page.
    • Improved the landing page by adding integration tests for user login and subscription processes.
    • Introduced a test for the ConnectSection that verifies modal functionality when the connect button is pressed.
  • Bug Fixes

    • Updated import statements in landing/index.tsx to avoid duplicate component loading.
  • Documentation

    • Updated README to reflect improved code coverage metrics.
  • Refactor

    • Enhanced test descriptions and restructured tests for clarity in the SubscriptionSection.
    • Localized the CardanoNS usage within specific functions to improve code encapsulation.
  • Tests

    • Added new tests across various components like RegisterModal, RegisterSection, and SubscriptionSection to ensure functionality and user interaction are as expected.

Ref: PLT-9674

Checklist

  • Commit messages broadly make sense and follow the Conventional Commits format.
  • PR targets master/develop
  • New tests are added for the changes (if not, mention it in the PR description). These may include:
    • Unit tests,
    • Integration tests,
    • Property-Based testing,
    • End-to-end tests.
  • The new version builds and passes all tests. If not, please mention it in the PR description.
  • Self review of the code has been done.
  • Reviewer has been requested.
  • Ticket in Jira is in Review and sub-task for the reviewer has been created and assigned.

@EehMauro EehMauro requested a review from a team as a code owner March 20, 2024 03:28
@EehMauro EehMauro requested review from amnambiar and removed request for a team March 20, 2024 03:28
@github-actions
Copy link

github-actions bot commented Mar 20, 2024

Coverage Report

Summary

Lines Statements Branches Functions
Coverage: 10%
11.61% (271/2333) 10.68% (143/1338) 8.7% (43/494)

JUnit

Tests Skipped Failures Errors Time
17 0 💤 0 ❌ 0 🔥 23.873s ⏱️
Coverage (10%)
File% Stmts% Branch% Funcs% LinesUncovered Line #s
All files11.6110.688.710.86 
src010000 
   index.tsx0100002–78
src/app0000 
   App.tsx00001–136
src/components/Avatar90.940100100 
   index.tsx90.94010010014–24
src/components/CertificationMetadataForm0000 
   index.tsx00001–177
src/components/CertificationMetadataForm/components0000 
   AuditReportForm.tsx0100003–66
   FeedbackModal.tsx00003–44
   ReportScriptForm.tsx00001–158
   ReportScriptFormConfirmModal.tsx0100003–31
src/components/CreateCertificate0000 
   CreateCertificate.tsx00001–196
src/components/CustomSwitch0000 
   CustomSwitch.tsx00001–53
src/components/LogsView0000 
   LogsView.tsx00001–107
   LogsViewEntry.tsx0100001–15
src/components/PaymentConfirmation10076.08100100 
   PaymentDetailsVerification.tsx10076.0810010040–50
src/components/ProgressCard0000 
   CircularProgressBar.tsx00001–40
   ProgressCard.tsx00001–44
src/components/ReconnectWallet010000 
   ReconnectWallet.tsx0100001–31
src/components/RepoAccessStatus0000 
   RepoAccessStatus.tsx00002–28
src/components/Snackbar0000 
   index.tsx00001–56
src/components/StatusIcon0000 
   StatusIcon.tsx00004–18
src/components/Table0000 
   Table.tsx00001–216
src/components/Table/components/ColViz0000 
   ColViz.tsx00001–112
src/components/charts/PieChart0000 
   PieChart.tsx00002–32
src/compositions/InputGroup0000 
   index.tsx00003–35
src/compositions/InputGroup/components0000 
   Container.tsx00003–19
   Input.tsx00003–59
src/compositions/Timeline010000 
   Timeline.tsx0100003–23
src/compositions/Timeline/components/TimelineItem12.38009.41 
   TimelineItem.tsx00003–70
   timeline.helper.tsx16.040011.7620, 32, 36–57, 64–74, 79–142
src/pages/certification21.950016.16 
   Certification.helper.tsx27.830020.5195–100, 104–112, 116–128, 135, 145, 149–150, 154, 158–162, 167–168, 173–174, 183–227
   Certification.tsx00002–81
src/pages/certification/certification-result0000 
   CertificationResult.tsx00001–153
   FullReportTable.tsx00001–61
   fullReportTable.helper.tsx00001–126
src/pages/certification/components0000 
   FailedStatus.tsx00001–41
   FileCoverageContainer.tsx00002–96
   ResultContainer.tsx00002–114
   SuccessCard.tsx00001–89
   UnitTestFailureCard.tsx00001–35
src/pages/certification/components/AuditorRunTestForm0000 
   AuditorRunTestForm.tsx00001–312
src/pages/certification/components/DownloadResult010000 
   DownloadResult.tsx0100001–20
src/pages/certification/components/TimelineView0000 
   TimelineView.tsx00001–235
src/pages/home0000 
   index.tsx00001–195
src/pages/landing94.7389.4787.592.5 
   index.tsx94.7389.4787.592.575–77
src/pages/landing/components91.9379.0385.7189.79 
   ConnectSection.tsx867566.6681.5775–76, 80, 85–94, 125–129
   RegisterModal.tsx100100100100 
   RegisterSection.tsx93.6172.2210091.6632, 57–58
   SubscriptionSection.tsx100100100100 
src/pages/metrics0000 
   index.tsx00001–112
src/pages/metrics/components0000 
   AuditorReportsChart.tsx00002–73
   MetricWidget.tsx0100003–37
   RunTimesChart.tsx00002–78
   SubscriptionsChart.tsx0100002–59
src/pages/profile0000 
   index.tsx00001–103
src/pages/reportUpload010000 
   index.tsx0100003–19
src/pages/session0000 
   index.tsx00001–54
src/pages/session/components29.262.715.3829.41 
   AppBar.tsx88.885057.1486.9525, 29, 33
   AppLayout.tsx00002–44
   NavBar.tsx00002–115
src/pages/support-commands0000 
   config.tsx010010001–72
   index.tsx00001–177
src/pages/support-commands/components0000 
   Card.tsx00001–32
   DeleteUserModal.tsx0100003–60
   UserDetailsModal.tsx00001–112
src/pages/support-commands/details0000 
   index.tsx00001–200
src/pages/testingHistory010000 
   index.tsx0100001–37
src/pages/testingHistory/components0000 
   AppTable.tsx00001–269
   HistoryContainer.tsx00001–64
src/utils10080100100 
   test-utils.tsx1008010010022

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 0

Configuration used: .coderabbit.yaml

Commits Files that changed from the base of the PR and between cf2b732 and 8276bc5.
Files selected for processing (10)
  • README.md (1 hunks)
  • src/pages/landing/components/ConnectSection.test.tsx (2 hunks)
  • src/pages/landing/components/RegisterModal.test.tsx (1 hunks)
  • src/pages/landing/components/RegisterModal.tsx (1 hunks)
  • src/pages/landing/components/RegisterSection.test.tsx (1 hunks)
  • src/pages/landing/components/RegisterSection.tsx (1 hunks)
  • src/pages/landing/components/SubscriptionSection.test.tsx (1 hunks)
  • src/pages/landing/index.test.tsx (1 hunks)
  • src/pages/landing/index.tsx (2 hunks)
  • src/store/slices/walletConnection.slice.ts (4 hunks)
Additional comments: 11
src/pages/landing/components/RegisterModal.tsx (1)
  • 16-16: Adding role="dialog" enhances accessibility by informing screen readers that the component is a dialog. This is a good practice for web accessibility.
src/pages/landing/components/ConnectSection.test.tsx (2)
  • 10-10: Changing the description of the test suite to 'Landing page > Connection section' improves clarity and organization, making it easier to understand the scope of the tests.
  • 11-19: Adding a test to check for the visibility of the wallet connect button is a good practice. It ensures that critical UI elements are rendered as expected.
README.md (1)
  • 5-5: Updating the code coverage metrics in the README.md reflects the improvements made by the new tests. This is important for maintaining accurate documentation of the project's test coverage.
src/pages/landing/components/SubscriptionSection.test.tsx (1)
  • 42-66: Reorganizing tests using describe blocks and refining test descriptions enhances the readability and maintainability of the test suite. This structured approach makes it easier to navigate and understand the tests.
src/pages/landing/index.tsx (1)
  • 9-9: Adding the import statement for PaymentDetailsVerification from a more appropriate location improves code organization and avoids duplication. Ensure that the duplicate import statement has been removed as intended.
src/pages/landing/components/RegisterModal.test.tsx (1)
  • 10-120: The tests for RegisterModal cover various scenarios, including rendering based on props and user interactions. These tests ensure the component behaves as expected under different conditions.
src/pages/landing/components/RegisterSection.test.tsx (1)
  • 33-105: The tests for RegisterSection effectively cover rendering the section, displaying subscription prices, handling disabled forms, and form submission. These tests ensure the component functions correctly across various scenarios.
src/pages/landing/index.test.tsx (1)
  • 113-155: The integration tests for the landing page cover critical user flows, including wallet connection, subscription selection, and payment verification. These tests are crucial for ensuring the landing page functions as intended for end-users.
src/pages/landing/components/RegisterSection.tsx (1)
  • 41-46: > 📝 NOTE

This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [1-1]

The removal of the eslint-disable-next-line react-hooks/exhaustive-deps comment suggests an improvement in adhering to best practices for dependency arrays in useEffect hooks. Ensure that the component's behavior remains consistent and that there are no unintended side effects due to this change. Thorough testing is recommended to catch any subtle issues.

src/store/slices/walletConnection.slice.ts (1)
  • 66-66: Moving the CardanoNS declaration to a local scope within the connectWallet and startListenWalletChanges functions is a good practice for improving code readability and maintainability. Ensure that the functionality of these functions remains unchanged and that there are no regressions due to this modification. Testing these functions thoroughly is recommended.

@RSoulatIOHK
Copy link
Collaborator

RSoulatIOHK commented Mar 20, 2024

I cleaned up the PR to have it consistent with the PR template, filled the checklit and changed the commit message to be compatible with Conventional Commit (this is why I had to force push, I changed nothing else)
I also created the ticket in Jira for the review by Anusree.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Status

Actionable comments generated: 1

Configuration used: .coderabbit.yaml

Commits Files that changed from the base of the PR and between cf2b732 and 947d108.
Files selected for processing (10)
  • README.md (1 hunks)
  • src/pages/landing/components/ConnectSection.test.tsx (2 hunks)
  • src/pages/landing/components/RegisterModal.test.tsx (1 hunks)
  • src/pages/landing/components/RegisterModal.tsx (1 hunks)
  • src/pages/landing/components/RegisterSection.test.tsx (1 hunks)
  • src/pages/landing/components/RegisterSection.tsx (1 hunks)
  • src/pages/landing/components/SubscriptionSection.test.tsx (1 hunks)
  • src/pages/landing/index.test.tsx (1 hunks)
  • src/pages/landing/index.tsx (2 hunks)
  • src/store/slices/walletConnection.slice.ts (4 hunks)
Files skipped from review as they are similar to previous changes (8)
  • src/pages/landing/components/ConnectSection.test.tsx
  • src/pages/landing/components/RegisterModal.test.tsx
  • src/pages/landing/components/RegisterSection.test.tsx
  • src/pages/landing/components/RegisterSection.tsx
  • src/pages/landing/components/SubscriptionSection.test.tsx
  • src/pages/landing/index.test.tsx
  • src/pages/landing/index.tsx
  • src/store/slices/walletConnection.slice.ts
Additional comments: 5
src/pages/landing/components/RegisterModal.tsx (1)
  • 16-16: Adding role="dialog" to the Dialog component is a good practice for accessibility, making it easier for screen reader users to understand the UI structure. Well done on this enhancement.
README.md (4)
  • 5-5: The update to the code coverage metrics in the README.md reflects significant improvements in testing coverage. This is a positive step towards ensuring higher code quality and reliability.
  • 2-8: > 📝 NOTE

This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [20-20]

Consider adding a comma for clarity: "To override the API endpoint, you have two options:"

  • 2-8: > 📝 NOTE

This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [22-22]

The term "env var" could be spelled out as "environment variable" for clarity, especially for readers who might not be familiar with the abbreviation.

  • 2-8: > 📝 NOTE

This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [60-60]

A comma seems to be missing after "docker". Consider revising to: "Production docker, NOTE: from the root of the project, run all the docker-files scripts."

await delay(150);
return HttpResponse.json(-1);
}),
);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we separate integration tests by some means, either into a different file with a different naming convention. As I think, we don't want to calculate the code coverage including them.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved the integration test to another folder, but I don't know if we should exclude them from the code coverage calculation. Mostly because the integration tests are the ones that tests the reducers

jest.mock('store/slices/walletTransaction.slice', () => ({
payFromWallet: () => (() => ({ payload: 'transaction-id' }))
}));

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also keep mocks into a separate file , for easiness of maintainability

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, but I'm struggling to make it work. Can we separate it in another Jira task?

Copy link
Collaborator

@amnambiar amnambiar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestions added above

@input-output-hk input-output-hk deleted a comment from coderabbitai bot Apr 15, 2024
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Apr 15, 2024

Walkthrough

The recent changes focus on enhancing the testing infrastructure and codebase organization within the landing page components of a web application. These improvements include increased code coverage metrics displayed in the README, refined test suites with precise user interaction testing, better encapsulation through localizing CardanoNS usage, and the introduction of integration tests for simulating user scenarios effectively.

Changes

File Path Change Summary
README.md Significant increase in code coverage metrics displayed via shields.
src/pages/landing/.../ConnectSection.test.tsx Renamed test suite and adjusted test cases for the Connection section.
src/pages/landing/.../RegisterModal.test.tsx, RegisterModal.tsx Added tests for the Register Modal component and included a data-testid attribute.
src/pages/landing/.../RegisterSection.test.tsx, RegisterSection.tsx Introduced testing functionality for the RegisterSection component and removed an eslint comment.
src/pages/landing/.../SubscriptionSection.test.tsx Refactored test descriptions and logic within SubscriptionSection tests.
src/pages/landing/index.tsx Adjusted imports related to PaymentDetailsVerification.
src/store/slices/walletConnection.slice.ts Improved encapsulation by localizing CardanoNS usage.
tests/integration/landing.test.tsx Added integration tests for landing page functionality.

Recent Review Details

Configuration used: .coderabbit.yaml

Commits Files that changed from the base of the PR and between 0430c81 and 7f06c67.
Files selected for processing (2)
  • README.md (1 hunks)
  • src/store/slices/walletConnection.slice.ts (4 hunks)
Files skipped from review as they are similar to previous changes (1)
  • src/store/slices/walletConnection.slice.ts
Additional comments not posted (3)
README.md (3)

5-5: The updated code coverage metrics reflect significant improvements. Good job!


Line range hint 11-12: Installation instructions are clear and concise.


Line range hint 43-63: Development and production build instructions are well-documented and easy to follow.


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?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

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 as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Actionable comments outside the diff hunks (2)
README.md (2)

Line range hint 24-35: Replace hard tabs with spaces for consistency and readability.

-	```sh
+    ```sh
-	# Example using localhost:8080
+    # Example using localhost:8080
-	REACT_APP_BASE_URL=http://localhost:8080 npm start
+    REACT_APP_BASE_URL=http://localhost:8080 npm start

Line range hint 73-73: Remove multiple consecutive blank lines to maintain clean and professional formatting.

- 
-

Comment on lines +66 to +67
const CardanoNS = window.cardano;

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tip

Codebase Verification

Review Summary

The review comment suggested that localizing the CardanoNS declaration within the connectWallet function in walletConnection.slice.ts was a good practice for encapsulation and reducing global namespace pollution. It also recommended verifying whether CardanoNS is used globally elsewhere in the codebase that might be affected by this change.

Verification Results

The executed script searched for occurrences of CardanoNS outside the walletConnection.slice.ts file. The results indicate that CardanoNS is indeed used in other parts of the codebase, specifically within ConnectSection.tsx. This file uses CardanoNS to check for installed wallet extensions and to display wallet-related information.

Conclusion

Given that CardanoNS is used in multiple parts of the application, the change to localize its declaration within connectWallet function might lead to issues if other parts of the application rely on a globally accessible CardanoNS. This could potentially break functionality in the ConnectSection.tsx where CardanoNS is expected to be globally accessible.

Action Required:
It is recommended to ensure that the changes in walletConnection.slice.ts do not inadvertently affect other components that rely on CardanoNS. A possible solution could be to maintain CardanoNS as a global variable or ensure that all components have access to it as needed.

Analysis chain

Localizing the CardanoNS declaration within the connectWallet function is a good practice for encapsulation and reducing global namespace pollution.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify that `CardanoNS` is not used globally elsewhere in the codebase that might be affected by this change.
rg --type ts "CardanoNS" --glob '!src/store/slices/walletConnection.slice.ts'

Length of output: 762

});

export const startListenWalletChanges = createAsyncThunk('listenWalletChanges', async (payload: any, { dispatch, getState }) => {
const CardanoNS = window.cardano;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tip

Codebase Verification

Review Summary

The review comment approved the localization of the CardanoNS declaration within the startListenWalletChanges function in walletConnection.slice.ts, suggesting that it aligns with good practices for reducing global namespace pollution. The review also included a verification script to check if CardanoNS is used globally elsewhere in the codebase that might be affected by this change.

Verification Findings

The script output indicates that CardanoNS is indeed used in other parts of the codebase, specifically within ConnectSection.tsx. This file contains multiple references to CardanoNS, which is used to check for the presence of wallet extensions and to display wallet-related information. This suggests that CardanoNS is not exclusively local to walletConnection.slice.ts and is required globally.

Conclusion

Given the usage of CardanoNS in multiple components outside of walletConnection.slice.ts, the localization of CardanoNS within startListenWalletChanges might lead to issues if other parts of the application rely on a globally accessible CardanoNS. This could potentially break functionality in ConnectSection.tsx where CardanoNS is expected to be available globally.

Action Required:
The localization of CardanoNS should be reconsidered, or adjustments should be made to ensure that all components that require CardanoNS have access to it. It is recommended to either maintain CardanoNS as a global variable or ensure that it is passed appropriately to all components that depend on it.

Analysis chain

Localizing the CardanoNS declaration within the startListenWalletChanges function is consistent with good practices for reducing global namespace pollution.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify that `CardanoNS` is not used globally elsewhere in the codebase that might be affected by this change.
rg --type ts "CardanoNS" --glob '!src/store/slices/walletConnection.slice.ts'

Length of output: 762

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Actionable comments outside the diff hunks (2)
README.md (2)

Line range hint 20-27: Replace hard tabs with spaces to maintain consistency in the document formatting.

-	```sh
-	# Example using localhost:8080
-	REACT_APP_BASE_URL=http://localhost:8080 npm start
-	```
+   ```sh
+   # Example using localhost:8080
+   REACT_APP_BASE_URL=http://localhost:8080 npm start
+   ```

Also, consider adding a comma after .env for better readability.

- The default API endpoint is `https://dapps-certification.scdev.aws.iohkdev.io/` found in `./.env`
+ The default API endpoint is `https://dapps-certification.scdev.aws.iohkdev.io/`, found in `./.env`

Line range hint 59-73: Reduce multiple consecutive blank lines to a single blank line for cleaner formatting.

-# run the build
-serve -s build
-
-
-## Production docker
+ # run the build
+ serve -s build
+
+ ## Production docker

Also, consider adding a comma after 'docker' in the introductory note for clarity.

- NOTE: from the root of the project run all the docker-files scripts
+ NOTE: from the root of the project, run all the docker-files scripts

Comment on lines 3 to +5
| Statements | Branches | Functions | Lines |
| --------------------------- | ----------------------- | ------------------------- | ----------------- |
| ![Statements](https://img.shields.io/badge/statements-6.38%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-1.42%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-4.45%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-6.07%25-red.svg?style=flat) |
| ![Statements](https://img.shields.io/badge/statements-11.53%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-10.61%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-8.5%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-10.75%25-red.svg?style=flat) |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean up repeated whitespaces in the table headers for better readability.

-| Statements                  | Branches                | Functions                 | Lines             |
+| Statements | Branches | Functions | Lines |

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation.

Suggested change
| Statements | Branches | Functions | Lines |
| --------------------------- | ----------------------- | ------------------------- | ----------------- |
| ![Statements](https://img.shields.io/badge/statements-6.38%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-1.42%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-4.45%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-6.07%25-red.svg?style=flat) |
| ![Statements](https://img.shields.io/badge/statements-11.53%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-10.61%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-8.5%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-10.75%25-red.svg?style=flat) |
| Statements | Branches | Functions | Lines |
| --------------------------- | ----------------------- | ------------------------- | ----------------- |
| ![Statements](https://img.shields.io/badge/statements-11.53%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-10.61%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-8.5%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-10.75%25-red.svg?style=flat) |

@EehMauro EehMauro requested a review from amnambiar April 16, 2024 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants