Files
tbd-station-14/Content.IntegrationTests/Tests/Hands/HandTests.cs
metalgearsloth a9502be29e Revert "Fix chat bubbles (#25643)" (#25645)
* Revert "Fix chat bubbles (#25643)"

This reverts commit 23d2c4d924.

* Revert "Fixes obsolete Transform warnings in Content. (#25256)"

This reverts commit f284b43ff6.
2024-02-28 00:51:20 +11:00

59 lines
1.9 KiB
C#

using System.Linq;
using Content.Shared.Hands.Components;
using Content.Shared.Hands.EntitySystems;
using Robust.Server.Player;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
namespace Content.IntegrationTests.Tests.Hands;
[TestFixture]
public sealed class HandTests
{
[Test]
public async Task TestPickupDrop()
{
await using var pair = await PoolManager.GetServerClient(new PoolSettings
{
Connected = true,
DummyTicker = false
});
var server = pair.Server;
var entMan = server.ResolveDependency<IEntityManager>();
var playerMan = server.ResolveDependency<IPlayerManager>();
var mapMan = server.ResolveDependency<IMapManager>();
var sys = entMan.System<SharedHandsSystem>();
var data = await pair.CreateTestMap();
await pair.RunTicksSync(5);
EntityUid item = default;
EntityUid player = default;
HandsComponent hands = default!;
await server.WaitPost(() =>
{
player = playerMan.Sessions.First().AttachedEntity!.Value;
var xform = entMan.GetComponent<TransformComponent>(player);
item = entMan.SpawnEntity("Crowbar", xform.MapPosition);
hands = entMan.GetComponent<HandsComponent>(player);
sys.TryPickup(player, item, hands.ActiveHand!);
});
// run ticks here is important, as errors may happen within the container system's frame update methods.
await pair.RunTicksSync(5);
Assert.That(hands.ActiveHandEntity, Is.EqualTo(item));
await server.WaitPost(() =>
{
sys.TryDrop(player, item, null!);
});
await pair.RunTicksSync(5);
Assert.That(hands.ActiveHandEntity, Is.Null);
await server.WaitPost(() => mapMan.DeleteMap(data.MapId));
await pair.CleanReturnAsync();
}
}