1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 23:32:54 +08:00
Commit Graph

8491 Commits

Author SHA1 Message Date
Dean Herbert
58aef25ad5
Merge pull request #17152 from bdach/mod-overlay/difficulty-multiplier
Implement difficulty multiplier display for new mod select design
2022-03-09 12:11:16 +09:00
Dan Balasescu
810cbd745d
Merge pull request #17170 from peppy/fix-top-local-rank-test-failures-realm-callback
Refactor top local rank test method to be more resilient to slow realm callbacks
2022-03-09 11:14:37 +09:00
Dan Balasescu
af4423959c
Merge pull request #17169 from peppy/fix-song-select-test-failures-realm-callback
Refactor song select test methods to be resilient to slow realm callbacks
2022-03-09 11:14:26 +09:00
Jai Sharma
9720a06b16 Use int in ChannelListing test 2022-03-09 00:52:33 +00:00
Jai Sharma
a3477c3841 Implement ChannelListing for new chat design
Adds components `ChannelListing` and `ChannelListing` item with visual
test. Essentially a more simplified version of the existing
`ChannelSelectionOverlay` component.

Correctly implements `IFilterable` behaviour to filter child channel
items. Channel joined state is based on the underlying `Joined` bindable
of the `Channel` class.

Channel join/leave events are exposed via `OnRequestJoin` and
`OnRequestLeave` events which should be handled by parent component.

Requires a cached `OverlayColourScheme` instance to be provided by the
parent overlay component when added.
2022-03-08 22:30:58 +00:00
Bartłomiej Dach
e91226f578
Fix 'auto-property never assigned to' inspections 2022-03-08 21:41:10 +01:00
Dan Balasescu
714789f726
Merge pull request #17167 from peppy/fix-download-button-test-failure
Fix potential test failure on slow realm callback in `TestSceneBeatmapDownloadButton`
2022-03-09 01:49:23 +09:00
Dean Herbert
233c8232d3 Fix TestSceneTopLocalRank.TestHighScoreSet not waiting for potentially slow realm callback
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.
2022-03-09 01:22:01 +09:00
Dean Herbert
286bafe326 Refactor multiple TestScenePlaySongSelect test methods to be resilient to slow realm callbacks 2022-03-09 01:18:53 +09:00
Dean Herbert
56ad684f5b Fix potential test failure on slow realm callback in TestSceneBeatmapDownloadButton
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.
2022-03-09 01:11:46 +09:00
Dan Balasescu
729af28a64 Fix intermittent test failure 2022-03-09 00:48:12 +09:00
Dan Balasescu
94d5e2f264 Fix test failure ripple through entire TestScene 2022-03-09 00:48:03 +09:00
Dan Balasescu
e9a2d23542 Fix score order related test failure 2022-03-08 23:35:35 +09:00
Dan Balasescu
f1c40bd9ed Rework GetScore() method signatures + implementations
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
2c382bd1d9 Rename GetImmediateScore() as overload of GetScore() 2022-03-08 21:49:40 +09:00
Dean Herbert
da7c6f1772 Merge branch 'master' into chat-mention-highlight 2022-03-08 21:15:12 +09:00
Dan Balasescu
d13a66a96c Rework test scene by only relying on OnlineID 2022-03-08 20:11:56 +09:00
Dean Herbert
9a347af5c7 Add test coverage of SubmittableScore serialisation to (roughly) match spec 2022-03-08 17:58:52 +09:00
Dean Herbert
2a55c5e02e Add extension method to detect and isolate realm collection-level changes 2022-03-08 14:50:47 +09:00
Salman Ahmed
7f47be4680 Refactor message highlighting logic to rely on a Channel data bindable 2022-03-08 03:19:37 +03:00
Bartłomiej Dach
78a3b5961e
Implement basic difficulty multiplier display 2022-03-07 22:50:51 +01:00
Dean Herbert
31d6c75f40 Merge branch 'master' into realm-property-watching 2022-03-07 13:53:17 +09:00
Dean Herbert
bd1adaf245
Merge pull request #17115 from frenzibyte/manual-channel-scroll
Refactor channel scrolling container to handle non-user scrolls
2022-03-07 11:26:23 +09:00
Salman Ahmed
741702549b Add test coverage for chat overlay message highlighting 2022-03-07 05:10:49 +03:00
Salman Ahmed
cb2133944d Add test coverage for channel message highlighting 2022-03-07 05:10:49 +03:00
Dan Balasescu
ba83db0229
Merge pull request #17134 from bdach/mod-overlay/popup-screen-title
Implement popup screen title component
2022-03-07 11:03:38 +09:00
Salman Ahmed
e5a6564034
Merge branch 'master' into fix-storyboard-sample-rate 2022-03-07 03:12:40 +03:00
Salman Ahmed
9bc1f3f014 Further refactor and simplify ChannelScrollContainer 2022-03-06 23:34:12 +03:00
Bartłomiej Dach
54275813b5
Use text flow container in popup screen title 2022-03-06 20:41:31 +01:00
Bartłomiej Dach
df0617f34c
Implement popup screen title component 2022-03-06 16:09:18 +01:00
Salman Ahmed
5b3ffb12b7 Refactor channel scrolling container to handle manual scrolls resiliently 2022-03-05 23:27:07 +03:00
Dean Herbert
0e8ad4b143 Switch step to Until steps due to AddOnce firing logic 2022-03-06 01:50:25 +09:00
Salman Ahmed
76e64f5013 Use manual framed clock for lead-in player test scene 2022-03-04 14:22:39 +03:00
Dean Herbert
e9e92b991e Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 15:09:44 +09:00
Dean Herbert
92cd8ee29f Decrease overhead of hit event distribution tests 2022-03-04 14:56:49 +09:00
Dean Herbert
540d7d0e2c Add the ability to set and show an offset value on timing distribution graph 2022-03-04 14:36:15 +09:00
Dean Herbert
e09dd7d8fe Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 13:25:14 +09:00
Dean Herbert
835cb09537 Merge branch 'master' into fix-hit-distribution-rounding 2022-03-04 12:43:57 +09:00
Dean Herbert
b0688cc6dd Merge branch 'master' into fix-storyboard-sample-rate 2022-03-04 12:04:49 +09:00
Bartłomiej Dach
e1610b5d32
Merge branch 'master' into ruleset-leaderboard-unavailable 2022-03-03 22:52:20 +01:00
Dean Herbert
1485a3a28a Add test coverage of proeprty changed subscriptions 2022-03-03 17:56:49 +09:00
Dean Herbert
a06d806fb9 Fix hit distribution graph midpoint rounding not looking great around zero
Not sure this will be accepted and it's likely only ever going to show
in tests, but seems to be a better approach to midpoint rounding for
this case?
2022-03-03 15:43:02 +09:00
Dean Herbert
a38eb426ef
Merge pull request #17026 from peppy/beatmap-offset-control
Add basic beatmap offset adjustment
2022-03-03 14:23:19 +09:00
Salman Ahmed
2f485a29d5
Merge branch 'master' into mod-overlay/columns 2022-03-03 00:11:33 +03:00
Salman Ahmed
2ce4faa356 Fix typo in method name 2022-03-03 00:02:36 +03:00
Salman Ahmed
bb94d68139 Separate storyboard samples and skip intro steps to own methods 2022-03-02 23:55:42 +03:00
Salman Ahmed
82bbc32d74 Remove unnecessary Schedule during setup 2022-03-02 23:44:58 +03:00
Salman Ahmed
a812ed4462 Ensure there is at least one sample during rate assertion 2022-03-02 23:40:14 +03:00
Salman Ahmed
cbb8dc2891 Fix storyboard samples rate not adjusted from actual gameplay mods 2022-03-02 20:56:18 +03:00
Salman Ahmed
e14a35b469 Add failing test case 2022-03-02 20:32:41 +03:00
Dean Herbert
f15b8781bb Move editor mode selector out of EditorMenuBar to allow for better reuse 2022-03-02 20:05:01 +09:00
Dean Herbert
dc6fa13337
Merge branch 'master' into mod-overlay/columns 2022-03-02 15:04:37 +09:00
Dean Herbert
ed9ecd6951 Fix test scene failures by ensuring that first GameplayClock frame has processed first 2022-03-02 14:45:39 +09:00
Dean Herbert
3cbcb702f6 Fix calibration button disabled state not checking in corrrect direction 2022-03-02 14:36:15 +09:00
Dean Herbert
c342030b2c Add specific placeholder message for custom rulesets rather than showing network error 2022-03-02 14:10:59 +09:00
Dean Herbert
09a74cdfc6
Merge pull request #17023 from peppy/realm-async-write
Add `RealmAccess.WriteAsync` method and more statistics of realm reads/writes
2022-03-02 12:31:16 +09:00
Salman Ahmed
2767dda9d6 Add failing test case 2022-03-01 20:21:33 +03:00
Dean Herbert
222f50d211 Fix calibration being back-to-front 2022-03-01 20:41:54 +09:00
Dean Herbert
4d9efe771b Don't display calibration options when the previous play was too short to be useful 2022-03-01 20:12:59 +09:00
Dean Herbert
fab09575ec Add full testing flow for BeatmapOffsetControl 2022-03-01 18:44:15 +09:00
Dean Herbert
1847f69bf9 Add basic beatmap offset adjustment control 2022-03-01 18:44:15 +09:00
Dean Herbert
5e47e35f0d Add ability to change distribution of test HitEvents 2022-03-01 18:44:15 +09:00
Dean Herbert
9a117467b5 Add RealmAccess.WriteAsync method 2022-03-01 18:44:05 +09:00
Bartłomiej Dach
6cc972aa6a
Fix test failures by waiting for panel load 2022-02-28 21:36:13 +01:00
Bartłomiej Dach
42b27e3050
Clean up test step names 2022-02-28 20:44:13 +01:00
Dean Herbert
3634e12e66 Automatically focus divisor textbox and hide popover after successful change 2022-02-28 15:23:01 +09:00
Bartłomiej Dach
16c6b9b3b3
Add keyboard selection support to mod column 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
b690df05de
Hide multiselection checkbox if everything is filtered 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
a83f96b026
Add filtering support to mod column 2022-02-27 22:51:29 +01:00
Bartłomiej Dach
fe4e4bf9c5
Add test coverage of multiselection behaviour 2022-02-27 22:51:28 +01:00
Bartłomiej Dach
53e8072632
Port multiselection from previous design 2022-02-27 22:51:28 +01:00
Bartłomiej Dach
2e04a83554
Implement column display for new mod design 2022-02-27 22:51:27 +01:00
Bartłomiej Dach
a5600516f0
Fix test failures 2022-02-27 20:13:44 +01:00
Bartłomiej Dach
7de5dad4f0
Add test coverage for divisor behaviour 2022-02-27 19:23:02 +01:00
Bartłomiej Dach
423838a649
Add flow for specifying entirely custom snaps 2022-02-27 17:55:20 +01:00
Bartłomiej Dach
d0c01afc2e
Add flow for changing set of valid divisors between presets 2022-02-27 15:37:51 +01:00
Dan Balasescu
e947c97e10
Merge branch 'master' into spectator-reliability 2022-02-25 20:20:30 +09:00
Dean Herbert
926abf7a0c
Merge pull request #16985 from smoogipoo/multi-spectator-chat
Add chat display to multiplayer spectator
2022-02-25 20:19:07 +09:00
Dan Balasescu
3a03833912
Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
Dan Balasescu
f9d9ad388b Add chat display to multiplayer spectator screen 2022-02-25 16:03:28 +09:00
Bartłomiej Dach
769dc9b00b
Merge branch 'master' into mod-overlay/panel 2022-02-24 21:02:28 +01:00
Dean Herbert
d69446ff6e
Merge pull request #16979 from smoogipoo/fix-playlists-partial-mod
Fix playlists not allowing entry with partial mods
2022-02-24 19:37:10 +09:00
Dan Balasescu
328166f0d5 Add failing test 2022-02-24 17:01:04 +09:00
Dean Herbert
6e8daa06fa Merge branch 'master' into mod-overlay/panel 2022-02-24 14:34:59 +09:00
Bartłomiej Dach
713f89a59c
Implement incompatibility-displaying variant of mod panel 2022-02-23 23:19:06 +01:00
Bartłomiej Dach
8a0aba6c59
Implement mod panel for new mod select screen 2022-02-23 23:18:14 +01:00
Bartłomiej Dach
29d77a29aa
Merge branch 'master' into startup-protocol-handling 2022-02-23 21:10:27 +01:00
Dean Herbert
260cf793fe Add test coverage of more advanced frame delivery scenarios to TestSceneSpectatorPlayback 2022-02-24 02:28:13 +09:00
Dean Herbert
c94e7e2abe Add ability to simulate network failures to TestSpectatorClient 2022-02-24 02:23:48 +09:00
Dean Herbert
14c8ce50a0 Prefix all test send methods in TestSpectatorClient with Send 2022-02-24 02:23:48 +09:00
Dean Herbert
5e7dd31f6d
Merge branch 'master' into mod-overlay/switches 2022-02-23 13:49:23 +09:00
Bartłomiej Dach
1a358698fb
Merge branch 'master' into startup-protocol-handling 2022-02-22 22:42:16 +01:00
Dean Herbert
5efffa208a Add test coverage of beatmap set overlay actually showing requested beatmap 2022-02-22 17:08:09 +09:00
Dean Herbert
347a2346b9 Fix TestSceneEditorSaving not waiting for timeline load
As seen at
https://github.com/ppy/osu/runs/5276431764?check_suite_focus=true.
2022-02-22 15:41:08 +09:00
Bartłomiej Dach
cfc41a0a36
Implement small mod switch 2022-02-22 00:26:35 +01:00
Bartłomiej Dach
5186693dad
Implement tiny mod switch 2022-02-22 00:26:35 +01:00
Bartłomiej Dach
d71e511413
Merge branch 'master' into spotlights-on-top 2022-02-21 23:42:02 +01:00
Bartłomiej Dach
e3ae52360e
Merge branch 'master' into leaderboard-score-timeref 2022-02-21 20:50:00 +01:00
Dean Herbert
98c008b95f Fix test failures due to order change 2022-02-21 19:48:39 +09:00
Dan Balasescu
46b408be75 Update tests to match new behaviour 2022-02-21 18:19:55 +09:00
Dean Herbert
ab8b502709 Add test coverage of spotlights being at the top of the listing 2022-02-21 18:01:46 +09:00
Dean Herbert
abe1a3990a
Merge branch 'master' into leaderboard-score-timeref 2022-02-21 12:11:10 +09:00
dekrain
15ed9ec4fa
Merge scoreboard and leaderboard implementations together 2022-02-19 20:47:02 +01:00
Dean Herbert
3abbf07fb3 Revert local registrations in test scenes 2022-02-18 16:52:34 +09:00
Dean Herbert
631c23ea3a Merge branch 'master' into beatmap-decoder-ruleset-store 2022-02-18 16:52:33 +09:00
Dean Herbert
29c5683ba3 Add handling of beatmap links on startup 2022-02-18 16:14:37 +09:00
Dean Herbert
98aaf83177 Add a centralised constant for the osu URL schema protocol 2022-02-18 15:57:37 +09:00
Dean Herbert
bbc4ea1203
Merge branch 'master' into better-new-difficulty-naming 2022-02-17 19:21:33 +09:00
dekrain
f4d1e6f600
Add tests for timerefs 2022-02-17 10:38:29 +01:00
Bartłomiej Dach
e459523afe
Adjust beatmap creation test cases to new behaviour 2022-02-17 00:28:18 +01:00
Bartłomiej Dach
cb9ffc655a
Add tests showing expected behaviour of naming helper 2022-02-17 00:28:13 +01:00
Dean Herbert
5477af08c5 Register an AssemblyRulesetStore in tests which don't use OsuGameBase 2022-02-16 17:21:57 +09:00
Dean Herbert
0138f22c8d Update existing usages to point to RealmRulesetStore 2022-02-16 17:13:54 +09:00
Dan Balasescu
5dd9771c5f Remove mod multipliers from being applied to scores 2022-02-16 16:27:27 +09:00
Dean Herbert
7e24b36f26 Merge branch 'master' into remove-playlistitem-beatmap 2022-02-16 14:24:57 +09:00
Dean Herbert
6a08fd57ef Rename "client" fields in tests to specify whether spectator or multiplayer 2022-02-16 09:52:18 +09:00
Dean Herbert
187870b794 Merge branch 'master' into fix-multi-cache-dependencies 2022-02-16 09:44:37 +09:00
Salman Ahmed
0992bec2c8 Change "distance spacing" multipler type to double
Avoids losing precision on initial load, causing an unnecessary
hash change in `EditorChangeHandler`.

Resolves test failures in `TestSceneEditorChangeStates`
(https://github.com/ppy/osu/runs/5192493482?check_suite_focus=true).
2022-02-16 03:28:12 +03:00
Salman Ahmed
7654584e40 Allow using SizeSlider on different value types 2022-02-16 03:25:03 +03:00
Dean Herbert
954ae60b81
Merge branch 'master' into copy-existing-difficulty 2022-02-16 08:55:12 +09:00
Dan Balasescu
ea5bb46fb8
Merge branch 'master' into net6 2022-02-16 00:40:04 +09:00
Dan Balasescu
f5b34e0313 Fix some test failures due to now-async lookups 2022-02-16 00:01:22 +09:00
Dan Balasescu
bdc3b76df0 Remove beatmap bindable from PlaylistItem 2022-02-15 23:50:08 +09:00
Dan Balasescu
94a974e1c9 Make OnlinePlayBeatmapAvailabilityTracker look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
ccd265ebe7 Handle beatmap lookup requests in TestRoomRequestsHandler 2022-02-15 23:41:50 +09:00
Dan Balasescu
539cbe62c6 Fix incorrect usages of user lookup cache in tests 2022-02-15 21:23:24 +09:00
Dan Balasescu
c48a0dc993 Move UserLookupCache to online play test dependencies 2022-02-15 20:56:46 +09:00
Dean Herbert
a8f09a8676
Merge branch 'master' into remove-playlistitem-ruleset-mods 2022-02-15 17:40:39 +09:00
Dan Balasescu
03106e846c Fix test failures due to async mod icon loads 2022-02-15 17:15:00 +09:00
Dean Herbert
d79845fb1d Revert NUnit3TestAdaptor (again)
Console output is still broken. See
https://github.com/ppy/osu/runs/5196023462?check_suite_focus=true.
2022-02-15 17:06:34 +09:00
Dean Herbert
b1cf014dc2 Add test coverage of EF to Realm migration process 2022-02-15 17:00:17 +09:00
Dean Herbert
f03de16ee5 Add a test EF database
Created on d8a23aad4 (just before skins were migrated to realm).

This contains:
- 2 beatmap sets (intro and disco prince)
- 1 score (set on disco prince using autopilot/DT)
- 1 skin (haxwell)

- 322 named files (from skin)
- 5 named files (from beatmaps)

- 270 total file infos
2022-02-15 16:56:00 +09:00
Dan Balasescu
5b765581d8 Fix free mod selection not showing allowed mods 2022-02-15 16:28:15 +09:00
Dan Balasescu
efeba30b9f Remove ruleset and mod bindables from PlaylistItem 2022-02-15 16:28:15 +09:00
Dean Herbert
60153bb69d Update nuget packages to highest usable versions
EF packages are intentionally pinned to 5.0.14 as higher versions no
longer support `netstandard2.1`, which we require for xamarin projects.
2022-02-15 15:19:23 +09:00
Salman Ahmed
cbc8f7ff90 Remove test coverage of "shift" hotkey behaviour 2022-02-15 02:29:09 +03:00
Salman Ahmed
500322ff21 Update failing snap test scenes 2022-02-15 02:21:53 +03:00
Salman Ahmed
9504942cfd Add test case for distance spacing hotkeys scrolling behaviour 2022-02-15 02:21:53 +03:00
Salman Ahmed
528dc03b8c Expose distance spacing in IPositionSnapProvider for updating distance grid
Alternate method is to expose a `SnapDistancesChanged` event in
`IPositionSnapProvider` instead, but I chose this way as an analogue to
`IBeatSnapProvider.BeatDivisor`, which might even make sense to be
exposed as `BindableBeatDivisor` instead of caching that separately.
2022-02-15 02:21:53 +03:00
Bartłomiej Dach
1685e214d3
Adjust test coverage to cover desired copy naming scheme 2022-02-14 19:59:54 +01:00
Dean Herbert
db74a226c0 Fix test regression due to mouse overlapping settings overlay 2022-02-15 02:54:45 +09:00
Dean Herbert
02f58a82fc Use WaitSafely() in tests where it was not already being used 2022-02-15 02:35:08 +09:00
Dean Herbert
5b30921cbf Merge branch 'master' into net6 2022-02-14 22:06:35 +09:00
Dean Herbert
b9d9fc56af Move files to UI namespace 2022-02-14 17:51:39 +09:00
Dean Herbert
80ba06b0e3
Merge branch 'master' into expandable-controls 2022-02-14 16:57:45 +09:00
Bartłomiej Dach
13abc392bd
Add failing test coverage for not copying online properties 2022-02-13 18:54:52 +01:00
Bartłomiej Dach
90c48de9f8
Add failing test coverage for save of copied beatmap keeping old beatmap file 2022-02-13 14:01:23 +01:00
Bartłomiej Dach
1292722a00
Add failing test coverage for correct combo colour copy 2022-02-13 14:01:22 +01:00
Bartłomiej Dach
fd1c8c3614
Add failing test coverage for correct beatmap difficulty copy 2022-02-13 14:01:21 +01:00
Bartłomiej Dach
eb939547a9
Add test coverage for difficulty copy flow 2022-02-13 14:01:21 +01:00
Bartłomiej Dach
0d1171b7fa
Adjust existing test coverage to pass 2022-02-13 14:01:20 +01:00
Dean Herbert
6005daeba8 Fix fire-and-forget async calls to use WaitSafely 2022-02-11 16:02:42 +09:00
Dean Herbert
f012f64fd1 Add test coverage checking carousel panel visual state after ruleset filter change 2022-02-11 15:21:01 +09:00
Dean Herbert
eda213e4de
Merge pull request #16827 from smoogipoo/spectator-state-rework
Add user state to SpectatorState, allowing multiplayer to continue to results
2022-02-11 01:48:47 +09:00
Dean Herbert
19cb8cb03a Update tests 2022-02-10 19:35:28 +09:00
Dean Herbert
176bb4a4e2 Update desktop projects to target .NET 6 2022-02-10 17:42:09 +09:00
Dan Balasescu
ffc4c64f7e Unify namings across the board 2022-02-09 12:10:07 +09:00
Dan Balasescu
4966c4e974 Remove redundant parameter 2022-02-09 11:51:47 +09:00
Dan Balasescu
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
Dan Balasescu
4c76027178 Rename completed state to passed 2022-02-08 20:29:49 +09:00
Dan Balasescu
0d99017178 Add state tests 2022-02-08 20:27:08 +09:00
Dan Balasescu
45b3f472ab Merge branch 'master' into spectator-state-rework 2022-02-08 19:51:50 +09:00
Dan Balasescu
9c2d57d707 Add failing test 2022-02-08 19:36:16 +09:00
Henry Lin
b31c1513f6 Fix test failure
The cursor was clicking too far to the right.
2022-02-05 22:41:04 +08:00
Dean Herbert
ee0ff5c33f
Merge pull request #16774 from smoogipoo/fix-broken-test-scene
Fix test scene broken without being logged in
2022-02-04 23:55:51 +09:00
Dan Balasescu
09728a29ed Merge branch 'fix-broken-test-scene' into spectator-state-rework 2022-02-04 22:42:10 +09:00
Dean Herbert
98f61415c2
Merge branch 'master' into mvp-safe-area-support 2022-02-04 20:05:35 +09:00
Dean Herbert
002cc7261b
Merge pull request #16773 from smoogipoo/fix-spectator-restart-crash
Fix crash when gameplay is started while inside multiplayer spectator screen
2022-02-04 19:23:08 +09:00
Dan Balasescu
fa3d1115fa Remove online api requirement 2022-02-04 19:17:50 +09:00
Dan Balasescu
dd63b1a350 Fix broken spectator playback test scene 2022-02-04 19:12:02 +09:00
Dean Herbert
6457cf8d9b Fix weird formatting in TestSceneSafeArea 2022-02-04 18:45:40 +09:00
Dan Balasescu
d5269ba05b Merge branch 'fix-spectator-restart-crash' into spectator-state-rework 2022-02-04 17:59:18 +09:00
Dan Balasescu
b41655d5b9 Fix crash when gameplay starts while in multi-spectator screen 2022-02-04 17:47:41 +09:00
Dean Herbert
1444df4d50 Add test scene for playing with safe areas 2022-02-04 16:39:10 +09:00
Dan Balasescu
63064d682b
Merge pull request #16743 from hlysine/extended-statistics-without-replay
Allow statistic items in results screen to display without needing to watch a replay
2022-02-04 15:07:52 +09:00
Salman Ahmed
bbef12e72c Refactor ExpandingControlContainer to no longer rely on controls 2022-02-04 05:45:12 +03:00
Bartłomiej Dach
b7d7e6612e
Merge branch 'master' into new-difficulty-creation-v3 2022-02-03 16:36:18 +01:00
Dan Balasescu
d4ebff6ea1 Add failing test 2022-02-03 23:18:22 +09:00
Dan Balasescu
483977d5c8 Merge branch 'master' into spectator-state-rework 2022-02-03 19:59:07 +09:00
Dean Herbert
b2efce2656
Merge branch 'master' into expandable-controls 2022-02-03 19:23:34 +09:00
Dean Herbert
df9d99f5aa Merge branch 'master' into extended-statistics-without-replay 2022-02-03 18:59:48 +09:00
Henry Lin
a27d0572ed Add test cases for manual testing 2022-02-03 17:00:40 +08:00
Dean Herbert
41aa4b8cca Fix TestSelectingFilteredRuleset failing under visual tests due to using local database 2022-02-03 16:04:05 +09:00
Dean Herbert
6355ac6663 Wait for DialogOverlay load in more tests
Apparently the previous fix was not enough as this can still be seen
failing
(https://github.com/ppy/osu/runs/5046718623?check_suite_focus=true).

This change is copying from what other tests use seemingly reliably,
such as `TestScenePerformFromScreen`)
2022-02-03 15:10:08 +09:00
Bartłomiej Dach
afc48d86df
Add failing test coverage for save after safeties addition 2022-02-02 21:57:10 +01:00
Bartłomiej Dach
87e2e83288
Add test coverage for difficulty name clash cases 2022-02-02 21:55:34 +01:00
Bartłomiej Dach
0d51c015ad
Add basic test coverage for new difficulty creation 2022-02-02 21:55:34 +01:00
Dan Balasescu
fcbba3d948 Rename PlayingUserStates -> WatchingUserStates 2022-02-02 23:11:29 +09:00
Dan Balasescu
589f5e7a31 Update test which has now been resolved 2022-02-02 23:09:38 +09:00
Dan Balasescu
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
Dan Balasescu
b5fb3b7dae Fix crash when selecting swap mod as freemod 2022-02-02 18:42:22 +09:00
Dean Herbert
6d962e7925
Merge pull request #16726 from dekrain/leaderboard-score-tooltip
Add basic tooltip for leaderboard scores
2022-02-02 13:56:45 +09:00
Dean Herbert
35b7653290 Revert mod flow changes and add visual test coverage showing an overflow case 2022-02-02 09:13:19 +09:00
Bartłomiej Dach
3674ed15ce
Remove unused game host parameter
No longer used since eeccf836ec.
2022-02-01 21:53:21 +01:00
Bartłomiej Dach
b978010b48
Remove unused allowMissing parameter in audio file check test
No longer used since 7f95400f46.
2022-02-01 21:53:21 +01:00
Bartłomiej Dach
7cdf63c654
Remove unused FindProvider() methods
No longer needed since 39f99bf785.
2022-02-01 21:53:21 +01:00
Bartłomiej Dach
75101b1105
Remove unused ruleset ctor params from test beatmap model managers
No longer used since 00e3af3366.
2022-02-01 21:49:41 +01:00
Dan Balasescu
41007169f7 Give SpectatorState a user state 2022-02-01 21:51:05 +09:00
Dean Herbert
15479ae046 Add test coverage of no header doing nothing 2022-02-01 16:55:28 +09:00
Dean Herbert
3ca2c90684 Add test scores in BeatmapLeaderboard test scene with more mods 2022-02-01 16:35:25 +09:00
Dan Balasescu
781cb9f18d Move HasPassed/HasFailed into GameplayState 2022-02-01 14:46:24 +09:00
Dan Balasescu
502e6af008 Remove PlayingUsers list from SpectatorClient 2022-02-01 14:42:30 +09:00
Dan Balasescu
0641264a11 Merge branch 'master' into spectator-consistency-frames 2022-02-01 14:35:30 +09:00
Dan Balasescu
4fb565e15f Reset ScoreProcessor from statistics replay frames 2022-01-31 21:32:56 +09:00
Dan Balasescu
0458d408bb Add replay statistics frames to FramedReplayInputHandler 2022-01-31 18:53:47 +09:00
Dan Balasescu
4727aeda01 Give last bundled replay frame the frame header 2022-01-31 18:53:47 +09:00
Dan Balasescu
f3d4756c7f
Merge pull request #16713 from frenzibyte/fix-spectator-gcc-state-2
Fix multiplayer spectator occasionally rewinding time unexpectedly
2022-01-31 18:33:08 +09:00
Dan Balasescu
62603e78fd
Merge pull request #16714 from frenzibyte/rewrite-hardware-correction-clock
Rewrite `HardwareCorrectionOffsetClock` to handle seeking on different gameplay rates
2022-01-31 17:32:22 +09:00
Dean Herbert
575d9671bf
Merge pull request #16717 from peppy/fix-dialog-overlay-missing-test-failures
Fix test failures if `DialogOverlay` is not loaded in time
2022-01-31 17:06:24 +09:00
Dean Herbert
25cbe5a0de Remove acronym shortening of GameplayClockContainer 2022-01-31 15:23:31 +09:00
Dean Herbert
9001c3a396 Fix test failures if DialogOverlay is not loaded in time
As seen at https://github.com/ppy/osu/runs/4999391205?check_suite_focus=true, where `DialogOverlay` hasn't loaded in single file yet.
2022-01-31 15:17:07 +09:00
Dean Herbert
c8c0ae5658
Merge branch 'master' into flush-frames-end-play 2022-01-31 15:12:41 +09:00
Dean Herbert
57f793aff0 Rename dictionary and make private for added safety 2022-01-31 15:12:08 +09:00
Dan Balasescu
e9f3e7f5cb
Merge pull request #16703 from peppy/leaderboard-component-fixes
Rewrite `Leaderboard` component to bring up to current code standards
2022-01-31 14:33:04 +09:00
Salman Ahmed
2b999f9780 Add failing test case 2022-01-31 01:40:07 +03:00
Dean Herbert
f8939af5e6 Track loading via state as well 2022-01-31 01:12:03 +09:00
Dean Herbert
6a21d58325 Avoid test failures on non-triangle intro tests 2022-01-30 18:59:18 +09:00
Dean Herbert
1dbcb5ab63 Add test coverage of intro fail scenario 2022-01-30 18:51:16 +09:00
Dean Herbert
04dbb5d3c6 Disallow setting "NoScores" externally as it is handled internally 2022-01-30 16:18:19 +09:00
Dean Herbert
acc1199add Consolidate flows of Set operations, either result or error 2022-01-30 16:16:00 +09:00
Dean Herbert
c401629dd8 Also refactor placeholder logic to make more sense 2022-01-30 10:50:32 +09:00
Salman Ahmed
4f4f60248f Add failing test case 2022-01-30 01:46:10 +03:00
Dean Herbert
06660ff960 Fix null beatmap in test scene 2022-01-30 03:02:56 +09:00
Dean Herbert
d21464ea61 Fix assertions to work in both directions 2022-01-30 02:54:51 +09:00
Dean Herbert
51acf79935 Change test exposure to property instead of method 2022-01-30 02:29:51 +09:00
Dean Herbert
9861c50b33 Remove pointless tests that no longer show anything valid 2022-01-30 00:03:22 +09:00
Dean Herbert
a915b9cd30 Fix occasional failures in TestSceneDeleteLocalScore 2022-01-29 23:58:57 +09:00
Dean Herbert
661fec7c8a Make score setter private 2022-01-29 23:58:57 +09:00
Dean Herbert
aee93934d5 Rename methods to make more sense (and always run through AddOnce) 2022-01-29 23:58:57 +09:00
Dean Herbert
4c97ed676f Fix score presentation tests not correctly entering song select before running 2022-01-29 14:46:24 +09:00
Bartłomiej Dach
1253e1ecc1
Replace LINQ Count() invocation with count property access 2022-01-28 20:25:12 +01:00
Dan Balasescu
3037a3a769 Purge final spectator frames before ending play 2022-01-28 22:26:05 +09:00
Dan Balasescu
bda3cdc9a7 Add tests 2022-01-28 19:29:30 +09:00
Dan Balasescu
f021a274d2
Merge pull request #16681 from peppy/fix-delete-local-scores
Fix delete local scores via "Clear all scores" button crashing the game
2022-01-28 17:01:31 +09:00
Dan Balasescu
b94984bd2d
Merge pull request #16678 from peppy/hold-for-menu-always-fade
Ensure hold for menu button fades out if the cursor is never moved
2022-01-28 15:55:41 +09:00
Dean Herbert
2453bf5ed0 Add test coverage of the same thing but via "clear all scores" button 2022-01-28 15:54:53 +09:00
Dean Herbert
778eebc94d Add test coverage of local score import and deletion 2022-01-28 15:50:36 +09:00
Dan Balasescu
32f9299fe0
Remove unused using 2022-01-28 15:26:29 +09:00
Dean Herbert
28c8e07e3f Ensure hold for menu button fades out if the cursor is never moved
Closes https://github.com/ppy/osu/discussions/16669.
2022-01-28 14:48:35 +09:00
Dean Herbert
f32d56e213 Bring HoldForMenuButton tests up-to-date in code quality 2022-01-28 14:48:17 +09:00
Bartłomiej Dach
7dc3940dee
Add test coverage for preserving legacy beatmap info defaults 2022-01-27 21:49:26 +01:00
Bartłomiej Dach
04d6ca59a3
Merge branch 'master' into song-select-scroll-position-during-delete 2022-01-27 20:46:19 +01:00
Dean Herbert
e872877185
Merge pull request #16648 from peppy/fix-song-select-tests
Fix song select tests not waiting for beatmap imports to arrive
2022-01-27 23:00:58 +09:00
Dean Herbert
fae4f8bd8e Move nulling of previous songSelect to SetUpSteps instead 2022-01-27 21:59:44 +09:00
Dean Herbert
7af23328a4
Merge branch 'master' into ruleset-ordering-fix 2022-01-27 21:46:03 +09:00
Dean Herbert
831fa44433 Fix song select tests not waiting for beatmap imports to arrive
After the change to realm, notification fires could take a frame or two.
We aren't accounting for this.

Fixes test failures like
https://github.com/ppy/osu/runs/4963255990?check_suite_focus=true
2022-01-27 19:35:42 +09:00
Dean Herbert
a5d422e82c Merge branch 'master' into ruleset-id-fixes 2022-01-27 17:07:18 +09:00
Dean Herbert
29a4ec949f
Merge pull request #16637 from bdach/editor-changes-not-resetting
Fix changes to beatmap info made in editor persisting after exit without save
2022-01-27 17:02:42 +09:00
Dean Herbert
f2cecad83b Add failing test coverage showing carousel deletions don't keep scroll position 2022-01-27 16:52:02 +09:00
Dean Herbert
5637fd64d6 Perform ordering using IComparable instead 2022-01-27 15:59:20 +09:00
Dean Herbert
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
Dean Herbert
714177cce1 Remove pointless constructor in RulesetInfo 2022-01-27 15:37:27 +09:00
Dean Herbert
f30d63107a Add SortID to RulesetInfo to allow stable ordering of rulesets for display 2022-01-27 15:35:16 +09:00
Bartłomiej Dach
e0616476e2
Fix test gameplay tests failing due to beatmap refetch on suspend 2022-01-26 21:15:49 +01:00
Bartłomiej Dach
4382adad82
Add test coverage for editor changes not resetting after exit without save 2022-01-26 21:15:49 +01:00
Dean Herbert
0c2ed2f9a7 Add failing test coverage of incorrect filter ruleset matching 2022-01-27 01:25:57 +09:00
Derrick Timmermans
6ec9c5c21a
Use default custom ruleset ID 2022-01-26 16:23:00 +01:00
Derrick Timmermans
e712fab299
Add test for custom ruleset conversion filtering 2022-01-26 16:14:07 +01:00
Dan Balasescu
cf9ee43b17
Merge pull request #16608 from peppy/playlist-overlay-optimisations
Optimise `PlaylistOverlay` and reduce startup overhead of `MusicController`
2022-01-26 20:28:33 +09:00
Dan Balasescu
94d3e2c90c
Merge branch 'master' into fix-out-of-order-events-on-block-fail 2022-01-26 19:08:55 +09:00
Dean Herbert
abe2cccaae Fix completely invalid method of testing realm migration 2022-01-26 19:03:26 +09:00
Dan Balasescu
cdca1285ab
Merge branch 'master' into playlist-overlay-optimisations 2022-01-26 19:01:33 +09:00
Dan Balasescu
4a51bab9ac
Merge pull request #16622 from peppy/fix-results-score-switch-crash
Fix crash at results screen when viewing another score panel after playing
2022-01-26 16:59:39 +09:00
Salman Ahmed
a34b8fc4d0 Merge branch 'master' into expandable-controls 2022-01-26 10:36:22 +03:00
Salman Ahmed
eb83b7fe0a Update existing implementation with changes 2022-01-26 10:18:17 +03:00
Dean Herbert
68ee80c5de
Merge pull request #16623 from frenzibyte/refactor-editor-save-test
Refactor editor saving test scene for scalability
2022-01-26 15:40:39 +09:00
Dan Balasescu
701f00a4b1
Merge pull request #16609 from peppy/fix-realm-related-failures
Fix some realm-related test failures
2022-01-26 15:31:18 +09:00
Dean Herbert
91e0d1021f Merge branch 'master' into fix-out-of-order-events-on-block-fail 2022-01-26 15:21:10 +09:00
Dean Herbert
d0a2818847 Fix incorrect testing 2022-01-26 15:14:43 +09:00
Dean Herbert
9532454e2a Remove ILive remnants 2022-01-26 15:12:07 +09:00
Dean Herbert
ba46827ac0 Merge branch 'master' into playlist-overlay-optimisations 2022-01-26 15:11:14 +09:00
Dean Herbert
3491b77c8c Fix ScoreInfo.RealmUser not getting deep cloned correctly
I'm still not at all happy with the play-to-results flow (with multiple
clones), but this will have to do for now.
2022-01-26 14:27:48 +09:00
Salman Ahmed
064468faad Refactor editor saving test scene for scalability 2022-01-26 07:57:46 +03:00
Dean Herbert
cd71ec0edd Remove ILive<> interface (and use abstract Live<> instead) 2022-01-26 13:38:56 +09:00
Dean Herbert
dda513dd08 Change PlaylistOverlay to use ILive 2022-01-26 12:19:59 +09:00
Dean Herbert
bdf215c576
Merge branch 'master' into improve-timeline-zoom 2022-01-26 03:40:53 +09:00
Dean Herbert
5085eb6801 Ensure gameplay starts by dismissing any notifications in TestSceneChangeAndUseGameplayBindings 2022-01-26 03:39:01 +09:00
Salman Ahmed
ad18bc4983 Update timeline selection test scene with zoom changes 2022-01-25 18:57:39 +03:00
Dean Herbert
5b82eaf112
Merge branch 'master' into fix-beat-divisor-not-saving 2022-01-25 23:29:37 +09:00
Salman Ahmed
6c69df815a Update editor test scenes to set working beatmap properly 2022-01-25 15:56:27 +03:00
Salman Ahmed
4d8c5ebb0c
Merge branch 'master' into fix-beat-divisor-not-saving 2022-01-25 12:30:05 +03:00
Salman Ahmed
b2b6672095 Add failing test asserts 2022-01-25 11:56:38 +03:00
Dean Herbert
c0ed308016 Use more correct method of deletion in TestScenePlaySongSelect 2022-01-25 17:55:39 +09:00
Dean Herbert
90a7dd7711 In gameplay bindings test, ensure a selection is made before attempting to enter gameplay 2022-01-25 17:55:33 +09:00
Dean Herbert
ffd7877a1e Remove synchronization context hacks in realm tests 2022-01-25 17:41:22 +09:00
Dean Herbert
83b0e4572a Fix test failures 2022-01-25 16:51:21 +09:00
Dan Balasescu
d8270fe14f
Merge pull request #16604 from peppy/less-async-import
Remove `Task` from the inner-most `Import` method in `RealmArchiveModelImporter`
2022-01-25 16:47:07 +09:00
Dan Balasescu
1c6ad56821
Merge pull request #16595 from peppy/realm-block-timeout-assert-failure
Fix a failed `BlockAllOperations` leaving update realm in unretrieved state
2022-01-25 16:03:13 +09:00
Dean Herbert
778d2a71b4 Remove Task from the inner-most Import method in RealmArchiveModelImporter
One of my pending work items for post-realm merge.

The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.

Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Dean Herbert
ae0fea8e26 Fix compilation issues due to misnamed fild 2022-01-25 15:29:45 +09:00
Dan Balasescu
47a13c2eb0
Merge pull request #16603 from peppy/update-framework
Update framework
2022-01-25 15:15:49 +09:00
Dean Herbert
35e1c7de7d Merge branch 'master' into realm-block-timeout-assert-failure 2022-01-25 15:05:11 +09:00
Dean Herbert
bda77fb6b3
Merge branch 'master' into realm-block-timeout-assert-failure 2022-01-25 14:47:34 +09:00
Dean Herbert
56d7d81465 Fix broken test due to SynchronizationContext never running expected work 2022-01-25 14:47:21 +09:00
Dan Balasescu
bfa521bdd2
Merge pull request #16593 from peppy/realm-clean-up
Clean up realm naming
2022-01-25 14:33:53 +09:00
Dan Balasescu
b2114bd2f0
Merge pull request #16601 from peppy/fix-storage-migration-test-failures
Fix `TestMigration` failing due to changes in realm migration logic
2022-01-25 14:33:35 +09:00
Dean Herbert
86c844bd58 Update remaining usages of GetSuitableHost in template projects 2022-01-25 14:15:29 +09:00
Dean Herbert
8116806db3 Add test coverage of calling BlockAllOperations a second time after timeout 2022-01-25 14:00:58 +09:00
Dean Herbert
dd2caea694 Update GetSuitableHost usages in line with new HostOptions 2022-01-25 13:52:02 +09:00
Dean Herbert
bbcc149e2e During import if files are found to be missing, ensure they are restored
This is one step closer to sanity in terms of physical files. As per the
comment I have left in place, we really should be checking file sizes or
hashes, but to keep things simple and fast I've opted to just cover the
"missing file" scenario for now.

Ran into this when testing against a foreign `client.realm` by:
- Noticing a beatmap doesn't load
- Deleting said beatmap
- Downloading via beatmap overlay
- Beatmap is restored but still doesn't work

Note that I've kept the logic where this will undelete an existing
import rather than create one from fresh, as I think that is beneficial
to the user (ie. it will still keep any linked scores on restore).
2022-01-25 13:44:54 +09:00
Dean Herbert
d7342880f5 Update remaining cases of clashes with realm.Write and realm.RegisterForNotifications 2022-01-25 13:09:48 +09:00
Dean Herbert
e23b10e6a5 Update remaining cases of clashing variable name in realm.Run(realm.. 2022-01-25 13:04:05 +09:00
Dean Herbert
3e5c9e8436 Fix cases of Access instead of Realm 2022-01-25 12:58:15 +09:00
Dean Herbert
2d34831b5f Fix TestMigration failing due to changes in realm migration logic
Fixes failures as seen at https://github.com/ppy/osu/runs/4927916031?check_suite_focus=true.
2022-01-25 12:54:40 +09:00
Dean Herbert
f30894840c Update terminology to realm "instance" rather than "context"
This matches the terminology used by realm themselves, which feels
better.
2022-01-24 20:38:38 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dean Herbert
9ff9611296 Merge branch 'master' into realm-stable-subscriptions 2022-01-24 18:25:47 +09:00
Dean Herbert
d7db6fa918
Merge branch 'master' into custom-meter 2022-01-24 15:46:44 +09:00
Dean Herbert
6581e8c2d3
Merge pull request #16549 from Susko3/LoginPanel-flag
Hide the login panel when clicking the country flag
2022-01-24 15:38:50 +09:00
Dean Herbert
40aa873190 Rename register methods to better explain their purpose 2022-01-24 14:37:36 +09:00
Bartłomiej Dach
e236f5d604
Add failing test coverage for correct beatmap filename generation on save 2022-01-23 20:28:19 +01:00
Dean Herbert
0709a2ac9b Add test coverage of realm subscription scenarios 2022-01-23 20:28:13 +09:00
Dean Herbert
db86394355 Fix TestResources returning a test BeatmapSetInfo that can't be laoded directly into realm 2022-01-23 20:28:04 +09:00
Salman Ahmed
1ea5a2e6a7 Fix incorrect assert step name 2022-01-23 10:11:12 +03:00
Salman Ahmed
6b35c0fe01 Add test scene for ExpandingControlContainer 2022-01-23 05:41:16 +03:00
Bartłomiej Dach
f39f2c93b5
Add control for arbitrary-numerator time signatures 2022-01-22 20:50:31 +01:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures enum with struct for storage of arbitrary meter 2022-01-22 20:50:31 +01:00
Dean Herbert
6a076a684e Merge branch 'realm-context-use-update-when-feasible' into realm-stable-subscriptions 2022-01-22 13:14:25 +09:00
Dean Herbert
c9db0181d0 Attempt to fix test failures on windows due to context being held open 2022-01-22 12:24:05 +09:00
Susko3
9b63f15e68 Add failing test 2022-01-21 13:58:30 +01:00
Dean Herbert
1f157d729d Update existing subscriptions to new style
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +09:00
Dean Herbert
114c9e8c1f Update all usages of CreateContext to use either Run or Write 2022-01-21 17:27:08 +09:00
Dean Herbert
70cc03fe43 Avoid constructor overhead for realm RealmKeyBinding parameterless constructor 2022-01-20 17:29:07 +09:00
Dan Balasescu
7509b31176
Merge pull request #16519 from peppy/fix-legacy-score-import-classic-mod
Fix legacy score imports not correctly getting classic mod assigned
2022-01-20 14:28:29 +09:00
Dan Balasescu
4f86a2cb61
Merge pull request #16525 from bdach/beatmap-listing-overflow-and-scrolling
Improve usability of expanded card content on beatmap listing
2022-01-20 14:14:44 +09:00
Bartłomiej Dach
4cad5890c6
Add test coverage for news sidebar showing wrong headers 2022-01-19 23:12:35 +01:00
Bartłomiej Dach
d925e44b40
Add test coverage for beatmap card expanded content clipping 2022-01-19 22:08:52 +01:00
Bartłomiej Dach
fea4400c03
Remove unused using directive 2022-01-19 18:49:37 +01:00
Dean Herbert
a002dacdce Add test coverage of various ScoreInfo mod set operations 2022-01-19 14:34:27 +09:00
Dean Herbert
bb6f40d16e Add test coverage of all mod storages containing classic mod post-import 2022-01-19 14:34:27 +09:00
Dan Balasescu
581873f944
Merge pull request #16497 from peppy/top-local-rank-optimisation
Rewrite `TopLocalRank` to use realm subscriptions
2022-01-19 14:22:12 +09:00
Dan Balasescu
3e5d29ed00
Merge pull request #16505 from peppy/remove-base-difficulty-usage
Remove all usage of `BaseDifficulty` (and access `Difficulty` instead)
2022-01-19 13:53:55 +09:00
Dean Herbert
201f2d7813 Add comprehensive test coverage for TopLocalRank 2022-01-19 13:48:00 +09:00
Dan Balasescu
2556f1cb87
Merge branch 'master' into optimise-set-detach-part-2 2022-01-19 13:20:38 +09:00
Dan Balasescu
f6f44029e8
Merge pull request #16507 from peppy/more-ingore-rules
Add some missing `IgnoredAttributes` to reduce automapper overhead
2022-01-19 12:26:37 +09:00
Bartłomiej Dach
7df18c7767
Merge branch 'master' into playlist-test-coverage 2022-01-18 20:17:48 +01:00
Dean Herbert
96d07e20ed Revert nunit test adaptor version bump until console output bug is resolved
Tests have started to output too much log content, causing viewing CI
failures to be painfully impossible. Roll back for now.

Fix may be related to
https://github.com/nunit/nunit3-vs-adapter/issues/941, although we don't
use filter.
2022-01-19 02:18:58 +09:00
Dean Herbert
1db2135d70 Update tests to match new behaviour 2022-01-19 01:05:47 +09:00
Dean Herbert
67bf95bc91 Remove all usage of AuthorString 2022-01-18 23:30:40 +09:00
Dean Herbert
7f65f3a47f Remove all usage of BaseDifficulty (and access Difficulty instead) 2022-01-18 22:57:39 +09:00
Dean Herbert
02baad30d7 Merge branch 'master' into global-bindable-thread-safety 2022-01-18 18:12:00 +09:00
Dan Balasescu
73a1f27ce5
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-18 17:31:37 +09:00
Dean Herbert
3e9e7a8fb6 Fix PLaylistsResultsScreen tests falling over due to missing beatmap 2022-01-18 16:48:27 +09:00
Dean Herbert
8978b88f69 Add test coverage of startup ruleset being non-default 2022-01-18 16:22:15 +09:00
Dan Balasescu
b4fdd8a986
Merge pull request #16489 from peppy/aggregate-score-tests
Add test coverage of aggregate scores displaying correctly at multiplayer/playlists screens
2022-01-18 16:03:06 +09:00
Dean Herbert
7084183d6c Fix test beatmaps created without hash being populated 2022-01-18 15:43:02 +09:00
Dean Herbert
1b62a685f3 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-18 15:07:59 +09:00
Dean Herbert
d26f4d50bd Add test coverage of aggregate room scores displaying correctly 2022-01-18 14:00:12 +09:00
Dean Herbert
c3d3c03f0f Fix TestScenePlaylistsScreen crashing on entering room 2022-01-18 13:42:41 +09:00
Dean Herbert
da9a60a695 Update broken test scenes to match new OsuTestScene logic 2022-01-18 13:41:50 +09:00
Dean Herbert
125439d177 Update all (non-NET6) nuget packages 2022-01-18 11:09:26 +09:00
Dan Balasescu
e9c96908d5
Merge pull request #16481 from peppy/fix-scores-container-tests
Rewrite `TestSceneScoresContainer` to work again
2022-01-17 20:39:14 +09:00
Dean Herbert
0ba0b5f11a Fix test step not being until when it needs to be 2022-01-17 19:45:32 +09:00
Dan Balasescu
f6b9d36acf
Remove unused using 2022-01-17 17:06:04 +09:00
Dean Herbert
a80e461000 Add better test coverage of user top scores 2022-01-17 16:23:58 +09:00
Dean Herbert
12fd279b7d Add test to check full flow of rebinding gameplay key bindings
Addresses a regression found in realm PR that was not covered by tests.
2022-01-17 16:00:17 +09:00
Dean Herbert
6436b6186f Rewrite TestScenScoresContainer to work again 2022-01-17 15:15:39 +09:00
Dean Herbert
5dc7425b2c Fix incorrect realm (non-isolated instance) being used in two test scenes 2022-01-17 14:55:23 +09:00
Dean Herbert
90166829c3 Update tests which were importing scores without a valid beatmap 2022-01-17 14:47:19 +09:00
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
Dan Balasescu
c34c580ad4 Add client-side + interface implementation 2021-12-09 03:08:59 +09:00
Dan Balasescu
3b4833ca8e A bit of cleanup + xmldocs on classes/members 2021-12-09 01:40:16 +09:00
Dan Balasescu
26f6c5e5a5 Remove ctor params from PlaylistsRoomPlaylist 2021-12-09 01:16:37 +09:00
Dan Balasescu
3be4d8b68d Remove ctor params from DrawableRoomPlaylist/DrawablePlaylistItem 2021-12-09 01:04:56 +09:00
Dean Herbert
8d9c37a825 Merge branch 'master' into primary-key-consistency 2021-12-08 21:34:38 +09:00
Dan Balasescu
beb5d61a42 Separate playlist item deletion to Playlists-specific class 2021-12-08 20:50:25 +09:00
Dean Herbert
a969fe3ef8 Add test coverage showing intended UX of user's volume levels being retained when unmuting 2021-12-08 13:37:47 +09:00
Dean Herbert
724d72b975
Merge pull request #15988 from bdach/fix-team-versus-test-failure
Fix test failures in team versus test
2021-12-08 11:54:00 +09:00
Bartłomiej Dach
7720a1b69b
Fix test to wait for drawable ruleset load before attempting paste 2021-12-07 21:10:45 +01:00
Bartłomiej Dach
e9694dc74e
Wait for match type changes in team versus test 2021-12-07 20:40:10 +01:00
Dean Herbert
d6e68feadc
Merge pull request #15948 from bdach/beatmap-card/difficulty-dropdown
Add difficulty dropdown to beatmap card
2021-12-07 23:40:06 +09:00
Dan Balasescu
5ffe702dd6 Add match type and queue mode to multiplayer room panels 2021-12-07 18:57:13 +09:00
tbrose
be86ca582c Adds test cases for at-sign and colon adjacent to the username 2021-12-07 02:34:35 +01:00
tbrose
0a8c4f4cec Adds test cases for usernames with special characters 2021-12-07 01:55:45 +01:00
tbrose
f02e44d552 Fixes not matching coding style 2021-12-07 01:38:48 +01:00
tbrose
0a6c221de4 Adds tests for checkContainsUsername function of MessageNotifier component 2021-12-06 22:07:47 +01:00
Dan Balasescu
7ef960839b
Merge pull request #15898 from peppy/skin-export-instntiation-info
Serialise and deserialise `SkinInfo.InstantiationInfo` to allow for more correct imports
2021-12-06 22:08:20 +09:00
Dean Herbert
9033169177
Merge pull request #15951 from peppy/fix-failing-recorder-tests-w
Fix intermittent test failures in scenes using `SpectatorClient`
2021-12-06 18:40:27 +09:00
Dan Balasescu
568364b604 Fix indentation 2021-12-06 17:38:57 +09:00
Dean Herbert
68b482fc48
Merge branch 'master' into skin-export-instntiation-info 2021-12-06 17:12:42 +09:00
Dean Herbert
cf34b3f70e
Merge pull request #15859 from peppy/realm-integration/skins-rebase
Use realm for skins
2021-12-06 17:12:23 +09:00
Dean Herbert
0d3d22d3e1 Update TestSceneReplayReocorder to be safer about disposal 2021-12-06 17:09:12 +09:00
Dean Herbert
50a5f52f92 Remove duplicated test scene (see TestSceeneReplayRecorder) 2021-12-06 17:09:11 +09:00
Dean Herbert
d58b85b381 Refactor TestScenSpectatorPlayback to properly clean up without async disposal 2021-12-06 17:09:11 +09:00
Dean Herbert
452fa93444 Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 15:21:02 +09:00
Dean Herbert
0fa1a96e9d
Wait for beatmap sets to finish loading to avoid test failures
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-12-06 15:03:17 +09:00
Dean Herbert
a76cfbea21 Add test coverage of incorrect beatmap being used in multiplayer when match started from song select 2021-12-06 14:03:33 +09:00
Bartłomiej Dach
af35652b8b
Disable beatmap card expansion on solo spectator screen 2021-12-05 20:07:58 +01:00
Bartłomiej Dach
a07f8c74dc
Add basic structure for composable card dropdown 2021-12-05 15:26:37 +01:00
ColdVolcano
86c908c657 Add test coverage 2021-12-05 03:53:36 -06:00
Bartłomiej Dach
ea6766d940
Add failing test case 2021-12-04 17:13:43 +01:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store 2021-12-04 15:05:39 +01:00
Bartłomiej Dach
16fd7f5a28
Simplify slightly redundant assertions 2021-12-04 14:42:01 +01:00
Dean Herbert
517a344bcc
Merge branch 'master' into new-multiplayer-playlist 2021-12-04 13:16:09 +09:00
Dan Balasescu
d5803e541b Give playlist items a PlayedAt date 2021-12-03 20:25:51 +09:00
Dan Balasescu
4145a16d5b
Merge pull request #15920 from peppy/clean-up-unused-resolves
Clean up unused resolved properties
2021-12-03 20:08:48 +09:00
Dean Herbert
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert
2acf46154a Remove many unused resolutions of RulesetStore 2021-12-03 18:16:29 +09:00
Dean Herbert
e75e209053 Cache and consume IRulesetStore where feasible 2021-12-03 18:16:01 +09:00
Dean Herbert
675ecb603f Add IRulesetStore to allow for transitional usage in upcoming manager classes 2021-12-03 17:57:40 +09:00
Dean Herbert
2927b235de Add test coverage of mouse wheel scroll adjusting volume 2021-12-03 17:18:07 +09:00
Dan Balasescu
10932dd282 Remove now unnecessary test 2021-12-02 22:58:25 +09:00
Dean Herbert
b976848774 Add failing test coverage of exporting default skin importing with incorrect type 2021-12-02 18:05:16 +09:00
Dan Balasescu
c00684a2f7
Merge branch 'master' into new-multiplayer-playlist 2021-12-02 16:19:34 +09:00
Dean Herbert
0adfb75cf3 Combine similarly named StatefulMultiplayerClient tests 2021-12-02 14:53:07 +09:00
Dean Herbert
ec700e9142 Remove unused using statement 2021-12-02 14:01:57 +09:00
Dean Herbert
e855a49833 Add test coverage of default skin edit and export 2021-12-02 14:01:18 +09:00
Dean Herbert
65f0a80c97 Merge branch 'master' into realm-integration/skins-rebase 2021-12-02 13:37:20 +09:00
Dan Balasescu
89c47708a1 Merge branch 'master' into new-multiplayer-playlist 2021-12-01 21:35:23 +09:00
Dan Balasescu
f9b4e6f004 Add test considering expired items 2021-12-01 21:35:23 +09:00
Dan Balasescu
e87b0003fb Fix queue mode not being bound to in all cases 2021-12-01 21:35:23 +09:00
Dan Balasescu
ad35f3434b Fix queue list not considering expired items 2021-12-01 21:35:23 +09:00
Dan Balasescu
1152c4e8e9 Fix tests 2021-12-01 21:35:22 +09:00
Dan Balasescu
95050d6597 Extract class to file 2021-12-01 21:35:22 +09:00
Dan Balasescu
11c137cf83 Ignore test 2021-12-01 21:35:22 +09:00
Dan Balasescu
0b3cc47a51 Fix list not repopulating on new room 2021-12-01 21:35:22 +09:00
Dan Balasescu
a4cd22d5a9 Clear lists on room leave 2021-12-01 21:35:22 +09:00
Dan Balasescu
fc8c8685b8 Add playlist queue tests 2021-12-01 21:35:22 +09:00
Dan Balasescu
e0ca1af9b8 Remove ctor params 2021-12-01 21:35:22 +09:00
Dan Balasescu
bfd2dc28c8 Rename QueueList -> MultiplayerQueueList 2021-12-01 21:35:22 +09:00
Dan Balasescu
01108016a7 Add reorder test 2021-12-01 21:35:22 +09:00
Dan Balasescu
89d22824c3 Fix incorrect comment 2021-12-01 21:35:22 +09:00
Dan Balasescu
7e800659aa Fix incorrect assertion 2021-12-01 21:35:22 +09:00
Dan Balasescu
48a181af1f Fix test button display 2021-12-01 21:35:22 +09:00
Dan Balasescu
ef170471f0 Merge branch 'master' into new-multiplayer-playlist 2021-12-01 21:35:22 +09:00
Dan Balasescu
68bb49fc1e Add QueueList tests 2021-12-01 21:33:48 +09:00
Dan Balasescu
0cb35e8b18 Separate out QueueList 2021-12-01 21:33:48 +09:00
Dan Balasescu
17bc0b51aa Merge branch 'playlist-item-add-owner' into new-multiplayer-playlist 2021-12-01 21:33:48 +09:00
Dan Balasescu
942e48ffbd Merge branch 'master' into new-multiplayer-playlist 2021-12-01 21:33:11 +09:00
Dan Balasescu
c38537a51a Initial implementation of MultiplayerPlaylist 2021-12-01 21:32:56 +09:00
Dan Balasescu
c225f8f84c
Merge branch 'master' into realm-subscribe-helper-methods 2021-12-01 20:15:21 +09:00
Dean Herbert
a89e18de42
Merge pull request #15868 from smoogipoo/refactor-test
Refactor difficulty adjustment mod combinations test
2021-12-01 15:43:08 +09:00
Dean Herbert
4306420922 Add extension methods to add extra safety to realm subscriptions
Also adjusts the naming and documentation to make it (hopefully) easier
to understand what this method/process implies.
2021-12-01 15:09:53 +09:00
Dean Herbert
d78c18d03f
Remove excess brackets
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-12-01 12:44:25 +09:00
Dan Balasescu
0479027f64 Apply assertion fix from review 2021-12-01 11:29:02 +09:00
Dan Balasescu
7d0135063e
Merge pull request #15875 from peppy/fix-match-type-propagation
Fix match type not being propagated correctly to other users' settings
2021-12-01 11:23:28 +09:00
Bartłomiej Dach
de034b4d9c
Fix test failures due to wrong asserts & uninitialised playlist
* The "create room" button was disabled headless due to not specifying
  the imported beatmap. In visual tests it seems to work due to
  selecting from the local database randomly.

* The test asserts are brought in line with expectations.
2021-11-30 20:57:08 +01:00
Bartłomiej Dach
b74b09eb3a
Add extra until step to make cause of potential failures more obvious 2021-11-30 20:56:11 +01:00
Dean Herbert
dda7142f48 Fix double screen exit in multiplayer song select tests potentially causing failure 2021-12-01 02:06:40 +09:00
Dean Herbert
ef3d0ee0db Merge branch 'master' into realm-integration/skins-rebase 2021-11-30 19:59:59 +09:00
Dan Balasescu
8fdb9ab4e5
Merge branch 'master' into realm-integration/live-queryable-fix 2021-11-30 18:54:14 +09:00
Dan Balasescu
daa7135381
Merge branch 'master' into realm-nested-context-creation-deadlock-fix 2021-11-30 18:01:00 +09:00
Dean Herbert
8de06803a8
Fix incorrect test step text
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-11-30 17:16:30 +09:00
Dean Herbert
049d9ce5ef Add test coverage of match type propagating to other users' settings 2021-11-30 17:09:32 +09:00
Dean Herbert
a286838b3a Merge branch 'realm-nested-context-creation-deadlock-fix' into realm-integration/skins-rebase 2021-11-30 16:17:55 +09:00
Dean Herbert
e83ada40f9 Merge branch 'realm-nested-context-creation-deadlock-fix' into realm-integration/skins-rebase 2021-11-30 15:56:34 +09:00
Dean Herbert
1ff0326f8e Merge branch 'master' into realm-integration/skins-rebase 2021-11-30 15:50:10 +09:00
Dean Herbert
0feec09966 Refactor beatmap importer tests to ensure realm is refreshed when waiting on state 2021-11-30 14:12:49 +09:00
Dean Herbert
a73919917c Fix intermittent test failures in TestScenBeatmapInfoWedge due to async load
https://github.com/ppy/osu/runs/4358685294?check_suite_focus=true

Occurs due to the wedge content also reloading on ruleset change, which
wasn't being accounted for. In a fail case, the content would change
during the "select beatmap" step's async load wait, causing incorrect
results.

51a353e12d/osu.Game/Screens/Select/BeatmapInfoWedge.cs (L70)
2021-11-30 12:32:09 +09:00
Dean Herbert
6b0999052f Merge branch 'master' into realm-integration/live-queryable-fix 2021-11-30 12:02:37 +09:00
Dean Herbert
2e31f5a338 Update tests to match new behaviour 2021-11-30 11:55:13 +09:00
Dan Balasescu
4a34a5c738 Refactor difficulty adjustment mod combinations test 2021-11-30 11:11:42 +09:00
Bartłomiej Dach
0fc4d6dc2a
Implement beatmap card difficulty list 2021-11-29 22:04:09 +01:00
Bartłomiej Dach
431ac1d97b
Remove unused using directive 2021-11-29 20:57:55 +01:00
Dan Balasescu
8a188b74b1
Merge pull request #15850 from peppy/realm-integration/misc-qol
Apply a couple of realm related documentation/interface changes
2021-11-29 18:58:15 +09:00
Dean Herbert
566e10f8cc Refactor test to be easier to follow 2021-11-29 18:55:23 +09:00
Dean Herbert
f6a3709060 Store default skins to database 2021-11-29 18:28:25 +09:00
Dean Herbert
23146d59d1 Use ILive for current skin 2021-11-29 18:28:25 +09:00
Dean Herbert
2a9c7c00c8 Update tests and file access code 2021-11-29 18:28:25 +09:00
Dean Herbert
4c2b0dd2d1 Update RealmLive tests in line with modified behaviour 2021-11-29 18:28:25 +09:00
Dean Herbert
c411a755c7 Merge branch 'realm-nested-context-creation-deadlock-fix' into realm-integration/compiled 2021-11-29 18:28:07 +09:00
Dean Herbert
29f1ad10ba Merge branch 'realm-integration/misc-qol' into realm-integration/compiled 2021-11-29 18:28:03 +09:00
Dean Herbert
bac7966337 Update RealmLiveTests to use interface type 2021-11-29 18:17:30 +09:00
Dean Herbert
071a8c6709 Add test coverage showing RealmLive failure after an attach 2021-11-29 17:34:58 +09:00
Dean Herbert
54798eabc9 Add test coverage of potential deeadlock scenario with nested realm context fetching 2021-11-29 16:29:53 +09:00
Dean Herbert
791f7e3801 Update RealmLive tests in line with modified behaviour 2021-11-29 15:16:16 +09:00
Dean Herbert
d73e81ee63 Add test coverage of non-optimised existing model check 2021-11-29 14:48:28 +09:00
Bartłomiej Dach
05f7ea6b6d
Remove mentions of "panel" and "direct" from names of old download buttons 2021-11-27 15:08:03 +01:00
Bartłomiej Dach
a043d1e427
Move old beatmap download button to more general namespace 2021-11-27 15:06:57 +01:00
Bartłomiej Dach
567c985da0
Remove beatmap panel test scene 2021-11-27 14:56:27 +01:00
Dan Balasescu
e1445dcb05 Only show owner in match subscreen 2021-11-26 17:40:45 +09:00
Dan Balasescu
e9a19aacd7 Fix tests by requiring host 2021-11-26 17:23:50 +09:00
Dan Balasescu
8541db1e85 Merge branch 'master' into playlist-item-add-owner 2021-11-26 17:13:23 +09:00
Dan Balasescu
5e53f51c99
Merge pull request #15812 from peppy/realm-live-unmanaged-fetch-fix
Avoid attempting to fetch a non-managed `RealmLive` instance from the realm backing
2021-11-26 15:37:58 +09:00
Dean Herbert
40d1b97af1 Avoid attempting to fetch a non-managed RealmLive instance from the realm backing
For compatibility reasons, we quite often convert completely unmanaged
instances to `ILive`s so they fit the required parameters of a property
or method call. This ensures such cases will not cause any issues when
trying to interact with the underlying data.

Originally I had this allowing write operations, but that seems a bit
unsafe (when performing a write one would assume that the underlying
data is being persisted, whereas in this case it is not). We can change
this if the requirements change in the future, but I think throwing is
the safest bet for now.
2021-11-26 15:06:14 +09:00
Dean Herbert
13612c0d02 Add equality support to ILive types 2021-11-26 14:56:16 +09:00
Dan Balasescu
1f5d95666e Add owner avatar to multiplayer items 2021-11-25 23:15:29 +09:00
Dean Herbert
7a3c69544b
Merge pull request #15799 from smoogipoo/fix-songselect-test-failures-2
Fix SongSelect-related test failures
2021-11-25 23:01:06 +09:00
Dan Balasescu
d0c0b7ce47 Fix intermittent beatmap thumbnail test 2021-11-25 22:05:39 +09:00
Dan Balasescu
09dd054283 Fix SongSelect-related test failures 2021-11-25 21:11:13 +09:00
Dan Balasescu
f712aeee01
Merge pull request #15795 from peppy/realm-integration/separate-download-flow
Split out download logic from main manager classes
2021-11-25 20:59:23 +09:00
Dean Herbert
eeccf836ec Remove unnecessary GameHost parameter 2021-11-25 17:42:41 +09:00
Dean Herbert
a2ab9f457d Move score download logic out of ScoreManager 2021-11-25 17:33:04 +09:00
Dean Herbert
716543b5b3 Move beatmap download logic out of BeatmapManager 2021-11-25 17:29:41 +09:00
Dean Herbert
e6cfe44652 Fix occasional test failure due to default value oversight in TestSceneBeatmapCarousel 2021-11-25 16:29:06 +09:00
Dean Herbert
306e13fa7b Remove all usages of FileStore.QueryFiles 2021-11-25 14:06:02 +09:00
Dean Herbert
1533e245de
Merge pull request #15767 from bdach/beatmap-card/track-preview
Add preview track playback function to beatmap card
2021-11-25 12:08:03 +09:00
Bartłomiej Dach
1907b42f82
Use constant online IDs in tests to avoid preview not working randomly 2021-11-24 20:34:33 +01:00
Bartłomiej Dach
20f71da2c4
Merge branch 'master' into fix-mp-resuming 2021-11-24 20:17:58 +01:00
Dan Balasescu
132bb59203 Update working beatmap when returning to match 2021-11-24 19:56:02 +09:00
Dan Balasescu
ce8500a732
Merge branch 'master' into remove-model-file-list-inits 2021-11-24 19:46:42 +09:00
Dan Balasescu
e176083898
Merge pull request #15781 from peppy/beatmap-set-status
Rename `BeatmapSetOnlineStatus` to `BeatmapOnlineStatus`
2021-11-24 19:25:29 +09:00
Dean Herbert
b739b6a725
Merge branch 'master' into beatmap-card/track-preview 2021-11-24 18:54:25 +09:00
Dean Herbert
183b95cbc2 Rename BeatmapSetOnlineStatus to BeatmapOnlineStatus
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dean Herbert
ddbd4f9473 Merge branch 'master' into remove-model-file-list-inits 2021-11-24 18:39:01 +09:00
Dean Herbert
0fe27cc8a1 Replace one more usage 2021-11-24 18:29:33 +09:00
Dean Herbert
7603f7eb36 Fix a few incorrectly updated arguments 2021-11-24 18:14:18 +09:00
Dean Herbert
0c819b9cfb Combine all test data BeatmapSetInfo creation into a single method 2021-11-24 18:07:32 +09:00
Dan Balasescu
74b6c33fab
Merge pull request #15778 from peppy/ruleset-info-id-usage
Update usages of `RulesetInfo.ID` to use `OnlineID` instead
2021-11-24 16:55:28 +09:00
Dan Balasescu
834bdd8e5c
Merge pull request #15776 from peppy/non-null-beatmapset-metadata
Make `BeatmapSet.Metadata` non-null
2021-11-24 16:48:28 +09:00
Dan Balasescu
8ce5324c8b
Merge pull request #15772 from peppy/remove-model-list-inits
Initialise `BeatmapSet.Beatmaps` list at construction time
2021-11-24 16:41:19 +09:00
Dean Herbert
bbd3ea5b77 Update all actual usages of RulesetInfo.ID to use OnlineID instead 2021-11-24 15:50:26 +09:00
Dean Herbert
f283770f34 Update mock RulesetInfo usage to set OnlineID instead of ID 2021-11-24 15:50:26 +09:00
Dean Herbert
cb093e1e01 Remove reundant self-sets of metadata 2021-11-24 15:08:04 +09:00
Dean Herbert
3946a39b65 Make BeatmapSet.Metadata non-null 2021-11-24 15:03:34 +09:00
Dean Herbert
44c34ca7b2 Revert changes causing BeatmapSet.Metadata to be expectedly null in some tests 2021-11-24 14:52:08 +09:00
Dean Herbert
c7bc03e6f7 Add helper method for editor check tests 2021-11-24 14:22:41 +09:00
Dean Herbert
c2f8d9f677 Update tests which set Files lists directly 2021-11-24 14:00:14 +09:00
Dan Balasescu
cf17c51df2
Merge pull request #15770 from peppy/fix-incorrect-id-usage-in-tests
Fix incorrect usage of `ID` in `TestSceneMultiplayerResults`
2021-11-24 13:51:30 +09:00
Dean Herbert
8c60f37508 Fix cases of dynamically assigning Beatmaps to BeatmapSetInfo using list assignment 2021-11-24 13:27:37 +09:00
Dean Herbert
b1f3e98045 Fix incorrect usage of ID in TestSceneMultiplayerResults 2021-11-24 13:05:51 +09:00
Dean Herbert
729f681938 Update cases where equality can be used instead of primary key equality 2021-11-24 12:49:57 +09:00
Dean Herbert
049f25a133
Merge pull request #15757 from smoogipoo/fix-multiplayer-tests
Fix several intermittent multiplayer test failures
2021-11-24 09:32:01 +09:00
Bartłomiej Dach
1a1603f0db
Implement preview track playback 2021-11-23 23:17:30 +01:00
Bartłomiej Dach
9164f006aa
Implement basic behaviour of play button 2021-11-23 22:44:09 +01:00
Bartłomiej Dach
b44db9f5e5
Add test scene for thumbnail component 2021-11-23 22:44:08 +01:00
Dan Balasescu
a521d1b835 Wait for ready button to be enabled first 2021-11-23 17:09:38 +09:00
Dan Balasescu
fd4d5e98a7
Merge pull request #15745 from bdach/settings-number-box-stack-overflow
Fix crashes on trying to play back replays of seeded mods with seed value over 1 billion
2021-11-23 16:36:05 +09:00
Dan Balasescu
6363833fb3 Revert unnecessary changes 2021-11-23 16:17:09 +09:00
Dan Balasescu
69a9fc9732 Fix a few more multiplayer test timeouts
These can be tested by adding a `Task.Delay(3000);` at the end of the
`MultiplayerClient.JoinRoom` task. The reason is typically that
`Client.Room` becomes not-null but the join task still hasn't completed
yet, so e.g. the ready button is still disabled.
2021-11-23 16:07:03 +09:00
Bartłomiej Dach
b596a0204c
Rewrite overflow test step for legibility 2021-11-23 06:43:17 +01:00
Dan Balasescu
10bd7176e0 Fix potential test failure in TestSceneMultiplayerReadyButton
Couldn't exactly reproduce https://github.com/ppy/osu/runs/4294316800,
but I found a similar issue via:

```diff
diff --git a/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerReadyButton.cs b/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerReadyButton.cs
index 84b63a5733..29cac9b061 100644
--- a/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerReadyButton.cs
+++ b/osu.Game.Tests/Visual/Multiplayer/TestSceneMultiplayerReadyButton.cs
@@ -3,6 +3,7 @@

 using System;
 using System.Linq;
+using System.Threading;
 using System.Threading.Tasks;
 using NUnit.Framework;
 using osu.Framework.Allocation;
@@ -81,6 +82,8 @@ private void load(GameHost host, AudioManager audio)

                         await Client.ToggleReady();

+                        Thread.Sleep(1000);
+
                         readyClickOperation.Dispose();
                     });
                 }
```
2021-11-23 14:07:55 +09:00
Dean Herbert
119ac19f86
Merge branch 'master' into realm-beatmap-file-relation 2021-11-23 10:20:22 +09:00
Dean Herbert
e580fc5abc
Merge pull request #15735 from peppy/remove-ruleset-info-inheritance
Remove subclassing of `RulesetInfo`
2021-11-23 10:18:32 +09:00
Bartłomiej Dach
1ec5dd2cdf
Merge branch 'master' into realm-beatmap-file-relation 2021-11-22 21:53:08 +01:00
Bartłomiej Dach
dced6a2e68
Add extended test coverage for desired input handling 2021-11-22 20:39:44 +01:00
Bartłomiej Dach
2350806b4c
Add failing test case for number box stack overflow scenario 2021-11-22 20:26:45 +01:00
Dean Herbert
001f7c36f3 Use Equals in carousel tests for better realm compatibility 2021-11-22 17:20:21 +09:00
Dean Herbert
b9923e5396 Remove subclassing of RulesetInfo 2021-11-22 16:39:17 +09:00
Dean Herbert
1cdfa6d9a0 Add helper property to access a realm beatmap's beatmap file 2021-11-22 15:30:11 +09:00
Dan Balasescu
f64d20ed71 Fix APIRoom queue mode not updated on change 2021-11-22 13:46:01 +09:00
Dean Herbert
bbb3abbc61
Merge branch 'master' into multi-queueing-modes 2021-11-22 12:32:47 +09:00
Dan Balasescu
cad6d1d25d Adjust test to match new logic 2021-11-22 11:20:19 +09:00
Dan Balasescu
53dbbd6d64 Compare playlist item IDs instead in tests 2021-11-22 11:17:32 +09:00
Dan Balasescu
4b498c7bd6 Merge branch 'master' into multi-queueing-modes 2021-11-22 07:46:45 +09:00
Dean Herbert
c0962b1c4f
Merge branch 'master' into beatmap-card/download-button 2021-11-21 20:04:26 +09:00
Dean Herbert
63642450a4
Merge branch 'master' into fix-working-beatmap-wrong-exception-type 2021-11-21 15:50:07 +09:00
Dan Balasescu
a06b361fe2
Merge pull request #15705 from bdach/fix-difficulty-cache-caching-zeroes
Fix zero star difficulty values being cached when diffcalc was interrupted
2021-11-21 15:45:29 +09:00
Bartłomiej Dach
65cb011bac
Merge branch 'master' into beatmap-card/download-button 2021-11-20 18:49:11 +01:00
Bartłomiej Dach
297de27a6a
Use BindTarget from card rather than caching & resolving download tracker 2021-11-20 18:48:26 +01:00
Bartłomiej Dach
78ee213573
Merge branch 'master' into storage-path-extension-method 2021-11-20 18:21:46 +01:00
Bartłomiej Dach
6100bf66a6
Clean up cancellation handling in WorkingBeatmap
After the recent changes introducing cancellation support to
`WorkingBeatmap`, it turned out that if the cancellation support was
used, `GetPlayableBeatmap()` would raise timeout exceptions rather than
the expected `OperationCanceledException`.

To that end, split off a separate overload for the typical usage, that
catches `OperationCanceledException` and converts them to beatmap load
timeout exceptions, and use normal `OperationCanceledException`s in the
overload that requires a cancellation token to work.
2021-11-20 17:23:55 +01:00
Bartłomiej Dach
15feb17da8
Change difficulty cache storage type to nullable
The recent changes related to adding support for working beatmap load
cancellation exposed a flaw in the beatmap difficulty cache. With the
way the difficulty computation logic was written, any error in the
calculation process (including beatmap load timeout, or cancellation)
would result in a 0.00 star rating being permanently cached in memory
for the given beatmap.

To resolve, change the difficulty cache's return type to nullable.
In failure scenarios, `null` is returned, rather than
`default(StarDifficulty)` as done previously.
2021-11-20 17:00:50 +01:00
Dean Herbert
e0629ba81c Update all dependencies 2021-11-20 13:31:10 +09:00
Dean Herbert
83b4625bd5 Replace existing cases with new helper method 2021-11-19 22:15:41 +09:00
Dan Balasescu
de0e8ad822 Merge branch 'master' into multi-queueing-modes 2021-11-19 18:58:15 +09:00
Dan Balasescu
4e625b78e2 Update queue mode names 2021-11-19 18:28:43 +09:00
Dean Herbert
59e763467f Move StoragePath implementation to an extension method 2021-11-19 16:08:38 +09:00
Dan Balasescu
a6a786b167 Remove namespacing of queue tests 2021-11-19 15:43:11 +09:00
Dean Herbert
5034cb1025
Merge branch 'master' into beatmap-card/download-button 2021-11-19 14:59:42 +09:00
Dean Herbert
0c289bf8e5 Remove pointless namespace 2021-11-19 14:46:53 +09:00