You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
61 lines
1.6 KiB
using FluentValidation;
|
|
using FluentValidation.Results;
|
|
using Recyclarr.Common.FluentValidation;
|
|
using Recyclarr.Config.Parsing;
|
|
using Recyclarr.Tests.TestLibrary;
|
|
|
|
namespace Recyclarr.Tests.Config.Parsing;
|
|
|
|
[TestFixture]
|
|
public class ConfigValidationExecutorTest
|
|
{
|
|
[Test, AutoMockData]
|
|
public void Return_false_on_validation_failure(
|
|
[Frozen] IRuntimeValidationService validationService,
|
|
ConfigValidationExecutor sut
|
|
)
|
|
{
|
|
validationService
|
|
.Validate(default!)
|
|
.ReturnsForAnyArgs(
|
|
new ValidationResult([new ValidationFailure("property", "message")])
|
|
);
|
|
|
|
var result = sut.Validate(NewConfig.Radarr());
|
|
|
|
result.Should().BeFalse();
|
|
}
|
|
|
|
[Test, AutoMockData]
|
|
public void Return_true_when_severity_is_warning(
|
|
[Frozen] IRuntimeValidationService validationService,
|
|
ConfigValidationExecutor sut
|
|
)
|
|
{
|
|
validationService
|
|
.Validate(default!)
|
|
.ReturnsForAnyArgs(
|
|
new ValidationResult(
|
|
[new ValidationFailure("property", "message") { Severity = Severity.Warning }]
|
|
)
|
|
);
|
|
|
|
var result = sut.Validate(NewConfig.Radarr());
|
|
|
|
result.Should().BeTrue();
|
|
}
|
|
|
|
[Test, AutoMockData]
|
|
public void Valid_returns_true(
|
|
[Frozen] IRuntimeValidationService validationService,
|
|
ConfigValidationExecutor sut
|
|
)
|
|
{
|
|
validationService.Validate(default!).ReturnsForAnyArgs(new ValidationResult());
|
|
|
|
var result = sut.Validate(NewConfig.Radarr());
|
|
|
|
result.Should().BeTrue();
|
|
}
|
|
}
|