Files
TeleWave/backend/tests/TeleWave.Application.Tests/Validators/ValidatorTests.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

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