using ZB.MOM.WW.LmxProxy.Client.Domain;

namespace ZB.MOM.WW.LmxProxy.Client.IntegrationTests;

public class WriteBatchAndWaitTests : IntegrationTestBase
{
    [Fact]
    public async Task WriteBatchAndWait_TypeAwareComparison()
    {
        var values = new Dictionary<string, TypedValue>
        {
            ["TestChildObject.TestString"] = new TypedValue { StringValue = "BatchTest" }
        };

        var response = await Client!.WriteBatchAndWaitAsync(
            values,
            flagTag: "TestChildObject.TestString",
            flagValue: new TypedValue { StringValue = "BatchTest" },
            timeoutMs: 5000,
            pollIntervalMs: 200);

        Assert.True(response.Success);
        Assert.True(response.FlagReached);
        Assert.True(response.ElapsedMs < 5000);
    }
}
