Files
ClaudeDo/tests/ClaudeDo.Worker.Tests/Usage/TokenTracker/TokenTrackerArgsTests.cs
T

43 lines
1.3 KiB
C#

using ClaudeDo.Worker.Usage.TokenTracker;
namespace ClaudeDo.Worker.Tests.Usage.TokenTracker;
public sealed class TokenTrackerArgsTests
{
[Fact]
public void Export_UsesIsoDatesAndDisablesGitAttribution()
{
var args = TokenTrackerArgs.Export(new DateOnly(2026, 5, 26), new DateOnly(2026, 8, 24));
Assert.Equal(
new[] { "sessions", "--from", "2026-05-26", "--to", "2026-08-24", "--no-git", "--format", "json" },
args);
}
[Fact]
public void Export_IsCultureInvariant()
{
var previous = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de-DE");
try
{
var args = TokenTrackerArgs.Export(new DateOnly(2026, 1, 2), new DateOnly(2026, 1, 3));
Assert.Equal("2026-01-02", args[2]);
Assert.Equal("2026-01-03", args[4]);
}
finally { Thread.CurrentThread.CurrentCulture = previous; }
}
[Fact]
public void Version_AsksTheCliForItsVersion()
{
Assert.Equal(new[] { "-v" }, TokenTrackerArgs.Version());
}
[Fact]
public void Install_InstallsTheCliPackageGlobally()
{
Assert.Equal(new[] { "i", "-g", "tokentracker-cli" }, TokenTrackerArgs.Install());
}
}