#17276: Fixing email validation

--HG--
branch : dev
This commit is contained in:
Sebastien Ros
2011-02-07 17:26:00 -08:00
parent b53f2e6a36
commit 396632dbce
8 changed files with 181 additions and 30 deletions

View File

@@ -154,7 +154,20 @@ namespace Orchard.Tests.Modules.Users.Controllers {
}
[Test]
public void UsersShouldNotBeAbleToRegisterIfInvalidEmail() {
public void UsersShouldNotBeAbleToRegisterIfInvalidEmail(
[Values(
@"NotAnEmail",
@"@NotAnEmail",
@"""test\blah""@example.com",
"\"test\rblah\"@example.com",
@"""test""blah""@example.com",
@".wooly@example.com",
@"wo..oly@example.com",
@"pootietang.@example.com",
@".@example.com",
@"Ima Fool@example.com")]
string email) {
var registrationSettings = _container.Resolve<IWorkContextAccessor>().GetContext().CurrentSite.As<RegistrationSettingsPart>();
registrationSettings.UsersCanRegister = true;
@@ -164,13 +177,29 @@ namespace Orchard.Tests.Modules.Users.Controllers {
_session.Flush();
_controller.ModelState.Clear();
var result = _controller.Register("bar", "notanemailaddress", "66554321", "66554321");
var result = _controller.Register("bar", email, "66554321", "66554321");
Assert.That(((ViewResult)result).ViewData.ModelState.Count == 1,"Invalid email address.");
}
[Test]
public void UsersShouldBeAbleToRegisterIfValidEmail() {
public void UsersShouldBeAbleToRegisterIfValidEmail(
[Values(
@"""test\\blah""@example.com",
"\"test\\\rblah\"@example.com",
@"""test\""blah""@example.com",
@"customer/department@example.com",
@"$A12345@example.com",
@"!def!xyz%abc@example.com",
@"_Yosemite.Sam@example.com",
@"~@example.com",
@"""Austin@Powers""@example.com",
@"Ima.Fool@example.com",
@"""Ima.Fool""@example.com",
@"""Ima Fool""@example.com"
)]
string email)
{
var registrationSettings = _container.Resolve<IWorkContextAccessor>().GetContext().CurrentSite.As<RegistrationSettingsPart>();
registrationSettings.UsersCanRegister = true;
@@ -180,7 +209,7 @@ namespace Orchard.Tests.Modules.Users.Controllers {
_session.Flush();
_controller.ModelState.Clear();
var result = _controller.Register("bar", "t@t.com", "password", "password");
var result = _controller.Register("bar", email, "password", "password");
Assert.That(result, Is.TypeOf<RedirectResult>());
Assert.That(((RedirectResult)result).Url, Is.EqualTo("~/"));