Added MVC validation test.

pull/625/head
Halil ibrahim Kalkan 7 years ago
parent 89fe6f20cd
commit 1a8076cc60

@ -20,7 +20,7 @@ namespace Volo.Abp.Validation
/// <summary> /// <summary>
/// Detailed list of validation errors for this exception. /// Detailed list of validation errors for this exception.
/// </summary> /// </summary>
public IList<ValidationResult> ValidationErrors { get; set; } public IList<ValidationResult> ValidationErrors { get; }
/// <summary> /// <summary>
/// Exception severity. /// Exception severity.

@ -5,6 +5,6 @@ namespace Volo.Abp.Validation
{ {
public interface IHasValidationErrors public interface IHasValidationErrors
{ {
IList<ValidationResult> ValidationErrors { get; set; } IList<ValidationResult> ValidationErrors { get; }
} }
} }

@ -1,4 +1,5 @@
using System; using System;
using Localization.Resources.AbpUi;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Modularity; using Volo.Abp.AspNetCore.Modularity;
@ -9,9 +10,11 @@ using Volo.Abp.AspNetCore.TestBase;
using Volo.Abp.Authorization.Permissions; using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Autofac; using Volo.Abp.Autofac;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using Volo.Abp.Localization.Resources.AbpValidation;
using Volo.Abp.MemoryDb; using Volo.Abp.MemoryDb;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.TestApp; using Volo.Abp.TestApp;
using Volo.Abp.UI;
using Volo.Abp.VirtualFileSystem; using Volo.Abp.VirtualFileSystem;
namespace Volo.Abp.AspNetCore.Mvc namespace Volo.Abp.AspNetCore.Mvc
@ -70,7 +73,10 @@ namespace Volo.Abp.AspNetCore.Mvc
{ {
options.Resources options.Resources
.Add<MvcTestResource>("en") .Add<MvcTestResource>("en")
.AddVirtualJson("/Volo/Abp/AspNetCore/Mvc/Localization/Resource"); .AddBaseTypes(
typeof(AbpUiResource),
typeof(AbpValidationResource)
).AddVirtualJson("/Volo/Abp/AspNetCore/Mvc/Localization/Resource");
}); });
} }

@ -1,6 +1,7 @@
{ {
"culture": "en", "culture": "en",
"texts": { "texts": {
"BirthDate": "Birth date" "BirthDate": "Birth date",
"Value1": "Value One"
} }
} }

@ -1,6 +1,7 @@
{ {
"culture": "tr", "culture": "tr",
"texts": { "texts": {
"BirthDate": "Dogum gunu" "BirthDate": "Dogum gunu",
"Value1": "Değer Bir"
} }
} }

@ -2,6 +2,7 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Shouldly; using Shouldly;
using Volo.Abp.Http; using Volo.Abp.Http;
using Volo.Abp.Localization;
using Xunit; using Xunit;
namespace Volo.Abp.AspNetCore.Mvc.Validation namespace Volo.Abp.AspNetCore.Mvc.Validation
@ -22,6 +23,17 @@ namespace Volo.Abp.AspNetCore.Mvc.Validation
result.Error.ValidationErrors.Length.ShouldBeGreaterThan(0); result.Error.ValidationErrors.Length.ShouldBeGreaterThan(0);
} }
[Fact]
public async Task Should_Return_Localized_Validation_Errors()
{
using (AbpCultureHelper.Use("tr"))
{
var result = await GetResponseAsObjectAsync<RemoteServiceErrorResponse>("/api/validation-test/object-result-action?value1=a", HttpStatusCode.BadRequest); //value1 has min length of 2 chars.
result.Error.ValidationErrors.Length.ShouldBeGreaterThan(0);
result.Error.ValidationErrors[0].Message.ShouldBe("Değer Bir alanı en az '2' uzunluğunda bir metin ya da dizi olmalıdır.");
}
}
[Fact] [Fact]
public async Task Should_Not_Validate_Action_Result_Success() public async Task Should_Not_Validate_Action_Result_Success()
{ {

Loading…
Cancel
Save