-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathFluentValidationAutoValidationValidationVisitorTest.cs
More file actions
48 lines (43 loc) · 1.79 KB
/
FluentValidationAutoValidationValidationVisitorTest.cs
File metadata and controls
48 lines (43 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Abstractions;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using Microsoft.AspNetCore.Routing;
using NSubstitute;
using SharpGrip.FluentValidation.AutoValidation.Mvc.Validation;
using Xunit;
namespace SharpGrip.FluentValidation.AutoValidation.Tests.FluentValidation.AutoValidation.Mvc.Validation;
public class FluentValidationAutoValidationValidationVisitorTest
{
[Fact]
public void TestGetValidationVisitor()
{
var modelMetadataProvider = Substitute.For<IModelMetadataProvider>();
var actionContext = Substitute.For<ActionContext>();
var httpContext = Substitute.For<HttpContext>();
var routeData = Substitute.For<RouteData>();
var actionDescriptor = Substitute.For<ActionDescriptor>();
actionContext.HttpContext = httpContext;
actionContext.RouteData = routeData;
actionContext.ActionDescriptor = actionDescriptor;
var modelValidatorProvider = Substitute.For<IModelValidatorProvider>();
var validatorCache = Substitute.For<ValidatorCache>();
var fluentValidationAutoValidationObjectModelValidator =
new FluentValidationAutoValidationValidationVisitor(
actionContext,
modelValidatorProvider,
validatorCache,
modelMetadataProvider,
null,
true);
#if NETCOREAPP3_1
Assert.True(fluentValidationAutoValidationObjectModelValidator.Validate(null, null, new TestModel(), true));
#else
Assert.True(fluentValidationAutoValidationObjectModelValidator.Validate(null, null, new TestModel(), true, null));
#endif
}
private class TestModel
{
}
}