diff --git a/Content.IntegrationTests/Tests/GameObjects/Components/Mobs/AlertsComponentTests.cs b/Content.IntegrationTests/Tests/GameObjects/Components/Mobs/AlertsComponentTests.cs index 73c531ea24..1d20929b2d 100644 --- a/Content.IntegrationTests/Tests/GameObjects/Components/Mobs/AlertsComponentTests.cs +++ b/Content.IntegrationTests/Tests/GameObjects/Components/Mobs/AlertsComponentTests.cs @@ -24,40 +24,47 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components.Mobs var serverPlayerManager = server.ResolveDependency(); var alertsSystem = server.ResolveDependency().GetEntitySystem(); + EntityUid playerUid = default; await server.WaitAssertion(() => { - var playerEnt = serverPlayerManager.Sessions.Single().AttachedEntity.GetValueOrDefault(); - Assert.That(playerEnt != default); - var alertsComponent = IoCManager.Resolve().GetComponent(playerEnt); - Assert.NotNull(alertsComponent); + playerUid = serverPlayerManager.Sessions.Single().AttachedEntity.GetValueOrDefault(); + Assert.That(playerUid != default); + // Making sure it exists + _ = IoCManager.Resolve().GetComponent(playerUid); - // show 2 alerts - alertsSystem.ShowAlert(alertsComponent.Owner, AlertType.Debug1, null, null); - alertsSystem.ShowAlert(alertsComponent.Owner, AlertType.Debug2, null, null); + var alerts = alertsSystem.GetActiveAlerts(playerUid); + Assert.IsNotNull(alerts); + var alertCount = alerts.Count; + + alertsSystem.ShowAlert(playerUid, AlertType.Debug1); + alertsSystem.ShowAlert(playerUid, AlertType.Debug2); + + Assert.AreEqual(alertCount + 2, alerts.Count); }); - await server.WaitRunTicks(5); - await client.WaitRunTicks(5); - var clientPlayerMgr = client.ResolveDependency(); - var clientUIMgr = client.ResolveDependency(); + await PoolManager.RunTicksSync(pairTracker.Pair, 5); + + AlertsUI clientAlertsUI = default; await client.WaitAssertion(() => { + var clientPlayerMgr = IoCManager.Resolve(); + var clientUIMgr = IoCManager.Resolve(); var local = clientPlayerMgr.LocalPlayer; Assert.NotNull(local); var controlled = local.ControlledEntity; Assert.NotNull(controlled); - var alertsComponent = IoCManager.Resolve().GetComponent(controlled.Value); - Assert.NotNull(alertsComponent); + // Making sure it exists + _ = IoCManager.Resolve().GetComponent(controlled.Value); // find the alertsui - var alertsUI = + clientAlertsUI = clientUIMgr.StateRoot.Children.FirstOrDefault(c => c is AlertsUI) as AlertsUI; - Assert.NotNull(alertsUI); + Assert.NotNull(clientAlertsUI); // we should be seeing 3 alerts - our health, and the 2 debug alerts, in a specific order. - Assert.That(alertsUI.AlertContainer.ChildCount, Is.GreaterThanOrEqualTo(3)); - var alertControls = alertsUI.AlertContainer.Children.Select(c => (AlertControl) c); + Assert.That(clientAlertsUI.AlertContainer.ChildCount, Is.GreaterThanOrEqualTo(3)); + var alertControls = clientAlertsUI.AlertContainer.Children.Select(c => (AlertControl) c); var alertIDs = alertControls.Select(ac => ac.Alert.AlertType).ToArray(); var expectedIDs = new [] {AlertType.HumanHealth, AlertType.Debug1, AlertType.Debug2}; Assert.That(alertIDs, Is.SupersetOf(expectedIDs)); @@ -65,38 +72,21 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components.Mobs await server.WaitAssertion(() => { - var playerEnt = serverPlayerManager.Sessions.Single().AttachedEntity.GetValueOrDefault(); - Assert.That(playerEnt, Is.Not.EqualTo(default)); - var alertsComponent = IoCManager.Resolve().GetComponent(playerEnt); - Assert.NotNull(alertsComponent); - - alertsSystem.ClearAlert(alertsComponent.Owner, AlertType.Debug1); + alertsSystem.ClearAlert(playerUid, AlertType.Debug1); }); await PoolManager.RunTicksSync(pairTracker.Pair, 5); await client.WaitAssertion(() => { - - var local = clientPlayerMgr.LocalPlayer; - Assert.NotNull(local); - var controlled = local.ControlledEntity; - Assert.NotNull(controlled); - var alertsComponent = IoCManager.Resolve().GetComponent(controlled.Value); - Assert.NotNull(alertsComponent); - - // find the alertsui - var alertsUI = - clientUIMgr.StateRoot.Children.FirstOrDefault(c => c is AlertsUI) as AlertsUI; - Assert.NotNull(alertsUI); - // we should be seeing 2 alerts now because one was cleared - Assert.That(alertsUI.AlertContainer.ChildCount, Is.GreaterThanOrEqualTo(2)); - var alertControls = alertsUI.AlertContainer.Children.Select(c => (AlertControl) c); + Assert.That(clientAlertsUI.AlertContainer.ChildCount, Is.GreaterThanOrEqualTo(2)); + var alertControls = clientAlertsUI.AlertContainer.Children.Select(c => (AlertControl) c); var alertIDs = alertControls.Select(ac => ac.Alert.AlertType).ToArray(); var expectedIDs = new [] {AlertType.HumanHealth, AlertType.Debug2}; Assert.That(alertIDs, Is.SupersetOf(expectedIDs)); }); + await pairTracker.CleanReturnAsync(); } } diff --git a/Content.IntegrationTests/Tests/GameRules/StartEndGameRulesTest.cs b/Content.IntegrationTests/Tests/GameRules/StartEndGameRulesTest.cs index 2e9f31f6bb..6f6965fea2 100644 --- a/Content.IntegrationTests/Tests/GameRules/StartEndGameRulesTest.cs +++ b/Content.IntegrationTests/Tests/GameRules/StartEndGameRulesTest.cs @@ -18,7 +18,7 @@ public sealed class StartEndGameRulesTest [Test] public async Task Test() { - await using var pairTracker = await PoolManager.GetServerClient(); + await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings(){Dirty = true}); var server = pairTracker.Pair.Server; await server.WaitAssertion(() =>