1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-19 13:20:16 +08:00

Add tests covering desired UX

This commit is contained in:
Bartłomiej Dach
2025-09-30 15:16:58 +02:00
Unverified
parent 38278eaaac
commit 4b2f3efcbd
2 changed files with 60 additions and 0 deletions
@@ -249,5 +249,39 @@ namespace osu.Game.Tests.Visual.SongSelectV2
CheckDisplayedBeatmapSetsCount(10);
CheckDisplayedBeatmapsCount(30);
}
[Test]
public void TestGroupDoesNotExpandAgainOnRefilterIfManuallyCollapsed()
{
ApplyToFilterAndWaitForFilter("filter", c => c.SearchText = BeatmapSets[2].Metadata.Title);
CheckDisplayedGroupsCount(1);
CheckDisplayedBeatmapSetsCount(1);
CheckDisplayedBeatmapsCount(3);
CheckHasSelection();
ApplyToFilterAndWaitForFilter("remove filter", c => c.SearchText = string.Empty);
CheckDisplayedGroupsCount(5);
CheckDisplayedBeatmapSetsCount(10);
CheckDisplayedBeatmapsCount(30);
ToggleGroupCollapse();
ApplyToFilterAndWaitForFilter("apply no-op filter", c => c.AllowConvertedBeatmaps = !c.AllowConvertedBeatmaps);
AddAssert("group didn't re-expand", () => Carousel.ExpandedGroup, () => Is.Null);
ToggleGroupCollapse();
AddAssert("beatmap set re-expanded correctly", () => Carousel.ExpandedBeatmapSet?.BeatmapSet, () => Is.EqualTo(BeatmapSets[2]));
ApplyToFilterAndWaitForFilter("filter", c => c.SearchText = BeatmapSets[1].Metadata.Title);
CheckDisplayedGroupsCount(1);
CheckDisplayedBeatmapSetsCount(1);
CheckDisplayedBeatmapsCount(3);
CheckHasSelection();
}
}
}
@@ -337,5 +337,31 @@ namespace osu.Game.Tests.Visual.SongSelectV2
AddAssert("expanded group is still first", () => (Carousel.ExpandedGroup as StarDifficultyGroupDefinition)?.Difficulty.Stars, () => Is.EqualTo(0));
}
[Test]
public void TestExpandedGroupDoesNotExpandAgainOnRefilterIfManuallyCollapsed()
{
SelectPrevSet();
WaitForBeatmapSelection(2, 9);
AddAssert("expanded group is last", () => (Carousel.ExpandedGroup as StarDifficultyGroupDefinition)?.Difficulty.Stars, () => Is.EqualTo(6));
SelectNextPanel();
Select();
WaitForBeatmapSelection(2, 9);
AddAssert("expanded group is first", () => (Carousel.ExpandedGroup as StarDifficultyGroupDefinition)?.Difficulty.Stars, () => Is.EqualTo(0));
ToggleGroupCollapse();
// doesn't actually filter anything away, but triggers a filter.
ApplyToFilterAndWaitForFilter("filter", c => c.SearchText = "Some");
AddAssert("group didn't re-expand", () => (Carousel.ExpandedGroup as StarDifficultyGroupDefinition)?.Difficulty.Stars, () => Is.Null);
ToggleGroupCollapse();
ApplyToFilterAndWaitForFilter("filter", c => c.SearchText = "Som");
AddAssert("expanded group is first", () => (Carousel.ExpandedGroup as StarDifficultyGroupDefinition)?.Difficulty.Stars, () => Is.EqualTo(0));
}
}
}