Skip to content

Commit dafdce5

Browse files
committed
NR/UITest: Enhance test for MarkAsRead status check
1 parent 57a9ce1 commit dafdce5

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

src/NewsReader.UITest/NewsReader.UITest/NewsReaderTest.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,24 @@ public void OpenFirstNewsTest()
1616
var window = GetShellWindow();
1717
if (!IsWindows) window.MenuButton.SafeClick();
1818
var menuView = window.MenuView;
19-
var firstItem = menuView.FeedNavigationItems[0];
20-
Log.WriteLine(("1. Feed:", firstItem.TitleLabel.Text));
21-
firstItem.Element.SafeClick();
19+
var firstFeed = menuView.FeedNavigationItems[0];
20+
Log.WriteLine(("1. Feed:", firstFeed.TitleLabel.Text));
21+
firstFeed.Element.SafeClick();
2222
if (!IsWindows) window.TapEmptySpace(); // Close menu flyout
2323

2424
var feedView = window.FeedView;
2525
Log.WriteLine("Feed items:");
2626
foreach (var x in feedView.FeedItems) Log.WriteLine(" " + x.NameLabel.Text);
27-
feedView.FeedItems[0].Element.SafeClick();
27+
var item = feedView.FeedItems[0];
28+
Assert.False(item.MarkAsRead);
29+
item.Element.SafeClick();
2830

2931
var feedItemView = window.FeedItemView;
30-
Thread.Sleep(2000);
32+
Thread.Sleep(3500);
3133
CreateScreenshot("FeedView");
3234

3335
window.Back();
36+
Assert.True(item.MarkAsRead);
3437
feedView.SearchButton.SafeClick();
3538
feedView.SearchBar.EnterText("DoesNotExist_34jlk534");
3639
Assert.Equal("DoesNotExist_34jlk534", feedView.SearchBar.Text);

src/NewsReader.UITest/NewsReader.UITest/Views/FeedView.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,11 @@ public record FeedItem(AppiumElement Element)
2020
public AppiumElement NameLabel => Element.Find("NameLabel");
2121

2222
public AppiumElement DescriptionLabel => Element.Find("DescriptionLabel");
23+
24+
public bool MarkAsRead => Element.GetStatusInfo() switch
25+
{
26+
"MarkAsReadFalse" => false,
27+
"MarkAsReadTrue" => true,
28+
var x => throw new InvalidOperationException($"Status: {x} is not supported")
29+
};
2330
}

src/NewsReader/NewsReader.Presentation/Views/FeedView.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
</DataTemplate>
5353

5454
<ControlTemplate x:Key="ItemTemplate" x:DataType="do:FeedItem">
55-
<VerticalStackLayout Padding="10,5,10,10" Spacing="3" InputTransparent="False" AutomationId="FeedItem">
55+
<VerticalStackLayout Padding="10,5,10,10" Spacing="3" InputTransparent="False" AutomationId="FeedItem" SemanticProperties.Description="{Binding MarkAsRead, StringFormat='MarkAsRead{0}'}">
5656
<FlyoutBase.ContextFlyout>
5757
<MenuFlyout>
5858
<MenuFlyoutItem Command="{Binding ReadUnreadCommand, Source={RelativeSource AncestorType={x:Type vm:FeedViewModel}}, x:DataType=vm:FeedViewModel}" CommandParameter="{Binding}"

0 commit comments

Comments
 (0)