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:
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user