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

947 Commits

Author SHA1 Message Date
Salman Ahmed
5e19bdbf43 Refactor beatmap ruleset selector test scene 2022-04-29 12:23:02 +03:00
Salman Ahmed
fae8d86e15 Fix regressed profile ruleset selector test scene
Due to the changes in `APIUser`, which change equality to be based on ID.
2022-04-29 12:20:35 +03:00
Dean Herbert
58399a5113 Add tutorial download support and improve the visuals "slightly" 2022-04-28 19:01:21 +09:00
Dean Herbert
99d2d7b805 Add very basic implementation of bundled beatmap downloader 2022-04-28 19:01:21 +09:00
Dean Herbert
55270df6fc
Merge pull request #17833 from jai-x/new-chat-channel-list
Implement `ChannelList` for new chat design
2022-04-21 16:34:35 +09:00
Dean Herbert
a9163727db Mark selected channel null in test when selector is activated 2022-04-21 13:44:14 +09:00
Jai Sharma
5319bce772 Revert DI usage of ChannelSelectorState in favour of directly binding BindableBool SelectorActive 2022-04-20 21:05:33 +01:00
Jai Sharma
e596c9d171 Use Bindable<ChannelSelectorState> to control selector active visibility 2022-04-20 19:12:43 +01:00
Dan Balasescu
bb8b94f8ad
Merge branch 'master' into i-notification-overlay 2022-04-19 06:03:56 +09:00
Salman Ahmed
3cbc6cd297 Update further tests to cache using IDialogOverlay 2022-04-18 21:04:22 +03:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Jai Sharma
f1dd319fd9 Implement ChannelList for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChannelList` which makes up the sidebar channel
selector of the new chat design. Contains two separate fill flows for
public and private `ChannelItem` child components.

Exposed bindable `SelectorActive` to indicate current state of the "Add
more channels" button. Requires `Bindable<Channel>` from parent
component.

Renames and updates the `TestSceneChannelListItem` to
`TestSceneChannelList` to make use of new component and having both
tests seemed redundant.
2022-04-15 15:44:38 +01:00
Salman Ahmed
34adc1d410 Add quick test coverage 2022-04-08 19:21:37 +03:00
Dean Herbert
969f7e121a
Merge pull request #17545 from jai-x/new-chat-textbox
Implement `ChatTextBox` for new chat design
2022-04-03 22:12:12 +09:00
Bartłomiej Dach
6d1844adc3
Use nameof() in test to reference event names 2022-04-03 14:27:37 +02:00
Jai Sharma
94fa5e2ef2 Use Action<string> for event OnChatMessageCommitted & clear textbox internally 2022-04-02 21:58:54 +01:00
Bartłomiej Dach
28ba437d24
Merge branch 'master' into sucess-rate-tooltip 2022-04-02 19:31:45 +02:00
Salman Ahmed
b815f685fc Flip viaConfig conditional branch 2022-04-02 19:28:33 +03:00
Jai Sharma
9e152cd3fd Fix code quality issues 2022-04-02 17:27:44 +01:00
Salman Ahmed
8534dd3463
Simplify TestCase attributes to one Values attribute
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-02 19:24:16 +03:00
Jai Sharma
2297073b7e Use OnChatMessageCommit & OnSearchTermsChanged events in ChatTextBar 2022-04-02 17:15:19 +01:00
Salman Ahmed
c4635f3c03 Add failing test case 2022-04-02 18:36:32 +03:00
Salman Ahmed
a252c4cad5 Add random pass/play count data in test scene 2022-04-02 18:08:23 +03:00
Jai Sharma
f049d7cb67 Implement ChatTextBox for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChatTextBox`.
Exposes `BindableBool` `ShowSearch` to change text input behaviour
between normal and search behaviour.

Adds new component `ChatTextBar`.
Exposes `BindableBool` `ShowSearch` which toggles between showing current
chat channel or search icon.
Additionally binds to child `ChatTextBox` components.
Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.
2022-03-29 22:33:38 +01:00
Dean Herbert
5104e4db21 Add step to TestSceneChannelListItem to actually select an item 2022-03-21 14:33:50 +09:00
Dean Herbert
812343b410 Merge branch 'master' into new-chat-channel-control 2022-03-21 14:14:02 +09:00
Jai Sharma
ba5a43b526 Rename ControlItem -> ChannelListItem and associated classes 2022-03-19 21:49:14 +00:00
Salman Ahmed
46e66e66e4 Make opening chat overlay opt-in to add coverage for unloaded chat overlays
Causes `TestHighlightWhileChatNeverOpen` to fail as expected.
2022-03-17 08:19:40 +03:00
Bartłomiej Dach
a8cefca685
Simplify fade-out transform 2022-03-16 21:49:04 +01:00
Bartłomiej Dach
03d3969b38
Remove unnecessary OsuColour cache
One is already cached at `OsuGameBase` level.
2022-03-16 21:46:02 +01:00
Jai Sharma
c2e4779c2e Remove redundant spacing in ControlItem test scene 2022-03-16 11:57:11 +00:00
Dean Herbert
2452d84e98 Add missing Schedule call to allow individual tests from TestSceneMessageNotifier to pass 2022-03-16 18:44:30 +09:00
Jai Sharma
6628b7c654 Ensure existing items are expired and cleared in ChannelControlItem test setup 2022-03-14 22:21:18 +00:00
Jai Sharma
75958bf270 Refactor ControlItemText to use bindable flow for unread state 2022-03-14 21:32:30 +00:00
Jai Sharma
b01a809d55 Refactor ControlItemMention to use bindable flow 2022-03-14 21:26:33 +00:00
Jai Sharma
9621ef9437 Use OsuColour.Red1 for ControlItemClose hover colour 2022-03-14 21:10:39 +00:00
Jai Sharma
e9f0ad33ef Use autosizing for ChannelControlItem test scene 2022-03-14 20:06:31 +00:00
Jai Sharma
c0d82dfb41 Code quality fixes 2022-03-14 19:42:55 +00:00
Jai Sharma
39c30516d0 Implement ChannelControlItem for new chat design
Adds new component `ChannelControlItem` and it's child components to be
used as the clickable control in the new chat sidebar for joined
channels.

Has public properties `HasUnread` and `MentionCount` to control the
display of the channel having unread messages or mentions of the user.

Channel select/join requests are exposed via `OnRequestSelect` and
`OnRequestLeave` events respectively which should be handled by a parent
component.

Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.

Requires a cached `OveralayColourScheme` instance to be provided by a
parent component.
2022-03-14 18:55:27 +00:00
Salman Ahmed
cc87563d57
Merge branch 'master' into chat-mention-highlight 2022-03-11 17:51:22 +03:00
Salman Ahmed
a31611bdec Improve channel switching flow in HighlightMessage 2022-03-10 23:07:15 +03:00
Salman Ahmed
e419370830 Add test coverage for highlighting message on left channel 2022-03-10 21:30:02 +03:00
Dean Herbert
022dd88aef
Merge branch 'master' into chat-mention-highlight 2022-03-10 14:23:23 +09:00
Salman Ahmed
f229447453 Add too many messages to better test long scrolls 2022-03-10 04:01:07 +03:00
Salman Ahmed
d4de435eb2 Add test case for highlighting while chat overlay is hidden 2022-03-10 02:50:27 +03:00
Salman Ahmed
80c0df6af5 Scroll chat line to channel center
We may eventually want that encapsulated within `ScrollIntoView`, as it
would also come in handy for `GameplayLeaderboard`.
2022-03-10 02:50:15 +03:00
Jai Sharma
b67f9269f9 Remove NewChat namespace 2022-03-09 18:13:56 +00: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
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
Salman Ahmed
7f47be4680 Refactor message highlighting logic to rely on a Channel data bindable 2022-03-08 03:19:37 +03: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
Salman Ahmed
9bc1f3f014 Further refactor and simplify ChannelScrollContainer 2022-03-06 23:34:12 +03:00
Salman Ahmed
5b3ffb12b7 Refactor channel scrolling container to handle manual scrolls resiliently 2022-03-05 23:27:07 +03:00
Dan Balasescu
e947c97e10
Merge branch 'master' into spectator-reliability 2022-02-25 20:20:30 +09:00
Dean Herbert
14c8ce50a0 Prefix all test send methods in TestSpectatorClient with Send 2022-02-24 02:23:48 +09:00
Dean Herbert
98aaf83177 Add a centralised constant for the osu URL schema protocol 2022-02-18 15:57:37 +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
Dean Herbert
1b62a685f3 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-18 15:07:59 +09:00
Dean Herbert
0ba0b5f11a Fix test step not being until when it needs to be 2022-01-17 19:45:32 +09:00
Dean Herbert
a80e461000 Add better test coverage of user top scores 2022-01-17 16:23:58 +09:00
Dean Herbert
6436b6186f Rewrite TestScenScoresContainer to work again 2022-01-17 15:15:39 +09:00
Dean Herbert
4f8d29c1c0 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-13 18:25:09 +09:00
Dean Herbert
e1f5acd689 Remove names from user dictionary 2022-01-13 12:40:19 +09:00
Dean Herbert
31a3161189 Make tests compile again 2022-01-12 17:00:16 +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
Bartłomiej Dach
82d6639a3b
Decouple rankings table test from online API 2022-01-09 14:42:19 +01:00
Bartłomiej Dach
881fa2b86b
Add basic test scene for scoreboard time 2022-01-07 19:18:16 +01:00
Bartłomiej Dach
2660f41339
Add failing test case for old cards not expiring correctly 2022-01-03 19:28:14 +01: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
27c5cc5bd8
Add testing for beatmap card size switching 2021-12-23 15:55:51 +01:00
Bartłomiej Dach
02fa1c21b7
Adjust existing placeholder test to demonstrate failure case 2021-12-22 15:03:20 +01: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
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
Dan Balasescu
488374b4a2 Don't show multiplayer channels in chat overlay 2021-12-16 16:41:47 +09:00
Dean Herbert
bff02bedbf Rename APIScoreInfo to APIScore 2021-12-10 16:11:49 +09:00
Dan Balasescu
a445dcd2c6 Fix incorrect test namespace 2021-12-10 02:09:31 +09:00
Dan Balasescu
1a0945daba Siplify condition, allow host to always remove items 2021-12-09 14:33:50 +09:00
Dan Balasescu
c34c580ad4 Add client-side + interface implementation 2021-12-09 03:08:59 +09:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store 2021-12-04 15:05:39 +01:00
Dean Herbert
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert
e75e209053 Cache and consume IRulesetStore where feasible 2021-12-03 18:16:01 +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
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
f283770f34 Update mock RulesetInfo usage to set OnlineID instead of ID 2021-11-24 15:50:26 +09:00
Dean Herbert
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Dan Balasescu
1c40d5bc08
Merge branch 'master' into remove-stupid-weak-reference-bindable-events 2021-11-08 14:41:32 +09:00
Dean Herbert
78aef9ce86
Merge branch 'master' into remove-stupid-weak-reference-bindable-events 2021-11-08 13:35:49 +09:00
Dean Herbert
54f72d68ca Revert weird event flow in model manager/importers 2021-11-05 19:12:49 +09:00
Dean Herbert
ba74dd93b2 Remove weird fetchOnline logic 2021-11-05 13:55:34 +09:00
Dean Herbert
ead64282dd Split out a couple more nested classes 2021-11-05 13:40:44 +09:00