Browse Source

Added MVC validation test.

pull/625/head
Halil ibrahim Kalkan 8 years ago
parent
commit
1a8076cc60
  1. 2
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationException.cs
  2. 2
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/IHasValidationErrors.cs
  3. 8
      framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs
  4. 3
      framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/en.json
  5. 3
      framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/tr.json
  6. 12
      framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Validation/ValidationTestController_Tests.cs

2
framework/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationException.cs

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

2
framework/src/Volo.Abp.Validation/Volo/Abp/Validation/IHasValidationErrors.cs

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

8
framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs

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

3
framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/en.json

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

3
framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/tr.json

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

12
framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Validation/ValidationTestController_Tests.cs

@ -2,6 +2,7 @@
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Http;
using Volo.Abp.Localization;
using Xunit;
namespace Volo.Abp.AspNetCore.Mvc.Validation
@ -22,6 +23,17 @@ namespace Volo.Abp.AspNetCore.Mvc.Validation
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]
public async Task Should_Not_Validate_Action_Result_Success()
{

Loading…
Cancel
Save