1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 03:05:10 +08:00
Commit Graph

123 Commits

Author SHA1 Message Date
Bartłomiej Dach
b29e535ca5
Add results screen for displaying arbitrary daily challenge scores
At this point its primary usage is the daily challenge event feed, but
the leaderboard will be using this too shortly.

Because the playlists results screen that exists in `master` is
hard-coupled to showing the *local user's* best result on a given
playlist by way of hard-coupling itself to the relevant API request,
allowing show of *arbitrary* score by ID requires a whole bunch of
subclassery as things stand. Oh well.

Class naming is... best effort, due to the above.
2024-07-04 13:45:24 +02:00
Bartłomiej Dach
0074bdc5a1
Change ResultsScreen constructor boolean params to init-only properties 2024-02-22 20:15:03 +01:00
Dan Balasescu
b44f77cee1
Update R# + fix inspections 2024-02-02 21:00:28 +09:00
Dean Herbert
fb24c66342
Mark ResultsScreen.Score as nullable
Is nullable in playlist results at very least.
2024-01-29 16:43:26 +09:00
Bartłomiej Dach
988794cf90
Improve test coverage for empty results 2024-01-15 18:49:41 +01:00
Bartłomiej Dach
8a839f64ed
Add failing test coverage for placeholder shown when it shouldn't be 2024-01-15 18:47:46 +01:00
wooster0
d5fdd0c0f9 make each test bind the handler only once, depending on its need 2024-01-09 21:44:05 +09:00
wooster0
ea37c70e0b apply suggestion 2024-01-09 21:34:40 +09:00
wooster0
8ad697ff4c apply some suggestions/corrections 2024-01-09 21:28:46 +09:00
wooster0
0c85fd496f Don't leave scores screen empty if no scores are present yet
Addresses https://github.com/ppy/osu/discussions/23787

I originally wanted to set `allowShowingResults` to false if there are
no results but because this involves an API request to fetch the scores
that would mean all the scores would have to be fetched all at once so
that it knows whether to hide or show the "View results" button on a
beatmap.
Because that would slow things down and be very inefficient, this still
allows the user to view the scores screen but if there aren't any
scores, it shows a text, which I think is at least for now better than
nothing.

As for the testing of this, I wasn't sure how to not generate scores
only for one specific test so I opted into not using `SetUpSteps` and
doing it that way.
2023-12-31 22:42:32 +09:00
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Salman Ahmed
8174ef06c3 Fix intermittent failure in playlists match loading test 2023-01-20 01:18:41 +03:00
Bartłomiej Dach
894ef15e79
Merge branch 'master' into update-framework 2022-11-26 16:19:36 +01:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dean Herbert
53b03df93d Combine TriangleButton and RoundedButton classes 2022-11-24 16:26:57 +09:00
Dan Balasescu
8b3742188f Fix test by also clearing out maximum statistics 2022-08-30 15:42:36 +09:00
Salman Ahmed
8ca8484f0e Fix failing tests 2022-07-30 11:49:33 +03:00
Dan Balasescu
aaa6f963bd Fix potential test failures due to Setup/SetUpSteps ordering 2022-07-29 15:27:39 +09:00
Dean Herbert
2b9d46d803 Remove unused RulesetStore from BeatmapManager constructor 2022-07-28 16:19:05 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
17174a7b09 Ensure some results have been loaded in playlist results screen tests
Basically, the failing delayed test would fire two web requests during
the proceedings. In unfortunate timing, the first would succeed and the
test would think "everything is okay", but the actual request loading
results has not yet run.

This check ensures *something* is loaded, which seems to be enough to
make things reliable.
2022-05-30 19:29:16 +09:00
Dan Balasescu
d1de516b11 Fix incorrect cursor parameterisation in test scene 2022-04-11 15:40:28 +09:00
Jai Sharma
1c79083f96 Move all PlaylistResultScreen test state initialisation into SetUpSteps 2022-03-15 22:15:35 +00:00
Jai Sharma
c56df80106 Fix PlaylistResultsScreen test failures
As seen: https://github.com/ppy/osu/pull/17252/checks?check_run_id=5545717506

The `PlaylistsResultsScreen` takes a lease on the `Beatmap` bindable
when entered. During `SetUp`, the `Beatmap` bindable is reassigned but
fails in cases where an existing test instance of the screen hasn't been
exited yet. This fix moves the assignment into the `SetUpSteps` function
after `base.SetUpSteps` is called which will exit the existing screens
first.
2022-03-15 20:38:04 +00:00
Dan Balasescu
d13a66a96c Rework test scene by only relying on OnlineID 2022-03-08 20:11:56 +09:00
Dean Herbert
631c23ea3a Merge branch 'master' into beatmap-decoder-ruleset-store 2022-02-18 16:52:33 +09:00
Dean Herbert
0138f22c8d Update existing usages to point to RealmRulesetStore 2022-02-16 17:13:54 +09:00
Dan Balasescu
bdc3b76df0 Remove beatmap bindable from PlaylistItem 2022-02-15 23:50:08 +09:00
Dan Balasescu
efeba30b9f Remove ruleset and mod bindables from PlaylistItem 2022-02-15 16:28:15 +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
3e5c9e8436 Fix cases of Access instead of Realm 2022-01-25 12:58:15 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Bartłomiej Dach
7df18c7767
Merge branch 'master' into playlist-test-coverage 2022-01-18 20:17:48 +01: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
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
a59dcccab7 Add local ContextFactory caching to all remaining test scenes that create local managers 2022-01-14 19:59:21 +09:00
Dean Herbert
b2d09b7b10 Fix further warnings 2022-01-12 23:42:12 +09:00
Dean Herbert
ac3b7aa893 Fix more incorrect test access to ILive 2022-01-12 17:49:10 +09:00
Dean Herbert
31a3161189 Make tests compile again 2022-01-12 17:00:16 +09:00
Dean Herbert
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +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
Joseph Madamba
98524d60a4 Fix clear identifier typos 2021-12-27 20:26:28 -08:00
Dean Herbert
d79602a912 Add wait step to TestScenePlaylistResultScreen explicitly for screen load 2021-12-20 16:58:36 +09:00
Dan Balasescu
da00c020be Remove whitespace 2021-12-15 07:33:49 +09: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