Files
tbd-station-14/Content.IntegrationTests/Tests/Cleanup/EuiManagerTest.cs
2023-06-07 21:08:52 +10:00

35 lines
1.1 KiB
C#

using System.Linq;
using System.Threading.Tasks;
using Content.Server.Administration.UI;
using Content.Server.EUI;
using NUnit.Framework;
using Robust.Server.Player;
using Robust.Shared.IoC;
namespace Content.IntegrationTests.Tests.Cleanup;
public sealed class EuiManagerTest
{
[Test]
public async Task EuiManagerRecycleWithOpenWindowTest()
{
// Even though we are using the server EUI here, we actually want to see if the client EUIManager crashes
for (int i = 0; i < 2; i++)
{
await using var pairTracker = await PoolManager.GetServerClient(new PoolSettings{Dirty = true});
var server = pairTracker.Pair.Server;
var sPlayerManager = server.ResolveDependency<IPlayerManager>();
var eui = server.ResolveDependency<EuiManager>();
await server.WaitAssertion(() =>
{
var clientSession = sPlayerManager.ServerSessions.Single();
var ui = new AdminAnnounceEui();
eui.OpenEui(ui, clientSession);
});
await pairTracker.CleanReturnAsync();
}
}
}