#19256: Performing check on Create Role to make sure it does not duplicate on create

Work Item: 19256

--HG--
branch : 1.x
This commit is contained in:
Nicholas Mayne
2013-06-06 11:16:22 +01:00
parent c4249dfd39
commit adaa356e39
2 changed files with 18 additions and 0 deletions

View File

@@ -86,5 +86,20 @@ namespace Orchard.Tests.Modules.Roles.Services {
Assert.That(result.Count(), Is.EqualTo(4)); Assert.That(result.Count(), Is.EqualTo(4));
} }
} }
[Test]
public void ShouldNotCreateARoleTwice() {
var service = _container.Resolve<IRoleService>();
service.CreateRole("one");
service.CreateRole("two");
service.CreateRole("one");
ClearSession();
var roles = service.GetRoles();
Assert.That(roles.Count(), Is.EqualTo(2));
Assert.That(roles, Has.Some.Property("Name").EqualTo("one"));
Assert.That(roles, Has.Some.Property("Name").EqualTo("two"));
}
} }
} }

View File

@@ -56,6 +56,9 @@ namespace Orchard.Roles.Services {
} }
public void CreateRole(string roleName) { public void CreateRole(string roleName) {
if (GetRoleByName(roleName) != null)
return;
_roleRepository.Create(new RoleRecord { Name = roleName }); _roleRepository.Create(new RoleRecord { Name = roleName });
TriggerSignal(); TriggerSignal();
} }