Added new BumperEndpoints to the API for managing bumper templates and variants, enhancing the channel management capabilities. Removed outdated bumper-related commands and handlers from the application, streamlining the codebase and improving maintainability. Updated ChannelEndpoints to reflect these changes and ensure proper routing for the new endpoints.
67 lines
2.1 KiB
C#
67 lines
2.1 KiB
C#
using TeleWave.Domain.Broadcast;
|
|
using Xunit;
|
|
|
|
namespace TeleWave.Domain.Tests.Broadcast;
|
|
|
|
public class BumperTextVariantTests
|
|
{
|
|
private static BumperTextVariant NewVariant() =>
|
|
BumperTemplate.Create("b", "Текст 1").AddVariant("Text");
|
|
|
|
[Fact]
|
|
public void Create_HasDefaults()
|
|
{
|
|
var v = NewVariant();
|
|
|
|
Assert.Equal(BumperTextVariant.DefaultWeight, v.Weight);
|
|
Assert.Equal(BumperTrigger.OnShowChange, v.Trigger);
|
|
Assert.Equal(BumperBackground.NextPoster, v.Background);
|
|
Assert.Empty(v.Lines);
|
|
}
|
|
|
|
[Fact]
|
|
public void Update_SetsFields_AndClampsNegativeWeightToZero()
|
|
{
|
|
var v = NewVariant();
|
|
|
|
v.Update("Name", BumperTrigger.Both, BumperBackground.Template, -5);
|
|
|
|
Assert.Equal("Name", v.Name);
|
|
Assert.Equal(BumperTrigger.Both, v.Trigger);
|
|
Assert.Equal(BumperBackground.Template, v.Background);
|
|
Assert.Equal(0, v.Weight);
|
|
}
|
|
|
|
[Fact]
|
|
public void SetLines_ReplacesAndRenumbers()
|
|
{
|
|
var v = NewVariant();
|
|
|
|
v.SetLines([
|
|
BumperLine.Create(7, BumperLineStyle.Label, BumperLineColor.Accent, " ДАЛЕЕ "),
|
|
BumperLine.Create(9, BumperLineStyle.Title, BumperLineColor.Text, "{next.title}"),
|
|
]);
|
|
|
|
Assert.Equal([0, 1], v.Lines.Select(l => l.Position));
|
|
Assert.Equal("ДАЛЕЕ", v.Lines[0].Text);
|
|
|
|
v.SetLines([BumperLine.Create(0, BumperLineStyle.Title, BumperLineColor.Text, "один")]);
|
|
Assert.Single(v.Lines);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(BumperTrigger.OnShowChange, true, true)]
|
|
[InlineData(BumperTrigger.OnShowChange, false, false)]
|
|
[InlineData(BumperTrigger.BetweenEpisodes, true, false)]
|
|
[InlineData(BumperTrigger.BetweenEpisodes, false, true)]
|
|
[InlineData(BumperTrigger.Both, true, true)]
|
|
[InlineData(BumperTrigger.Both, false, true)]
|
|
public void Matches_FollowsTrigger(BumperTrigger trigger, bool isShowChange, bool expected)
|
|
{
|
|
var v = NewVariant();
|
|
v.Update("n", trigger, BumperBackground.Template, 1);
|
|
|
|
Assert.Equal(expected, v.Matches(isShowChange));
|
|
}
|
|
}
|