Add project reference for TeleWave.Infrastructure: include TeleWave.Infrastructure.csproj in TeleWave.Application.Tests project to support additional testing capabilities.

This commit is contained in:
Leonid Pershin
2026-07-25 20:12:04 +03:00
parent ed240ef73c
commit 4611f90d11
18 changed files with 2027 additions and 0 deletions
@@ -0,0 +1,53 @@
using TeleWave.Domain.Library;
using Xunit;
namespace TeleWave.Domain.Tests.Library;
public class ShowEpisodeTests
{
private static ShowEpisode NewEpisode() =>
Show.Create("A", ShowKind.Series).AddEpisode(Guid.NewGuid());
[Fact]
public void SetNumbers_StoresSeasonEpisode()
{
var e = NewEpisode();
e.SetNumbers(3, 7);
Assert.Equal(3, e.Season);
Assert.Equal(7, e.Episode);
}
[Fact]
public void ApplyMetadata_SetsFields_StillOnlyWhenProvided()
{
var e = NewEpisode();
var still = Guid.NewGuid();
var air = new DateOnly(2020, 5, 1);
e.ApplyMetadata("Title", "Overview", still, air);
Assert.Equal("Title", e.Title);
Assert.Equal("Overview", e.Overview);
Assert.Equal(still, e.StillImageId);
Assert.Equal(air, e.AirDate);
// Повторно без кадра — существующий не затирается.
e.ApplyMetadata("T2", "O2", null, null);
Assert.Equal(still, e.StillImageId);
Assert.Equal("T2", e.Title);
}
[Fact]
public void ClearMetadata_ResetsAll()
{
var e = NewEpisode();
e.ApplyMetadata("T", "O", Guid.NewGuid(), new DateOnly(2020, 1, 1));
e.ClearMetadata();
Assert.Null(e.Title);
Assert.Null(e.Overview);
Assert.Null(e.StillImageId);
Assert.Null(e.AirDate);
}
}