Closed Dante291 closed 5 days ago
The pull request introduces significant enhancements to fund management within the application. Key changes include the addition of new classes (Fund
, Campaign
, Pledge
) and services (FundService
, FundViewModel
) to facilitate pledging and fundraising operations. The locator.dart
file is updated for dependency injection of these new components. Additionally, various UI screens are implemented to display and manage funds, campaigns, and pledges, along with corresponding tests to ensure functionality. The changes aim to support features related to making pledges and donations.
File | Change Summary |
---|---|
lib/locator.dart |
Added imports for FundService and FundViewModel , registered them for dependency injection. |
lib/models/funds/fund.dart |
Introduced Fund class with properties and a fromJson factory method. |
lib/models/funds/fund_campaign.dart |
Introduced Campaign class with properties and a fromJson factory method. |
lib/models/funds/fund_pledges.dart |
Introduced Pledge class with properties and a fromJson factory method. |
lib/services/event_service.dart |
Updated methods to use gqlAuthMutation for GraphQL operations. |
lib/services/fund_service.dart |
Added FundService class with methods for managing funds, campaigns, and pledges. |
lib/utils/fund_queries.dart |
Created FundQueries class for GraphQL queries and mutations related to funds. |
lib/view_model/after_auth_view_models/funds_view_models/fund_view_model.dart |
Added FundViewModel class for managing fund-related data interactions. |
lib/views/after_auth_screens/funds/fund_pledges_screen.dart |
Implemented PledgesScreen for managing pledges associated with a campaign. |
lib/views/after_auth_screens/funds/fundraising_campaigns_screen.dart |
Implemented CampaignsScreen for displaying fundraising campaigns. |
lib/views/after_auth_screens/funds/funds_screen.dart |
Implemented FundScreen for managing funds. |
test/model_tests/funds/fund_campaign_test.dart |
Added unit tests for Campaign model. |
test/model_tests/funds/fund_pledges_test.dart |
Added unit tests for Pledge model. |
test/model_tests/funds/fund_test.dart |
Added unit tests for Fund model. |
test/service_tests/fund_service_test.dart |
Added unit tests for FundService class. |
test/utils/fund_queries_test.dart |
Added unit tests for FundQueries class. |
test/view_model_tests/after_auth_view_model_tests/fund_view_models/fund_view_model_test.dart |
Added unit tests for FundViewModel class. |
test/views/after_auth_screens/funds/fund_pledges_screen_test.dart |
Added widget tests for PledgesScreen . |
test/views/after_auth_screens/funds/fund_screen_test.dart |
Added widget tests for FundScreen . |
test/views/after_auth_screens/funds/fundraising_campaigns_screen_test.dart |
Added widget tests for CampaignsScreen . |
test/widgets/add_pledge_dialogue_box_test.dart |
Added widget tests for AddPledgeDialog . |
test/widgets/pledge_card_test.dart |
Added widget tests for PledgeCard . |
test/widgets/update_pledge_dialogue_box_test.dart |
Added widget tests for UpdatePledgeDialog . |
.github/workflows/pull-request.yml |
Updated workflow to exclude specific files from line counting. |
Objective | Addressed | Explanation |
---|---|---|
Feature for making pledges/donation (#2593) | β | |
Integration of fund management services (#2581) | β |
π In the fields of funds, we hop and play,
With pledges and campaigns, we brighten the day.
A new screen for pledges, a dialog to share,
Join us in giving, show that you care!
With every small hop, we gather our cheer,
For every donation, our mission is clear! πΌπ°
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?
We have these basic policies to make the approval process smoother for our volunteer team.
Please make sure your code passes all tests. Our test code coverage system will fail if either of these two conditions occur:
The process helps maintain the overall reliability of the code base and is a prerequisite for getting your PR approved. Assigned reviewers regularly review the PR queue and tend to focus on PRs that are passing.
Do not assign reviewers. Our Queue Monitors will review your PR and assign them. When your PR has been assigned reviewers contact them to get your code reviewed and approved via:
Your reviewer(s) will have the following roles:
:dart: Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.
Please fix the failing tests.
Attention: Patch coverage is 91.22469%
with 91 lines
in your changes missing coverage. Please review.
Project coverage is 95.21%. Comparing base (
48c349b
) to head (d88dbb7
). Report is 1 commits behind head on develop.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
π¨ Try these New Features:
@Dante291 I am approving this but create issue for each file of this project which has missing test cases.
What kind of change does this PR introduce?
Adds supports for fund raising campaigns in Talawa mobile app
Issue Number:
Fixes #2593
Did you add tests for your changes?
Yes
Snapshots/Videos:
https://github.com/user-attachments/assets/10343d46-2cb0-43ab-8a5a-78a0fc014ba3
If relevant, did you update the documentation?
Yes
Summary
Does this PR introduce a breaking change?
Yes
Have you read the contributing guide?
Yes
Summary by CodeRabbit
Release Notes
New Features
FundService
for managing funds, campaigns, and pledges.Fund
,Campaign
, andPledge
models to encapsulate relevant data.FundViewModel
to handle interactions between the view and fund data.PledgesScreen
andCampaignsScreen
for managing pledges and campaigns.AddPledgeDialog
andUpdatePledgeDialog
for creating and updating pledges.ImageService
for improved image processing capabilities.Bug Fixes
Tests
FundService
,FundViewModel
, and various UI components to ensure functionality and reliability.Fund
,Campaign
, andPledge
models.