using Dpz.Core.MessageQueue.Models;

namespace Dpz.Core.MessageQueue.Test.Models;

public class MessageHandlerResultTests
{
    [Fact]
    public void Ok_ShouldCreateSuccessfulResult()
    {
        var metadata = new Dictionary<string, object> { ["traceId"] = "abc" };

        var result = MessageHandlerResult<string>.Ok("done", metadata);

        Assert.True(result.Success);
        Assert.Equal("done", result.Data);
        Assert.Null(result.ErrorMessage);
        Assert.Same(metadata, result.Metadata);
    }

    [Fact]
    public void Fail_ShouldCreateFailedResult()
    {
        var metadata = new Dictionary<string, object> { ["reasonCode"] = 500 };

        var result = MessageHandlerResult<int>.Fail("error", metadata);

        Assert.False(result.Success);
        Assert.Equal("error", result.ErrorMessage);
        Assert.Equal(metadata, result.Metadata);
        Assert.Equal(default, result.Data);
    }
}
评论加载中...