Bartłomiej Dach
54aeeaa529
Add test coverage
2024-10-22 12:29:34 +02:00
Bartłomiej Dach
8b04455c29
Fix chat overlay tests
...
Not entirely sure why they were failing previously, but the most likely
explanation is that by freak accident some mock requests would
previously execute immediately rather than be scheduled on the API
thread, which would change execution ordering and ensure that
`ChannelManager.CurrentChannel` would become the joined channel, rather
than remaining at the channel listing.
2024-08-30 14:57:15 +02:00
Dean Herbert
c8a7727199
Make ID retrieval global to all tests and fix multiple other usages
2024-08-09 17:46:51 +09:00
Dean Herbert
18c80870d8
Update one more RNG usage in same tests
2024-08-09 17:40:48 +09:00
Dean Herbert
0a8e342830
Fix occasionally ChatOverlay
test failures due to RNG usage
...
See https://github.com/ppy/osu/actions/runs/10302758137/job/28517150950 .
Same ID gets chosen twice for PM channel.
2024-08-09 17:38:17 +09:00
Dean Herbert
5e10f9f899
Fix failing tests due to more textboxes being present with searchable dropdowns
2023-12-13 15:11:47 +09:00
Dean Herbert
9015615336
Update test to work with new drag bar location
2023-11-24 19:45:04 +09:00
Bartłomiej Dach
fba3c587cf
Add test coverage for info message failing to display
2023-05-06 15:26:29 +02:00
Dean Herbert
8391e2a538
Move reporting code out of DrawableChatUsername
into more correct locations
2023-05-05 14:03:42 +09:00
cdwcgt
2cb6642b0d
use AddUntilStep or not wait
2023-05-04 13:18:25 +09:00
cdwcgt
25bf4e68ec
remove useless wait
2023-05-03 22:53:13 +09:00
Dean Herbert
b932e4d986
Rename DrawableUsername
to DrawableChatUsername
and only pass message ID
2023-05-03 18:53:22 +09:00
cdwcgt
f01247f1ab
test
2023-03-28 21:41:00 +09:00
cdwcgt
26f2d9047d
code style fix
2023-03-23 01:11:44 +09:00
cdwcgt
8518d15b8d
use endpoint
2023-03-23 01:00:38 +09:00
Dean Herbert
db227b1798
Merge branch 'master' into chat-report
2023-03-22 16:26:28 +09:00
Joseph Madamba
ffd9359f4a
Add tests for chat text box saving / syncing
2022-12-28 15:14:29 -08:00
cdwcgt
1b2c821346
showpopover directly
2022-12-21 15:44:02 +09:00
cdwcgt
b37f1cce3f
Added ability to report chat
2022-12-20 23:46:05 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
dde09d409b
Merge branch 'master' into chat-silences
2022-11-12 21:00:56 +09:00
Dan Balasescu
f688ed12d0
Add test for removing chat messages
2022-11-02 17:00:47 +09:00
Dan Balasescu
695104a666
Fix TestSceneChatOverlay messages not being unique
2022-11-02 16:59:03 +09:00
Dan Balasescu
5b25ef5f2f
Construct notifications client via IAPIProvider
2022-11-01 21:34:34 +09:00
Dan Balasescu
169bcc2654
Use polling connector in tests
2022-10-28 18:08:08 +09:00
Dean Herbert
2352636bf2
Fix ID clash with announce and PM channels in chat overlay tests
...
Yet Another Issue.
https://github.com/ppy/osu/runs/7159306924?check_suite_focus=true
Not sure why announce channel was using a user id for its channel ID.
Bad copy paste?
2022-07-02 13:11:50 +09:00
Dean Herbert
13108155d3
Fix crash on visual esting TestSceneChatOverlay
due to null user
2022-06-30 03:43:56 +09:00
Dean Herbert
ed1b809f54
Add missing request handling to actually join PM channels
2022-06-28 18:11:37 +09:00
Dean Herbert
21d31ee218
Ensure joined channels are actually joined to avoid unexpected tab order
2022-06-28 18:11:37 +09:00
Dean Herbert
c1075d113f
Add logging around current channel changes and join requests
...
Tracking down a flaky test
(https://teamcity.ppy.sh/buildConfiguration/Osu_Build/553?hideProblemsFromDependencies=false&expandBuildTestsSection=true&hideTestsFromDependencies=false ):
```csharp
TearDown : System.TimeoutException : "PM Channel 1 displayed" timed out
--TearDown
at osu.Framework.Testing.Drawables.Steps.UntilStepButton.<>c__DisplayClass11_0.<.ctor>b__0()
at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
--- End of stack trace from previous location ---
at osu.Framework.Testing.TestSceneTestRunner.TestRunner.RunTestBlocking(TestScene test)
at osu.Game.Tests.Visual.OsuTestScene.OsuTestSceneTestRunner.RunTestBlocking(TestScene test) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Tests/Visual/OsuTestScene.cs:line 503
at osu.Framework.Testing.TestScene.RunTestsFromNUnit()
------- Stdout: -------
[runtime] 2022-06-27 23:18:55 [verbose]: 💨 Class: TestSceneChatOverlay
[runtime] 2022-06-27 23:18:55 [verbose]: 🔶 Test: TestKeyboardNextChannel
[runtime] 2022-06-27 23:18:55 [verbose]: Chat is now polling every 60000 ms
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #1 Setup request handler
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #2 Add test channels
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #3 Show overlay with channels
[runtime] 2022-06-27 23:18:55 [verbose]: Unhandled Request Type: osu.Game.Online.API.Requests.CreateChannelRequest
[network] 2022-06-27 23:18:55 [verbose]: Failing request osu.Game.Online.API.Requests.CreateChannelRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-27 23:18:55 [verbose]: Unhandled Request Type: osu.Game.Online.API.Requests.CreateChannelRequest
[network] 2022-06-27 23:18:55 [verbose]: Failing request osu.Game.Online.API.Requests.CreateChannelRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #4 Select channel 1
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #5 Channel 1 is visible
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #6 Press document next keys
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #7 Channel 2 is visible
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #8 Press document next keys
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #9 PM Channel 1 displayed
[network] 2022-06-27 23:18:55 [verbose]: Request to https://a.ppy.sh/587 failed with System.Net.WebException: NotFound.
[network] 2022-06-27 23:18:55 [verbose]: Request to https://a.ppy.sh/503 failed with System.Net.WebException: NotFound.
[runtime] 2022-06-27 23:19:05 [verbose]: 💥 Failed (on attempt 5,550)
[runtime] 2022-06-27 23:19:05 [verbose]: ⏳ Currently loading components (0)
[runtime] 2022-06-27 23:19:05 [verbose]: 🧵 Task schedulers
[runtime] 2022-06-27 23:19:05 [verbose]: LoadComponentsAsync (standard) concurrency:4 running:0 pending:0
[runtime] 2022-06-27 23:19:05 [verbose]: LoadComponentsAsync (long load) concurrency:4 running:0 pending:0
[runtime] 2022-06-27 23:19:05 [verbose]: 🎱 Thread pool
[runtime] 2022-06-27 23:19:05 [verbose]: worker: min 1 max 32,767 available 32,766
[runtime] 2022-06-27 23:19:05 [verbose]: completion: min 1 max 1,000 available 1,000
[runtime] 2022-06-27 23:19:05 [debug]: Focus on "ChatTextBox" no longer valid as a result of unfocusIfNoLongerValid.
[runtime] 2022-06-27 23:19:05 [debug]: Focus changed from ChatTextBox to nothing.
```
This kind of logging should be helpful:
```csharp
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #5 Channel 1 is visible
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #6 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to #channel-2
[runtime] 2022-06-28 04:59:57 [debug]: Pressed (DocumentNext) handled by TestSceneChatOverlay+TestChatOverlay.
[runtime] 2022-06-28 04:59:57 [debug]: KeyDownEvent(PageDown, False) handled by ManualInputManager+LocalPlatformActionContainer.
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #7 Channel 2 is visible
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #8 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to test user 685
[runtime] 2022-06-28 04:59:57 [debug]: Pressed (DocumentNext) handled by TestSceneChatOverlay+TestChatOverlay.
[runtime] 2022-06-28 04:59:57 [debug]: KeyDownEvent(PageDown, False) handled by ManualInputManager+LocalPlatformActionContainer.
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #9 PM Channel 1 displayed
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #10 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to test user 218
```
2022-06-28 14:00:30 +09:00
Dean Herbert
13dcaf82ad
Fix chat tests failing 1/10000 runs
...
31a447fda0/osu.Game/Online/Chat/ChannelManager.cs (L412-L414)
Sigh.
2022-06-27 16:50:10 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
c661f2b059
Ensure ChannelManager
has access to API from point of construction
...
Closes https://github.com/ppy/osu/issues/18451 .
2022-06-08 19:15:23 +09:00
Jai Sharma
2f635fa854
Refactor ChatLine
and fix DrawableChannel
flow padding
...
Refactors `ChatLine` component to use more sensible override properties
and layout using grid container. Moves creation of username component
into its own method to simplify BDL.
Updates padding of base `DrawableChannel` flow padding.
Removes usage of `ChatOverlayDrawableChannel` since it's overrides are
no longer needed.
Updates usage of `StandAloneChatDisplay` to use new override properties
of `DrawableChannel`.
2022-06-07 22:35:45 +01:00
Dean Herbert
0981d415a1
Select correct channel regardless of load order
2022-05-30 17:57:48 +09:00
Dean Herbert
f65d2db77f
Remove "V2" suffix from ChatOverlay
components
2022-05-30 17:54:09 +09:00
Jai Sharma
8f596520f3
Remove old chat overlay components
2022-05-29 20:08:43 +01:00
Salman Ahmed
34adc1d410
Add quick test coverage
2022-04-08 19:21:37 +03: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
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
Salman Ahmed
d4de435eb2
Add test case for highlighting while chat overlay is hidden
2022-03-10 02:50:27 +03:00
Salman Ahmed
741702549b
Add test coverage for chat overlay message highlighting
2022-03-07 05:10:49 +03:00
Dan Balasescu
488374b4a2
Don't show multiplayer channels in chat overlay
2021-12-16 16:41:47 +09:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
0ecf5f201c
Rename User
to APIUser
and move to correct namespace
2021-11-07 11:26:01 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Bartłomiej Dach
00732822c3
Replace insufficiently specific exception type
...
Resolves compilation failures for the newly-added Android build-only CI
job caused by inspection CA2201 ("Exception type System.Exception is not
sufficiently specific").
2021-10-24 17:45:39 +02:00
Bartłomiej Dach
12da27cde7
Add test coverage for loading process on channel join
2021-10-05 20:52:40 +02:00
Bartłomiej Dach
3467b1f60c
Retouch chat command test slightly
2021-09-12 13:00:52 +02:00