-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[Testing] Feature Matrix UITest Cases for RefreshView Control #30614
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
base: main
Are you sure you want to change the base?
[Testing] Feature Matrix UITest Cases for RefreshView Control #30614
Conversation
Hey there @@TamilarasanSF4853! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
/azp run MAUI-UITests-public |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
@jsuarezruiz I have added the pending snapshots in the latest commit. |
/azp run MAUI-UITests-public |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
@jsuarezruiz I have added the pending snapshots in the latest commit. |
/azp run MAUI-UITests-public |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
Previously included, but the test ProgressSpinnerNotDisabledOnStartup that is a RefreshView test, is failing on Android.
Failed ProgressSpinnerNotDisabledOnStartup [11 s]
Error Message:
VisualTestUtils.VisualTestFailedException :
Snapshot different than baseline: Issue28343_ProgressSpinnerDisabled.png (2.70% difference)
If the correct baseline has changed (this isn't a a bug), then update the baseline image.
See test attachment or download the build artifacts to get the new snapshot file.
Could you review it in this PR?
This PR includes a comprehensive set of UI test cases for the RefreshView control. The tests validate the RefreshView control functionality, including properties such as Command, CommandParameter, FlowDirection, IsEnabled, IsVisible, IsRefreshing, RefreshColor, and Shadow, along with pull-to-refresh interactions with different content types (ScrollView and CollectionView).
RefreshView Control Implementation:
Added RefreshViewControlMainPage to host the RefreshView control, with bindings for properties like Command, CommandParameter, FlowDirection, IsEnabled, IsVisible, IsRefreshing, RefreshColor, and Shadow. The control dynamically switches between ScrollView and CollectionView content to demonstrate refresh functionality with different scrollable containers.
Created RefreshViewOptionsPage to allow users to configure RefreshView properties interactively, including command parameter selection, state control, layout direction, refresh color selection, and visual effects configuration.
Added event handlers for property changes in RefreshViewOptionsPage.xaml.cs to update the RefreshView control dynamically through a ViewModel pattern, enabling real-time property modifications and validation.
Implemented RefreshViewViewModel with comprehensive property binding and Command execution that handles refresh operations, parameter-based content changes, and status tracking.
Implemented a suite of UI tests in RefreshViewFeatureTests to validate default state verification, pull-to-refresh functionality with different content types, command parameter handling, state management (IsEnabled, IsVisible, IsRefreshing), refresh color styling, flow direction support, shadow effects, and visual verification of property configurations using VerifyScreenshot() across platforms with platform-specific conditional compilation for Catalyst and Windows limitations.
Issues Identified
Screen.Recording.2025-07-14.at.6.37.11.PM.mov