1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 09:17:48 +08:00
Commit Graph

7582 Commits

Author SHA1 Message Date
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-15 14:45:42 +01:00
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
Susko3
9af9155e66 Fix osu.Game.Tests.Android not building 2022-01-14 17:37:58 +01:00
Dean Herbert
8d4a3cc569 Remove pointless Metadata set 2022-01-14 23:27:33 +09:00
Dean Herbert
9900a3f408 Remove outdated comment 2022-01-14 21:40:35 +09:00
Dean Herbert
289ae7c72f Update one more mismatched test implementation 2022-01-14 21:39:42 +09:00
Dean Herbert
a59dcccab7 Add local ContextFactory caching to all remaining test scenes that create local managers 2022-01-14 19:59:21 +09:00
Dean Herbert
eb5f15a77e
Merge pull request #16420 from bdach/slider-paste-parsing-failures-2
Fix pasted sliders having sample points with time at infinity
2022-01-13 23:28:49 +09:00
Dean Herbert
4f8d29c1c0 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-13 18:25:09 +09:00
Dean Herbert
7147799895
Merge pull request #16273 from Joehuu/fix-remaining-identifier-names
Normalise more identifier names
2022-01-13 17:06:57 +09:00
Dean Herbert
e1f5acd689 Remove names from user dictionary 2022-01-13 12:40:19 +09:00
Joseph Madamba
b245ffefc1 Merge remote-tracking branch 'upstream/master' into fix-remaining-identifier-names 2022-01-12 15:05:07 -08:00
Dan Balasescu
672c1d36dc Fix intermitten screen navigation tests 2022-01-13 05:52:04 +09:00
Bartłomiej Dach
07fc772c24
Merge branch 'master' into slider-paste-parsing-failures-2 2022-01-12 19:06:36 +01:00
Dean Herbert
2212bea17f Fix test failures due to double BeginPlaying calls 2022-01-13 01:34:29 +09:00
Dean Herbert
b2d09b7b10 Fix further warnings 2022-01-12 23:42:12 +09:00
Dean Herbert
b5f670cc5b Add far too many fixes for ruleset non-nullable requirements 2022-01-12 23:24:11 +09:00
Dean Herbert
51251e3204 Fix CI reported warnings 2022-01-12 22:39:00 +09:00
Dean Herbert
38cc1ce098 Add missing ruleset in test scores 2022-01-12 18:51:30 +09:00
Dean Herbert
34aa1bf21d Sanitise and remove some usages of Detach which are no longer required 2022-01-12 17:49:11 +09:00
Dean Herbert
f24b2b1be3 Make copying detached changes to realm only exposed for BeatmapSet
Also fixes remaining issues with the copy process.
2022-01-12 17:49:11 +09:00
Dean Herbert
a307f7e90e Add test coverage of updating via copying changes from detached instance 2022-01-12 17:49:11 +09:00
Dean Herbert
c92aff8d2b Add test of cyclic beatmap/beatmapset references 2022-01-12 17:49:11 +09:00
Dean Herbert
509301d94f Update detach test to assert correct behaviour 2022-01-12 17:49:11 +09:00
Dean Herbert
e0c59f4b3c Localise EF context factory usage to migration only 2022-01-12 17:49:11 +09:00
Dean Herbert
bf4133021b Update migration test to use realm file as test 2022-01-12 17:49:11 +09:00
Dean Herbert
7dba3c3551 Fix most remaining test issues 2022-01-12 17:49:11 +09:00
Dean Herbert
b7ee6d1866 Add protections against test null refs when beatmap load fails 2022-01-12 17:49:11 +09:00
Dean Herbert
dc9ea4adeb Remove incorrect test assertion 2022-01-12 17:49:11 +09:00
Dean Herbert
dd19487eb8 Fix custom import process in TestSceneDrawableRoomPlaylist not working with realm 2022-01-12 17:49:11 +09:00
Dean Herbert
6613a7e4ae Fix another case of test ruleset without overriding ShortName primary key 2022-01-12 17:49:11 +09:00
Dean Herbert
cd88ccab4f Fix TestScenePlaySongSelect failure due to detach clone depth 2022-01-12 17:49:11 +09:00
Dean Herbert
9e2ca583a3 Fix incorrect realm factory isolation in TestScenePlaySongSelect 2022-01-12 17:49:11 +09:00
Dean Herbert
b5975eee33 This file should have been deleted in a previous commit (rebase failure) 2022-01-12 17:49:11 +09:00
Dean Herbert
ca7e11057c Use better method to ensure online availability tracker is in a clean state 2022-01-12 17:49:10 +09:00
Dean Herbert
ac3b7aa893 Fix more incorrect test access to ILive 2022-01-12 17:49:10 +09:00
Dean Herbert
8e79898e26 Fix a couple of minor issues with TestSceneBeatmapRecommendations 2022-01-12 17:49:10 +09:00
Dean Herbert
5cbd731864 Add RulesetInfo hashcode implementation and tidy up equality 2022-01-12 17:49:10 +09:00
Dean Herbert
605898ec53 Add missing "non-null" elements missing from some tests 2022-01-12 17:49:10 +09:00
Dean Herbert
4b690703b3 Remove unnecessary DI dependencies from cache test 2022-01-12 17:49:10 +09:00
Dean Herbert
41d90cd0b5 Fix beatmap carousel test failures 2022-01-12 17:49:10 +09:00
Dean Herbert
8ecfb9172e Fix multiple tests with incorrect access to beatmap imports 2022-01-12 17:49:10 +09:00
Dean Herbert
af5d3af664 Remove test coverage of scores being deleted when beatmaps are
This is not supported in realm for now. Probably best suited to a
separate pass, similar to files, using backlink count.
2022-01-12 17:49:10 +09:00
Dean Herbert
43c7b0d2c8 Fix unsupported realm operations in multiple tests 2022-01-12 17:49:10 +09:00
Dean Herbert
33b5fa3473 Detach score during import tests to ensure original object doesn't get managed 2022-01-12 17:00:17 +09:00
Dean Herbert
463a185605 Fix many instances of User being null in score import tests 2022-01-12 17:00:17 +09:00
Dean Herbert
d19a9a0ba3 Remove assertion of ScoreInfo.Combo being database persisted 2022-01-12 17:00:17 +09:00
Dean Herbert
fa7dddcf3c Fix TestScenePresentScore sharing metadata/difficulty across multiple beatmaps 2022-01-12 17:00:17 +09:00
Dean Herbert
6251713796 Add missing Ruleset in ReplayRecorder tests 2022-01-12 17:00:17 +09:00
Dean Herbert
7e7784b78a Fix incorrect access to ILive in BeatmapSkinResources tests 2022-01-12 17:00:17 +09:00
Dean Herbert
f2f1adb792 Update FilterMatchingTest and filter code to use ruleset's OnlineID 2022-01-12 17:00:17 +09:00
Dean Herbert
ba4ef0926f Remove incorrect test fixture specification 2022-01-12 17:00:17 +09:00
Dean Herbert
e74a5022c9 Fix multiple tests via null checks and changing ToLive to Detach
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
52ca649159 Fix results screen test failures due to relation query 2022-01-12 17:00:17 +09:00
Dean Herbert
8461eaab46 BeatmapSetInfo detach support 2022-01-12 17:00:16 +09:00
Dean Herbert
de076678fe Fix some remaining test failures 2022-01-12 17:00:16 +09:00
Dean Herbert
3811bd8520 Fix some null inspections 2022-01-12 17:00:16 +09:00
Dean Herbert
1f9318265e Update ToLive usages in line with recent changes 2022-01-12 17:00:16 +09:00
Dean Herbert
31a3161189 Make tests compile again 2022-01-12 17:00:16 +09:00
Dean Herbert
3152d2d8a0 "Update" BeatmapCarousel 2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
Dean Herbert
4f6a05ce3d Reimplement all query methods 2022-01-12 16:57:27 +09:00
Dean Herbert
53792811b2 more fixes (almost compiles, except ruleset and manager) 2022-01-12 16:57:27 +09:00
Dean Herbert
aac2aa341c Update some more incorrect types for primary key access/set 2022-01-12 16:57:27 +09:00
Dean Herbert
b8cd3cdbbc Various updates to ruleset and primary key usages to move closer to realm support 2022-01-12 16:57:13 +09:00
Dean Herbert
116f35c52a Remove EF FileStore 2022-01-12 16:39:36 +09:00
Dean Herbert
3ecd889fef Replace EF RulesetStore with realm version
Pass full EF context factory to `RealmContextFactory` for migration purposes
2022-01-12 16:39:36 +09:00
Dean Herbert
89d6ffa7f3 Use RealmContextFactory instead of EF 2022-01-12 16:39:36 +09:00
Dean Herbert
e6fdd0e969 Miscellaneous fixes that don't fit elsewhere 2022-01-12 16:39:36 +09:00
Dean Herbert
2cb97dd599 Remove unnecessary assigns of EF foreign ID fields in tests 2022-01-12 16:39:36 +09:00
Dean Herbert
6a671b0a52 Remove unnecessary assigns of BeatmapSetInfo.Metadata 2022-01-12 16:39:36 +09:00
Dean Herbert
fda529de26 Update usages of APIUser to RealmUser 2022-01-12 16:39:36 +09:00
Dean Herbert
213d89b479 Update null fallback cases involving OnlineID 2022-01-12 16:39:36 +09:00
Dean Herbert
37673f4cf8 Update sets of BeatmapSet.Metadata to instead create a Beatmap 2022-01-12 16:39:36 +09:00
Dean Herbert
e6f6558ddf Update mock model usage to set GUIDs instead of ints 2022-01-12 16:39:36 +09:00
Dean Herbert
4f66e8f881 Fix issues with editor check tests 2022-01-12 16:39:36 +09:00
Dean Herbert
618903c217 Rename realm to become imposter classes 2022-01-12 16:39:36 +09:00
Dean Herbert
c383f26729 Remove EF specific tests that have since been replaced 2022-01-12 16:39:36 +09:00
Bartłomiej Dach
970e0cc85a
Merge branch 'master' into beatmap-background-with-storyboard-stopping 2022-01-11 21:39:49 +01:00
Bartłomiej Dach
e91d3dd8b4
Add failing test for incorrect sample control point time after paste 2022-01-11 21:34:22 +01:00
Dan Balasescu
60e42bf45e Add lenience to fix test failures 2022-01-11 23:01:17 +09:00
Dan Balasescu
ef66ec4622 Also fix MessageFormatter tests 2022-01-11 17:55:43 +09:00
Dan Balasescu
3cb5f43f77 Fix incorrect action returned for wiki links in DEBUG mode 2022-01-11 17:46:49 +09:00
Dan Balasescu
269df08fc9 Make ChatLink tests into proper unit test methods 2022-01-11 17:42:02 +09:00
Dan Balasescu
af9fad00c3 Merge branch 'master' into async-deadlock-safety 2022-01-10 16:11:09 +09:00
Dan Balasescu
928023fabb
Merge pull request #16362 from bdach/multiplayer-wrong-ruleset
Fix multiplayer starting gameplay using last picked item ruleset rather than actual current item ruleset
2022-01-10 15:10:27 +09:00
Dan Balasescu
c2843249e8
Merge pull request #16359 from peppy/fix-legacy-score-decoer-test
Fix `LegacyScoreDecoderTest` incorrectly comparing unset beatmap IDs
2022-01-10 13:10:58 +09:00
Dean Herbert
02d8a6359a Update FilterMatchingTest and filter code to use ruleset's OnlineID
The tests were relying on the `RulesetID` being set to 0 in the example
beatmap, even though the ruleset *instance* was set to ID 5.

This explicitly adds that 0 value to show intent, and also removes the
incorrect specification of 5 (which would cause the convert filter tests
to fail).

Also updates the filter code to use `OnlineID`, which is required in
realm changes.
2022-01-10 12:30:34 +09:00
Dean Herbert
3d14511286 Remove MD5 comparison also 2022-01-10 12:17:32 +09:00
Bartłomiej Dach
82d6639a3b
Decouple rankings table test from online API 2022-01-09 14:42:19 +01:00
Bartłomiej Dach
446962446e
Add test coverage for correct revert of mods when play starts at song select 2022-01-08 14:50:58 +01:00
Bartłomiej Dach
3dd5705a81
Add test coverage for correct revert of mods after new item is queued 2022-01-08 14:50:58 +01:00
Bartłomiej Dach
50077f05bd
Add test coverage for correct revert of ruleset when play starts at song select 2022-01-08 14:50:57 +01:00
Bartłomiej Dach
f026973b19
Add failing test for ruleset incorrectly applying from latest picked item 2022-01-08 14:50:54 +01:00
Dean Herbert
f6f24220c2 Fix LegacyScoreDecoderTest incorrectly comparing unset beatmap IDs
This has been wrong from the outside, but hidden by the fact that the
default values are equal. I've changed to MD5Hash which actually asserts
that the correct beatmap has likely arrived.

Found this in my realm changes, where it fails due to the beatmap ID
being a differing Guid in each case.
2022-01-08 15:28:13 +09:00
Bartłomiej Dach
881fa2b86b
Add basic test scene for scoreboard time 2022-01-07 19:18:16 +01:00
Dean Herbert
3cd996eb4a Merge branch 'master' into async-deadlock-safety 2022-01-07 17:28:59 +09:00
Dean Herbert
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
Bartłomiej Dach
66613cbaa4
Wait for async continuation in score submission test
The previous assert step was optimistically assuming that the async
continuation that writes the value of
`FakeImportingPlayer.ImportedScore` always completes before it, but
that's not necessarily true even if the continuation is instant (it is
still subject to things like task scheduling and TPL thread pool
limits).

To ensure no spurious failures, swap out the assert step for an until
step instead.
2022-01-06 13:09:25 +01:00
Bartłomiej Dach
84765b99b3
Handle score submission request in submission test scene
Was previously not handled at all, therefore displaying request failures
in the test log output. While that was mostly a red herring and
shouldn't have caused any actual *test* failures, it is still better to
handle this explicitly in a realistic manner.
2022-01-06 12:57:26 +01:00
Dean Herbert
5ed69338a6 Add omission of pages when there are too many 2022-01-04 19:05:14 +09:00
Dean Herbert
86f72b71b1 Prepare tests and general structure to support omission of pages 2022-01-04 18:46:44 +09:00
Dean Herbert
5a11ee7810 Use OverlayColourProvider and fix font weight 2022-01-04 18:14:42 +09:00
Dean Herbert
d10b8c79b3 Remove pointless test coverage of DrawablePage 2022-01-04 17:53:24 +09:00
Dean Herbert
ee4f5c0e79 Rename button classes to make more sense 2022-01-04 17:52:40 +09:00
Dean Herbert
1c899e4402 Fix post-merge issues 2022-01-04 16:46:42 +09:00
Dean Herbert
69e7ee0f48
Merge branch 'master' into page-selector 2022-01-04 16:44:22 +09:00
Dean Herbert
f3e889d0f6 Fix incorrect nested result retrieval in ImportBeatmapTest 2022-01-04 11:51:41 +09:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
Dean Herbert
031a40af6a Replace usages of Wait with WaitSafely 2022-01-04 11:51:41 +09:00
Dean Herbert
f6b1405fa0
Merge branch 'master' into fix-listing-terminal-breakage 2022-01-04 11:49:02 +09:00
Bartłomiej Dach
7cdba2f7c3
Add test coverage of score submission if player is exited during import 2022-01-03 22:00:47 +01:00
Bartłomiej Dach
2660f41339
Add failing test case for old cards not expiring correctly 2022-01-03 19:28:14 +01:00
Dean Herbert
04d8fd3a58 Improve reliability of TestStoryboardSkipOutro
Aims to resolve failures as seen at
https://github.com/peppy/osu/runs/4677353822?check_suite_focus=true.

Have run quite a lot locally with no failures (while removing the skip step 100% fails).
2022-01-01 15:32:39 +09:00
Dean Herbert
f53a675ca3 Fix TestSceneMultiSpectatorLeaderboard not waiting for user population 2021-12-31 00:48:31 +09:00
Joseph Madamba
c22a07d9fc Bump identifier typo inspection and fix remaining identifier names 2021-12-28 11:26:42 -08:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4 Fix clear identifier typos 2021-12-27 20:26:28 -08:00
Bartłomiej Dach
ef763e9bd7
Add failing test for storyboard not tracking current track 2021-12-27 12:28:49 +01:00
Bartłomiej Dach
34b0101ff4
Add visual test coverage of "hidden by ruleset" combo option 2021-12-26 16:49:18 +01:00
Bartłomiej Dach
2b4c2f7ff3
Add failing test for storyboard sample playback with beatmap hitsounds off 2021-12-26 14:25:05 +01:00
Dean Herbert
8ad53138a6
Merge pull request #16234 from smoogipoo/fix-initial-button-colour
Fix OsuAnimatedButton animating when initially disabled
2021-12-25 15:34:40 +09:00
Dean Herbert
ac1a452e20
Merge pull request #16239 from peppy/sanitise-test-directory-usage
Fix some more test directory usage weirdness
2021-12-25 12:09:18 +09:00
Dean Herbert
1c0dc204c4 Fix some regressing behaviour due to CleanRunHeadlessGameHost's naming structure changing 2021-12-24 20:24:37 +09:00
Dean Herbert
4b88e257e5 Update usages of CleanRunHeadlessGameHost to match new signature 2021-12-24 20:17:34 +09:00
Dean Herbert
2ee3e61983
Merge branch 'master' into beatmap-card/extra-on-listing 2021-12-24 19:02:51 +09:00
Dan Balasescu
c973739b08 Fix OsuButton event binding + inital-enablement colour 2021-12-24 11:56:12 +09:00
Dan Balasescu
03d159d723 Refactor OsuAnimatedButton test scene 2021-12-24 11:56:12 +09:00
Bartłomiej Dach
5cbaa028eb
Use extracted ruleset config cache implementation in DI 2021-12-23 19:02:10 +01:00
Bartłomiej Dach
27c5cc5bd8
Add testing for beatmap card size switching 2021-12-23 15:55:51 +01:00
Bartłomiej Dach
1876617d8e
Implement beatmap card size tab control 2021-12-23 15:55:36 +01:00
Bartłomiej Dach
1040590844
Add cancellation support to game-side IResourceStores 2021-12-23 10:33:17 +01:00
Dean Herbert
d31c9db08b Adjust testing methodology to improve reliability of mosue wheel volume adjust tests
There was previously a potential in headless runs for timing
discrepancies to cause the volume to never get adjusted.

As seen at https://github.com/peppy/osu/runs/4604610951?check_suite_focus=true.
2021-12-23 13:25:24 +09:00
Dan Balasescu
e1b539fa9e
Merge pull request #16213 from peppy/working-beatmap-live
Tidy up `WorkingBeatmap`
2021-12-23 13:02:37 +09:00
Bartłomiej Dach
02fa1c21b7
Adjust existing placeholder test to demonstrate failure case 2021-12-22 15:03:20 +01:00
Dean Herbert
f3f491374b Remove unused load checks 2021-12-22 18:17:00 +09:00
Dean Herbert
967419c9ac Remove BeatmapSetInfo and Metadata from interface
There were very few accesses to this, and after realm they should all be
done via the `BeatmapInfo`, so let's remove this.
2021-12-22 18:17:00 +09:00
Dean Herbert
ea7d2c06fc
Merge pull request #16206 from peppy/fix-collection-import-test-cleanup
Fix `ImportCollectionsTest.TestSaveAndReload` not cleaning up before run
2021-12-22 18:16:48 +09:00
Dean Herbert
a866572ca8 Add comment regarding host name choice 2021-12-22 15:44:47 +09:00
Dean Herbert
cfdfe81afb
Merge pull request #16205 from smoogipoo/fix-multiplayer-tests
Fix multiplayer test failures when checking for parted room
2021-12-22 13:42:05 +09:00
Dean Herbert
f81e32149b Fix ImportCollectionsTest.TestSaveAndReload not cleaning up before/after run 2021-12-22 13:38:20 +09:00
Dean Herbert
a88800c99a
Merge pull request #16198 from smoogipoo/fix-current-item-before-population
Fix delete button showing on current item before beatmap retrieval
2021-12-22 13:15:07 +09:00
Dan Balasescu
24c6f8fafa Fix multiplayer test failures when checking for parted room 2021-12-22 12:55:37 +09:00
Dan Balasescu
ee64ab6383 Fix delete button test failures
Can be tested by adding a Thread.Sleep() in
DrawableRoomPlaylistItem.load().
2021-12-22 09:55:19 +09:00
Bartłomiej Dach
e35a8cab65
Merge branch 'master' into fix-custom-directory-tests 2021-12-21 13:08:27 +01:00
Dean Herbert
df975fb29e
Merge pull request #16181 from dekrain/statics-reset-no-sb
Split session statics reset method to prevent unloading seasonal backgrounds
2021-12-21 18:52:04 +09:00
Dean Herbert
0bda7892f7
Merge pull request #16197 from bdach/beatmap-card/renames
Rename beatmap card-related classes
2021-12-21 18:51:34 +09:00
Dean Herbert
4a3a5054fd Ensure CustomDataDirectoryTest methods use a fresh directory to avoid IO errors
Resolves test failures like https://github.com/ppy/osu/runs/4592088736?check_suite_focus=true.
2021-12-21 18:42:39 +09:00
Dan Balasescu
e2f8c71081 Fix test 2021-12-21 18:38:31 +09:00
Dan Balasescu
4ba5a939db
Merge pull request #16178 from bdach/lounge-background-screen-correct
Fix lounge screen showing information sourced from wrong playlist item
2021-12-21 17:36:23 +09:00
Dan Balasescu
a53c67b2ea
Merge pull request #16194 from peppy/fix-results-screen-wait-test
Fix intermittent test failures on `TestSceneResultsScreen` due to long delay step
2021-12-21 16:56:49 +09:00
Bartłomiej Dach
b6a458a07e
Cover seasonal backgrounds not resetting on inactivity in test 2021-12-21 08:50:25 +01:00
Bartłomiej Dach
979624160f
Do not reset last hover sound playback time on inactivity 2021-12-21 08:47:41 +01:00
Bartłomiej Dach
88d4e95ad8
Rename BeatmapCard{ => Normal} 2021-12-21 08:26:21 +01:00
Bartłomiej Dach
bd1fb33ad6
Add and use separate extensions for historical and upcoming playlist items 2021-12-21 08:01:04 +01:00
Dean Herbert
2707b2fbda
Merge pull request #16012 from bdach/beatmap-card/extra
Implement "extra" beatmap card size
2021-12-21 15:40:33 +09:00
Dean Herbert
16fe0e4f89 Fix SessionStaticsTest never working
In headless operation, the test would complete before ever reaching an
idle state. And this test only ran headless..
2021-12-21 15:39:08 +09:00
Dean Herbert
981158ed88 Rename method and simplify SetDefault calling code 2021-12-21 15:34:32 +09:00
Dean Herbert
c0a8758839 Fix intermittent test failures on TestSceneResultsScreen due to long delay step
Using real time delays of 3 seconds doesn't play well with headless runs.
2021-12-21 15:15:05 +09:00
Dan Balasescu
a8cd96278d
Merge pull request #16189 from peppy/fix-beatmap-listing-overlay-test-failure
Fix intermittent failures on `TestSceneBeatmapListingOverlay`
2021-12-21 15:11:25 +09:00
Dean Herbert
0f8a6a3f64 Fix intermittent failures on TestSceneBeatmapListingOverlay
In the specific method, there was no wait step after the initial fetch
(unlike all of the rest), meaning the fetch may not have finished in
time for the follow-up steps.

As seen at
https://github.com/ppy/osu/runs/4588058438?check_suite_focus=true.
2021-12-21 14:12:06 +09:00
Dean Herbert
bb3f375958 Add note about local button clicking usage 2021-12-21 13:49:51 +09:00
Dean Herbert
aad55ef89e Remove unused method in TestSceneMultiplayerQueueList 2021-12-21 13:49:51 +09:00
Dean Herbert
9aff646ff4 Centralise all multiplayer button clicking test logic
This adds the "wait for enabled" check in a way that can be easily
reused, as it keeps getting missed in test implementations.

This particular commit hopefully fixes
https://github.com/ppy/osu/runs/4583845033?check_suite_focus=true.
2021-12-21 13:49:51 +09:00
Bartłomiej Dach
f1a03aced5
Merge branch 'master' into beatmap-card/extra 2021-12-20 15:49:00 +01:00
Bartłomiej Dach
0975f570ba
Return last playlist item if all expired 2021-12-20 13:49:05 +01:00
Bartłomiej Dach
a5a9922f81
Fix lounge screen content not matching current room playlist item 2021-12-20 13:32:42 +01:00
Bartłomiej Dach
a59583ee09
Add extension method for returning next playlist item 2021-12-20 13:18:02 +01:00
Bartłomiej Dach
0b7daf542f
Merge branch 'master' into fix-song-select-test-failure 2021-12-20 11:36:49 +01:00
Bartłomiej Dach
f492cf84d9
Ensure presence of at least 1 difficulty for each ruleset 2021-12-20 11:34:39 +01:00
Bartłomiej Dach
d8be455a43
Merge branch 'master' into fix-ready-button-test 2021-12-20 11:02:43 +01:00
Dean Herbert
ec0a6735eb Rename TestMultiplayerScreenStack to TestMultiplayerComponents 2021-12-20 18:24:59 +09:00
Dean Herbert
6907a9a3cc Name some screen stacks for better logging context 2021-12-20 18:24:14 +09:00
Dean Herbert
87051d5d61 Add better defined steps to TestLoseHostWhileReady ready button test
Not 100% sure this will solve the issue but it's worth a try. The button
state checks are using `Until` everywhere else so this brings the test
in line with the standards.

As seen
https://github.com/ppy/osu/runs/4579641456?check_suite_focus=true.
2021-12-20 17:47:06 +09:00
Dean Herbert
5c8e317a6e Chooser earlier items in song select tests to avoid potentially not having enough 2021-12-20 17:11:15 +09:00
Dean Herbert
af78a3e99d Fix weird loop logic 2021-12-20 17:09:08 +09:00
Dean Herbert
d79602a912 Add wait step to TestScenePlaylistResultScreen explicitly for screen load 2021-12-20 16:58:36 +09:00
Dean Herbert
2e47c4e25d
Merge pull request #16164 from smoogipoo/fix-intermittent-background-test
Fix intermittent background screen test failures
2021-12-20 14:00:53 +09:00
Dan Balasescu
9316abc278 Better fix for intermittent multiplayer tests 2021-12-20 13:10:13 +09:00
Dan Balasescu
11f3ec0cb5 Wait for previous screen to be hidden in test 2021-12-20 12:44:23 +09:00
Bartłomiej Dach
097402677d
Add test for ranked/unranked user display 2021-12-19 13:40:22 +01:00
Bartłomiej Dach
c112177559
Bring profile header test in line with modern conventions
- Removed online code that didn't work anyway after the introduction of
  the development web instance.

- Removed some weird test steps.

- Fixed online/offline test steps not working at all due to identical
  user ID.
2021-12-19 13:40:21 +01:00
Bartłomiej Dach
883fcf2604
Fix tests 2021-12-17 11:45:01 +01:00
Bartłomiej Dach
c6d0b5d200
Merge branch 'master' into beatmap-card/extra-wip 2021-12-17 11:11:36 +01:00
Bartłomiej Dach
54790bb758
Merge branch 'master' into fix-realm-post-storage-migration-failure 2021-12-17 00:19:46 +01:00
Dan Balasescu
488374b4a2 Don't show multiplayer channels in chat overlay 2021-12-16 16:41:47 +09:00
Bartłomiej Dach
cbb65e1e07
Merge branch 'master' into beatmap-card-expanded-state-fix 2021-12-15 22:20:30 +01:00
Dean Herbert
9e82a3e79a Merge branch 'master' into forego-resetting-spectate-state 2021-12-15 18:05:06 +09:00
Dan Balasescu
18d7b79207 Don't reset spectating state if gameplay is finished 2021-12-15 17:40:30 +09:00
Dean Herbert
39a0a21132 Add test coverage of same scenario without deletion 2021-12-15 17:30:09 +09:00
Dan Balasescu
d22e1b9001 Add another until step to guard against async test issues 2021-12-15 17:00:06 +09:00
Dan Balasescu
740a6f16c7 Fix exception when updating the room's visual playlist 2021-12-15 16:53:25 +09:00
Dean Herbert
e9187cc3cf Add failing test showing expanded state being unexpectedly lost 2021-12-15 16:26:19 +09:00
Dan Balasescu
2cea39a92a
Merge pull request #16083 from peppy/fix-online-availability-after-reimport
Fix `OnlinePlayBeatmapAvailabilityTracker` failng after modified reimport of existing beatmap
2021-12-15 08:31:02 +09:00
Dan Balasescu
ee6f125948
Merge pull request #15967 from tbrose/chat-mention-fix
Check word boundaries during username mention matching
2021-12-15 08:04:39 +09:00
Dan Balasescu
da00c020be Remove whitespace 2021-12-15 07:33:49 +09:00
Bartłomiej Dach
00154fe86d
Merge branch 'master' into fix-menu-background-desync 2021-12-14 21:31:10 +01:00
tbrose
a831744f05 Merge remote-tracking branch 'origin/chat-mention-fix' into chat-mention-fix 2021-12-14 16:24:05 +01:00
tbrose
8e79fac389 Fixes code quality check failed 2021-12-14 16:23:51 +01:00
Dean Herbert
0950d8d327 Add back PlaylistRoomCreation test
Was spiritually removed in https://github.com/ppy/osu/pull/16045.

This implementation is mostly taken from that PR's comment thread
verbatim, and now works due to the associated changes to
`OnlinePlayBeatmapAvailabilityTracker`.
2021-12-14 19:16:52 +09:00
Dean Herbert
3bc2de4889 Add failing test coverage of modified beatmap import breaking online availability state 2021-12-14 19:11:23 +09:00
Dean Herbert
04551ea61e
Merge pull request #16080 from smoogipoo/fix-storyboard-start-time
Fix incorrect storyboard life time start with looping commands
2021-12-14 18:33:56 +09:00
Dean Herbert
cebfeb5220
Merge pull request #16045 from smoogipoo/multiplayer-local-beatmap-query
Rework multiplayer's current item tracking
2021-12-14 18:33:30 +09:00
Dean Herbert
25a056dfad Remove pointless/broken test steps
These aren't accurate and are tested via a more accurate means directly
above.
2021-12-14 16:40:50 +09:00
Dean Herbert
b6a272e31a Add failing test coverage of BackgroundScreeNDefault's beatmap background tracking when active/non-active 2021-12-14 16:40:34 +09:00
Dan Balasescu
eb3050b2ac Fix incorrect test 2021-12-14 15:08:00 +09:00
Dean Herbert
441b7baa93 Provide a realm factory to usages of ToLive/RealmLive 2021-12-14 14:26:34 +09:00
Dean Herbert
f9a2db5ec6 Add accessibility to realm factory via IStorageResourceProvider
We might need to rename this class..
2021-12-14 14:19:49 +09:00
Dean Herbert
be337b4ace Add failing test coverage of RealmLive failing post storage migration 2021-12-14 13:53:23 +09:00
Dean Herbert
8e6c7eb030 Use OsuStorage in realm tests to allow for migration
Also changes the realm filename to use `client` to match the ignore
rules in `OsuStorage`. Without doing this, migration will fail in an
indefinite mutex wait when attempting to delete the realm `.note` file.
2021-12-14 13:52:28 +09:00
Dan Balasescu
51b6b9d857
Merge branch 'master' into chat-mention-fix 2021-12-14 11:49:57 +09:00
Dan Balasescu
419a34e7b4
Merge branch 'master' into test-score-refactoring 2021-12-14 07:30:06 +09:00
Dan Balasescu
6e3558b222 Remove weird test 2021-12-14 06:38:57 +09:00
Dean Herbert
9e9341597d Remove unused using statement 2021-12-13 17:59:04 +09:00
Dean Herbert
309290a3c9 Use new method in more places that can benefit from it 2021-12-13 16:56:43 +09:00
Dean Herbert
654b47c7ec Move "excess mods" test behaviour to local usages
There were only two of these, so it doesn't make sense to add extra
complexity in the test resources class.
2021-12-13 16:41:30 +09:00
Dean Herbert
99ac71c1fe Simplify usages where the ruleset being used is osu! ruleset 2021-12-13 16:37:20 +09:00
Dean Herbert
b0d14526ea Move test ScoreInfo creation to TestResources
The main goal here is to remove the inheritance, since realm doesn't
like that. Unfortunate that we can't use object initialisers in a few of
these places, but no real way around that.
2021-12-13 16:34:50 +09:00
Dean Herbert
4cac87e933 Add test coverage showing that KeyBindingStore won't remove excess key bindings 2021-12-13 15:26:32 +09:00
Dean Herbert
3ea07b426b
Merge branch 'master' into multiplayer-local-beatmap-query 2021-12-13 13:27:34 +09:00
Dan Balasescu
2cd2b10ce1 Fix results sometimes showing incorrect score position 2021-12-13 06:54:57 +09:00
Dan Balasescu
bf3abb2455
Merge branch 'master' into multiplayer-local-beatmap-query 2021-12-12 16:37:41 +09:00
Dan Balasescu
9f792fec49 Fix test failures from async item loading 2021-12-12 16:11:48 +09:00
Dan Balasescu
99cd36d2f6 Resolve some test failures due to async population 2021-12-11 22:52:08 +09:00
Dan Balasescu
25b274c323 Fix starting gameplay too early after import 2021-12-11 22:47:50 +09:00
Dan Balasescu
1aac978a7b
Merge pull request #16029 from peppy/editor-mod-reset
Fix editor not resetting mods when entering
2021-12-11 20:20:11 +09:00
Dan Balasescu
cdb8237a4b
Merge branch 'master' into pre-realm-score-tidy 2021-12-11 19:25:39 +09:00
Dan Balasescu
6057037e35 Move playlist item beatmap population to MatchSubScreen 2021-12-10 20:08:59 +09:00
Dean Herbert
5e9510be36 Add test coverage of editor resetting mods on entering 2021-12-10 18:57:33 +09:00
Dean Herbert
5f6e887be7 Remove OnlineID comparison from ScoreInfo.Equals
This matches the implementation we have for `BeatmapInfo` and
`BeatmapSetInfo`. All comparisons of `OnlineID` should be done directly
using them (ie. how it's done in `ScoreModelDownloader`).
2021-12-10 18:17:43 +09:00
Dean Herbert
bff02bedbf Rename APIScoreInfo to APIScore 2021-12-10 16:11:49 +09:00
Dean Herbert
dbb08f7d46 Use OnlineID for set operations 2021-12-10 16:11:48 +09:00
Dean Herbert
bf1418bafc Use OnlineID instead of legacy IDs for equality and lookups 2021-12-10 16:11:48 +09:00
Dean Herbert
261847bbec Avoid touching ScoreInfo.User directly 2021-12-10 15:39:29 +09:00
Dean Herbert
50bf2f368d
Merge branch 'master' into host-enqueue-2 2021-12-10 14:09:19 +09:00
Dean Herbert
1952819db2
Merge pull request #16019 from smoogipoo/cleanup-playlist-item-buttons
Cleanup duplicated classes in DrawableRoomPlaylistItem
2021-12-10 12:01:26 +09:00
Dan Balasescu
35a208a478
Merge pull request #15999 from peppy/restore-user-volume-muted-notification
Fix the unmute notification potentially overwriting user's volume levels unnecessarily
2021-12-10 02:58:59 +09:00
Dan Balasescu
a445dcd2c6 Fix incorrect test namespace 2021-12-10 02:09:31 +09:00
Dan Balasescu
671582a925 Allow host to enqeue items and items to be edited 2021-12-10 01:15:19 +09:00
Dan Balasescu
048a495115 Add edit button to DrawableRoomPlaylistItem 2021-12-10 01:08:54 +09:00
Dan Balasescu
05aa9635a8 Privatise button again 2021-12-10 00:38:18 +09:00
Dan Balasescu
f9af239ed9 Cleanup duplicated classes in DrawableRoomPlaylistItem 2021-12-09 23:56:49 +09:00
Dean Herbert
538a822760
Merge branch 'master' into multiplayer-playlist-deletion 2021-12-09 19:04:06 +09:00
Dean Herbert
b393f83028
Merge pull request #16009 from smoogipoo/cleanup-drawable-playlist
Cleanup DrawableRoomPlaylist and DrawableRoomPlaylistItem
2021-12-09 18:54:16 +09:00
Dean Herbert
dfe19f3509 Minor code reformatting 2021-12-09 17:53:40 +09:00
Dan Balasescu
1a0945daba Siplify condition, allow host to always remove items 2021-12-09 14:33:50 +09:00
Dan Balasescu
25620d1eef Merge branch 'cleanup-drawable-playlist' into multiplayer-playlist-deletion 2021-12-09 14:01:04 +09:00
Bartłomiej Dach
3ecfaa532c
Add source field to extra beatmap card 2021-12-08 22:56:28 +01:00
Bartłomiej Dach
a32492cdd5
Duplicate BeatmapCard{-> Extra} as blueprint for extra card size 2021-12-08 22:53:51 +01:00
Dan Balasescu
aec36adf6c Fix test failures 2021-12-09 04:22:34 +09:00