Add failure test case.

- Only show failure if request wasn't cancelled
This commit is contained in:
Unknown
2017-11-28 11:57:29 +05:30
parent ac1fb5118c
commit e832f163e7
2 changed files with 49 additions and 33 deletions

View File

@ -9,6 +9,7 @@ using osu.Game.Users;
using osu.Framework.Allocation;
using OpenTK;
using System.Linq;
using System.Net;
using osu.Game.Beatmaps;
using osu.Game.Rulesets;
@ -19,11 +20,11 @@ namespace osu.Game.Tests.Visual
{
private RulesetStore rulesets;
private readonly Leaderboard leaderboard;
private readonly FailableLeaderboard leaderboard;
public TestCaseLeaderboard()
{
Add(leaderboard = new Leaderboard
Add(leaderboard = new FailableLeaderboard
{
Origin = Anchor.Centre,
Anchor = Anchor.Centre,
@ -33,8 +34,8 @@ namespace osu.Game.Tests.Visual
AddStep(@"New Scores", newScores);
AddStep(@"Empty Scores", () => leaderboard.Scores = Enumerable.Empty<Score>());
AddStep(@"Network failure", networkFailure);
AddStep(@"Real beatmap", realBeatmap);
newScores();
}
[BackgroundDependencyLoader]
@ -263,5 +264,21 @@ namespace osu.Game.Tests.Visual
},
};
}
private void networkFailure()
{
leaderboard.Beatmap = new BeatmapInfo();
}
private class FailableLeaderboard : Leaderboard
{
protected override void UpdateScores()
{
if (Beatmap?.OnlineBeatmapID == null)
OnUpdateFailed(new WebException());
else
base.UpdateScores();
}
}
}
}