Files
TeleWave/backend/tests/TeleWave.Domain.Tests/Broadcast/BumperTextVariantTests.cs
T
Leonid Pershin ba3721eb92
ci / build-backend (push) Successful in 1m39s
ci / build-frontend (push) Failing after 26s
ci / tests (push) Skipped
ci / sonar (push) Skipped
Implement BumperEndpoints and remove deprecated bumper-related functionality
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.
2026-07-27 22:01:56 +03:00

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));
}
}