Files
TeleWave/backend/tests/TeleWave.Application.Tests/Validators/ValidatorTests.cs
T
Leonid Pershin 7a164dbd90
ci / build-backend (push) Successful in 1m18s
ci / build-frontend (push) Successful in 39s
ci / tests (push) Successful in 1m22s
ci / sonar (push) Successful in 3m41s
Enhance channel settings to include icon image support for IPTV
Updated the Channel and related DTOs to incorporate an optional IconImageId property, allowing for the specification of a channel icon for external IPTV players. Modified the UpdateChannelSettings command and its handler to accommodate this new property. Adjusted frontend components to manage the icon image, including selection and display functionality. Updated localization files to support new UI elements related to the IPTV icon. This enhancement improves the user experience by providing a visual representation of channels in IPTV applications.
2026-08-02 17:07:24 +03:00

91 lines
3.2 KiB
C#

using TeleWave.Application.Admin.Users.CreateUser;
using TeleWave.Application.Admin.Users.ResetPassword;
using TeleWave.Application.Broadcast;
using TeleWave.Application.Broadcast.Bumpers;
using TeleWave.Application.Broadcast.UpdateChannelSettings;
using TeleWave.Domain.Broadcast;
using Xunit;
namespace TeleWave.Application.Tests.Validators;
public class ValidatorTests
{
[Fact]
public void UpdateBumperVariant_ChecksNameWeightAndLines()
{
var v = new UpdateBumperVariantCommandValidator();
var good = new UpdateBumperVariantCommand(
Guid.NewGuid(),
Guid.NewGuid(),
new BumperVariantInput(
"Name",
BumperTrigger.Both,
BumperBackground.NextPoster,
3,
[new BumperLineDto(BumperLineStyle.Title, BumperLineColor.Text, "{next.title}")]
)
);
Assert.True(v.Validate(good).IsValid);
Assert.False(v.Validate(Patch(good, input => input with { Name = "" })).IsValid);
Assert.False(v.Validate(Patch(good, input => input with { Weight = -1 })).IsValid);
Assert.False(
v.Validate(
Patch(
good,
input =>
input with
{
Lines =
[
new BumperLineDto(
BumperLineStyle.Title,
BumperLineColor.Text,
new string('x', 121)
),
],
}
)
).IsValid
);
}
private static UpdateBumperVariantCommand Patch(
UpdateBumperVariantCommand command,
Func<BumperVariantInput, BumperVariantInput> change
) => command with { Input = change(command.Input) };
[Fact]
public void UpdateChannelSettings_ChecksRanges()
{
var v = new UpdateChannelSettingsCommandValidator();
var good = new UpdateChannelSettingsCommand(Guid.NewGuid(), "Name", true, null, null);
Assert.True(v.Validate(good).IsValid);
Assert.False(v.Validate(good with { Name = "" }).IsValid);
}
[Fact]
public void ResetUserPassword_RequiresMinLength()
{
var v = new ResetUserPasswordCommandValidator();
Assert.True(v.Validate(new ResetUserPasswordCommand(Guid.NewGuid(), "Password1")).IsValid);
Assert.False(v.Validate(new ResetUserPasswordCommand(Guid.NewGuid(), "short")).IsValid);
Assert.False(v.Validate(new ResetUserPasswordCommand(Guid.Empty, "Password1")).IsValid);
}
[Fact]
public void CreateUser_ChecksNameAndPassword()
{
var v = new CreateUserCommandValidator();
Assert.True(v.Validate(new CreateUserCommand("bob", "Password1", Guid.NewGuid())).IsValid);
Assert.False(v.Validate(new CreateUserCommand("ab", "Password1", Guid.NewGuid())).IsValid);
Assert.False(v.Validate(new CreateUserCommand("bob", "short", Guid.NewGuid())).IsValid);
Assert.False(v.Validate(new CreateUserCommand("bob", "Password1", Guid.Empty)).IsValid);
}
}