using System.Reflection;
using Jiaowu.Api.Controllers;

namespace Jiaowu.Api.Tests;

public sealed class SystemControllerTests
{
    [Fact]
    public void GetVersion_ReturnsConfiguredApplicationVersion()
    {
        var response = new SystemController().GetVersion();
        var configuredVersion = typeof(SystemController).Assembly
            .GetCustomAttribute<AssemblyInformationalVersionAttribute>()!
            .InformationalVersion
            .Split('+', 2)[0];

        Assert.Equal(configuredVersion, response.Version);
        Assert.Matches(@"^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$", response.Version);
    }
}
