|
3 | 3 | using RefreshTests.GameServer.Extensions; |
4 | 4 | using Refresh.Database.Models.Levels; |
5 | 5 | using Refresh.Interfaces.Game.Types.News; |
| 6 | +using Refresh.Database.Models.Activity; |
6 | 7 |
|
7 | 8 | namespace RefreshTests.GameServer.Tests.Users; |
8 | 9 |
|
@@ -37,15 +38,31 @@ public void GetRecentActivity() |
37 | 38 |
|
38 | 39 | using HttpClient client = context.GetAuthenticatedClient(TokenType.Game, user); |
39 | 40 |
|
| 41 | + context.Database.CreateEvent(level, new() |
| 42 | + { |
| 43 | + Actor = user, |
| 44 | + OverType = EventOverType.Activity, |
| 45 | + EventType = EventType.LevelPlay, |
| 46 | + }); |
| 47 | + // Nonsense event, only here to ensure mod events don't appear in-game at all |
| 48 | + context.Database.CreateEvent(level, new() |
| 49 | + { |
| 50 | + Actor = user, |
| 51 | + OverType = EventOverType.Moderation, |
| 52 | + EventType = EventType.LevelFavourite, |
| 53 | + }); |
| 54 | + |
40 | 55 | HttpResponseMessage message = client.GetAsync($"/lbp/stream").Result; |
41 | 56 | Assert.That(message.StatusCode, Is.EqualTo(OK)); |
42 | 57 |
|
43 | 58 | //TODO: once we figure out how to parse ActivityPage here, lets do that instead of this mess |
44 | 59 | string response = message.Content.ReadAsStringAsync().Result; |
45 | 60 |
|
46 | | - //Ensure that the response contains a first login event, and a user |
47 | | - Assert.That(response, Contains.Substring("<event type=\"firstlogin\">")); |
| 61 | + //Ensure that the response contains a play_level event, a user, but none of the other events, as we are in-game |
| 62 | + Assert.That(response, Contains.Substring("<event type=\"play_level\">")); |
48 | 63 | Assert.That(response, Contains.Substring("<user type=\"user\">")); |
| 64 | + Assert.That(response, !Contains.Substring("<event type=\"firstlogin\">")); |
| 65 | + Assert.That(response, !Contains.Substring("<event type=\"heart_level\">")); |
49 | 66 | } |
50 | 67 |
|
51 | 68 | [Test] |
|
0 commit comments