1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-17 14:23:20 +08:00
Commit Graph

38 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
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
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dan Balasescu
8b3742188f Fix test by also clearing out maximum statistics 2022-08-30 15:42:36 +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
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
3e9e7a8fb6 Fix PLaylistsResultsScreen tests falling over due to missing beatmap 2022-01-18 16:48:27 +09:00
Dean Herbert
d79602a912 Add wait step to TestScenePlaylistResultScreen explicitly for screen load 2021-12-20 16:58:36 +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
Dan Balasescu
2cd2b10ce1 Fix results sometimes showing incorrect score position 2021-12-13 06:54:57 +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
0ecf5f201c Rename User to APIUser and move to correct namespace 2021-11-07 11:26:01 +09:00
smoogipoo
d6ac6a5cd6 Fix intermittent results screen test failures 2021-10-08 15:18:01 +09:00
smoogipoo
c9325cc419 Fix results screen test scene 2021-09-07 14:15:23 +09:00
smoogipoo
20100b8894 Fix a few test failures 2021-09-06 20:20:52 +09:00
Dean Herbert
aeff9bd853 Add return bool to HandleRequest to better trigger failures 2021-03-23 18:17:29 +09:00
Bartłomiej Dach
f62120c66b Remove unused using directive 2021-02-22 22:45:55 +01:00
Dean Herbert
adf2dc36c9 Fix PlaylistResults tests performing delays in real-time when headless 2021-02-22 15:43:58 +09:00
Bartłomiej Dach
83fb7c7a1a Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
Dean Herbert
9de1a67e03 Move PlaylistsResultsScreen to correct namespace 2020-12-25 23:47:32 +09:00
Dean Herbert
5d4b73baa5 RealtimeMultiplayer -> Multiplayer 2020-12-25 14:10:59 +09:00
Dean Herbert
12e4bbdc5b Reorganise test scenes into playlists specific namespace 2020-12-25 13:20:37 +09:00