Closed Dante291 closed 1 month ago
The pull request introduces significant enhancements to the event agenda management functionality in the application. Key changes include the addition of new models, view models, and services for handling agenda items, as well as updates to the GitHub Actions workflow for pull requests. New UI components for creating and editing agenda items have been added, along with corresponding tests to ensure functionality. The modifications also include improved GraphQL operations for fetching and managing agenda-related data.
File Path | Change Summary |
---|---|
.github/workflows/pull-request.yml |
Modified workflow to include line counting and branch checks; updated commands for line count. |
lib/locator.dart |
Added import and registration for EditAgendaItemViewModel . |
lib/models/events/event_agenda_category.dart |
Introduced AgendaCategory class with properties and JSON parsing method. |
lib/models/events/event_agenda_item.dart |
Created EventAgendaItem class with properties, enumeration, and JSON parsing method. |
lib/services/event_service.dart |
Updated GraphQL operations and added methods for managing agenda items. |
lib/services/image_service.dart |
Removed logging of Base64 string in convertToBase64 method. |
lib/utils/event_queries.dart |
Added methods for agenda item operations (fetch, create, update, delete). |
lib/view_model/after_auth_view_models/event_view_models/edit_agenda_view_model.dart |
Introduced EditAgendaItemViewModel for managing agenda item state and behavior. |
lib/view_model/after_auth_view_models/event_view_models/event_info_view_model.dart |
Expanded functionality to include agenda item management. |
lib/views/after_auth_screens/events/create_agenda_item_page.dart |
Created UI for creating new agenda items. |
lib/views/after_auth_screens/events/edit_agenda_item_page.dart |
Created UI for editing existing agenda items. |
lib/views/after_auth_screens/events/event_info_page.dart |
Updated to conditionally display tabs based on user role. |
lib/views/after_auth_screens/events/manage_agenda_items_screen.dart |
Created UI for managing agenda items. |
lib/widgets/agenda_item_tile.dart |
Introduced ExpandableAgendaItemTile widget for displaying agenda items. |
test/helpers/test_helpers.dart |
Updated to include EditAgendaItemViewModel for testing. |
test/helpers/test_helpers.mocks.dart |
Added mock methods for agenda item operations in MockEventService . |
test/helpers/test_locator.dart |
Updated to register EditAgendaItemViewModel . |
test/model_tests/events/event_agenda_category_test.dart |
Added tests for AgendaCategory model. |
test/model_tests/events/event_agenda_item_test.dart |
Added tests for EventAgendaItem model. |
test/service_tests/event_service_test.dart |
Added tests for new agenda item methods in EventService . |
test/utils/event_queries_test.dart |
Added tests for new methods in EventQueries . |
test/view_model_tests/after_auth_view_model_tests/event_view_model_tests/edit_agenda_view_model_test.dart |
Added tests for EditAgendaItemViewModel . |
test/view_model_tests/after_auth_view_model_tests/event_view_model_tests/event_info_view_model_test.dart |
Added tests for agenda item management in EventInfoViewModel . |
test/views/after_auth_screens/events/create_agenda_item_page_test.dart |
Added widget tests for CreateAgendaItemPage . |
test/views/after_auth_screens/events/edit_agenda_item_page_test.dart |
Added widget tests for EditAgendaItemPage . |
test/views/after_auth_screens/events/manage_agenda_items_screen_test.dart |
Added widget tests for ManageAgendaScreen . |
test/widget_tests/after_auth_screens/events/event_info_page_test.dart |
Added test for agenda section visibility in EventInfoPage . |
test/widget_tests/widgets/agenda_item_tile_test.dart |
Added widget tests for ExpandableAgendaItemTile . |
test/views/helpers/test_locator.dart |
Removed unused helper file. |
Objective | Addressed | Explanation |
---|---|---|
Implement agenda management functionality | ✅ |
In the garden of events, we hop and play,
New agendas bloom, brightening the day.
With models and views, our work is complete,
Editing and creating, oh, what a treat!
So gather your carrots, let’s celebrate cheer,
For the magic of coding is finally here! 🐰✨
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.
Attention: Patch coverage is 82.46445%
with 111 lines
in your changes missing coverage. Please review.
Project coverage is 95.47%. Comparing base (
67ce8e0
) to head (f0c296e
). Report is 2 commits behind head on develop.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@palisadoes This is ready to get merged
What kind of change does this PR introduce?
Feature for agenda management for events.
Issue Number:
Fixes #2577
Did you add tests for your changes?
Yes
Snapshots/Videos:
https://github.com/user-attachments/assets/bf2fdb3e-b247-45dd-9cda-ba3553452812
If relevant, did you update the documentation?
Summary
Does this PR introduce a breaking change?
Yes
Other information
Have you read the contributing guide?
Yes
Summary by CodeRabbit
New Features
Bug Fixes
Tests
Documentation