Skip to content

Commit c3ba804

Browse files
committed
Add UI tests
1 parent c05fec5 commit c3ba804

File tree

4 files changed

+292
-304
lines changed

4 files changed

+292
-304
lines changed

src/Controls/tests/Core.UnitTests/RefreshViewTests.cs

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ public class RefreshViewTests : BaseTestFixture
1818

1919
public RefreshViewTests()
2020
{
21-
2221
DeviceDisplay.SetCurrent(new MockDeviceDisplay());
2322
}
2423

@@ -30,15 +29,15 @@ public void StartsEnabled()
3029
}
3130

3231
[Fact]
33-
public void CanExecuteDisablesRefreshView()
32+
public void CanExecuteDisablesRefreshing()
3433
{
3534
RefreshView refreshView = new RefreshView();
3635
refreshView.Command = new Command(() => { }, () => false);
3736
Assert.False(refreshView.IsRefreshEnabled);
3837
}
3938

4039
[Fact]
41-
public void CanExecuteEnablesRefreshView()
40+
public void CanExecuteEnablesRefreshing()
4241
{
4342
RefreshView refreshView = new RefreshView();
4443
refreshView.Command = new Command(() => { }, () => true);
@@ -57,18 +56,18 @@ public void IsRefreshingStillTogglesTrueWhenCanExecuteToggledDuringExecute()
5756
}
5857

5958
[Fact]
60-
public void IsEnabledShouldCoerceCanExecute()
59+
public void IsRefreshEnabledShouldCoerceCanExecute()
6160
{
6261
RefreshView refreshView = new RefreshView()
6362
{
64-
IsEnabled = false,
63+
IsRefreshEnabled = false,
6564
Command = new Command(() => { })
6665
};
67-
Assert.False(refreshView.IsEnabled);
66+
Assert.False(refreshView.IsRefreshEnabled);
6867
}
6968

7069
[Fact]
71-
public void CanExecuteChangesEnabled()
70+
public void CanExecuteChangesIsRefreshEnabled()
7271
{
7372
RefreshView refreshView = new RefreshView();
7473

@@ -80,14 +79,13 @@ public void CanExecuteChangesEnabled()
8079
command.ChangeCanExecute();
8180
Assert.False(refreshView.IsRefreshEnabled);
8281

83-
8482
canExecute = true;
8583
command.ChangeCanExecute();
8684
Assert.True(refreshView.IsRefreshEnabled);
8785
}
8886

8987
[Fact]
90-
public void CommandPropertyChangesEnabled()
88+
public void CommandPropertyChangesIsRefreshEnabled()
9189
{
9290
RefreshView refreshView = new RefreshView();
9391

@@ -196,26 +194,28 @@ public void IsRefreshEnabledPreventsIsRefreshingFromBeingSetToTrue()
196194
public void SettingIsRefreshEnabledToFalseWhileRefreshingStopsRefresh()
197195
{
198196
RefreshView refreshView = new RefreshView();
197+
199198
refreshView.IsRefreshing = true;
200199
Assert.True(refreshView.IsRefreshing);
201-
200+
202201
refreshView.IsRefreshEnabled = false;
203202
Assert.False(refreshView.IsRefreshing);
204203
}
205204

206205
[Theory]
207-
[InlineData(true, true, true, true)] // Both enabled - should allow refresh
208-
[InlineData(false, true, true, false)] // IsEnabled false - should prevent refresh
209-
[InlineData(true, false, true, false)] // IsRefreshEnabled false - should prevent refresh
210-
[InlineData(false, false, true, false)] // Both false - should prevent refresh
211-
public void RefreshBehaviorDependsOnIsEnabledAndIsRefreshEnabled(bool isEnabled, bool isRefreshEnabled, bool setRefreshing, bool expectedRefreshing)
206+
[InlineData(true, true, true)] // Both enabled - should allow refresh
207+
[InlineData(false, true, false)] // IsEnabled false - should prevent refresh
208+
[InlineData(true, false, false)] // IsRefreshEnabled false - should prevent refresh
209+
[InlineData(false, false, false)] // Both false - should prevent refresh
210+
public void RefreshBehaviorDependsOnIsEnabledAndIsRefreshEnabled(bool isEnabled, bool isRefreshEnabled, bool expectedRefreshing)
212211
{
213212
RefreshView refreshView = new RefreshView();
214-
213+
215214
refreshView.IsEnabled = isEnabled;
216215
refreshView.IsRefreshEnabled = isRefreshEnabled;
217-
refreshView.IsRefreshing = setRefreshing;
218-
216+
217+
refreshView.IsRefreshing = true;
218+
219219
Assert.Equal(expectedRefreshing, refreshView.IsRefreshing);
220220
}
221221

@@ -225,16 +225,16 @@ public void IsRefreshEnabledWorksWithCommand()
225225
RefreshView refreshView = new RefreshView();
226226
bool commandExecuted = false;
227227
refreshView.Command = new Command(() => commandExecuted = true);
228-
228+
229229
// When IsRefreshEnabled is true, command should execute
230230
refreshView.IsRefreshEnabled = true;
231231
refreshView.IsRefreshing = true;
232232
Assert.True(commandExecuted);
233-
233+
234234
// Reset
235235
commandExecuted = false;
236236
refreshView.IsRefreshing = false;
237-
237+
238238
// When IsRefreshEnabled is false, refresh should not happen
239239
refreshView.IsRefreshEnabled = false;
240240
refreshView.IsRefreshing = true;
@@ -248,17 +248,17 @@ public void IsRefreshEnabledRespectsCommandCanExecute()
248248
RefreshView refreshView = new RefreshView();
249249
bool canExecute = true;
250250
bool commandExecuted = false;
251-
251+
252252
refreshView.Command = new Command(() => commandExecuted = true, () => canExecute);
253-
253+
254254
// Initially can execute and IsRefreshEnabled is true by default
255255
Assert.True(refreshView.IsRefreshEnabled);
256-
256+
257257
// When command cannot execute, IsRefreshEnabled should be false
258258
canExecute = false;
259259
((Command)refreshView.Command).ChangeCanExecute();
260260
Assert.False(refreshView.IsRefreshEnabled);
261-
261+
262262
// When command can execute again, IsRefreshEnabled should be true (if explicitly set)
263263
canExecute = true;
264264
((Command)refreshView.Command).ChangeCanExecute();
@@ -271,13 +271,13 @@ public void IsRefreshEnabledWithCommandCanExecuteFalseBlocksRefresh()
271271
RefreshView refreshView = new RefreshView();
272272
bool canExecute = false;
273273
bool commandExecuted = false;
274-
274+
275275
refreshView.Command = new Command(() => commandExecuted = true, () => canExecute);
276-
276+
277277
// Even though IsRefreshEnabled is explicitly true, command cannot execute
278278
refreshView.IsRefreshEnabled = true;
279279
Assert.False(refreshView.IsRefreshEnabled); // Should be coerced to false
280-
280+
281281
// Trying to refresh should fail
282282
refreshView.IsRefreshing = true;
283283
Assert.False(refreshView.IsRefreshing);
@@ -290,18 +290,18 @@ public void CommandCanExecuteChangeClearsIsRefreshingWhenBecomesFalse()
290290
RefreshView refreshView = new RefreshView();
291291
bool canExecute = true;
292292
bool commandExecuted = false;
293-
293+
294294
refreshView.Command = new Command(() => commandExecuted = true, () => canExecute);
295-
295+
296296
// Start refreshing
297297
refreshView.IsRefreshing = true;
298298
Assert.True(refreshView.IsRefreshing);
299299
Assert.True(commandExecuted);
300-
300+
301301
// When command can no longer execute, refreshing should stop
302302
canExecute = false;
303303
((Command)refreshView.Command).ChangeCanExecute();
304-
304+
305305
// The refresh should not be stopped by CanExecuteChanged when already refreshing
306306
// This matches the behavior in the CanExecuteChanged method
307307
Assert.True(refreshView.IsRefreshing);

src/Controls/tests/DeviceTests/Elements/RefreshView/RefreshViewTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ void SetupBuilder()
2828
});
2929
});
3030
}
31+
3132
[Fact(DisplayName = "Setting the content of RefreshView removes previous platform view from visual tree")]
3233
public async Task ChangingRefreshViewContentRemovesPreviousContentsPlatformViewFromVisualTree()
3334
{

0 commit comments

Comments
 (0)