Updated UserService, didn't need one of the methods on there, updated the unit tests to test all the other methods.
This commit is contained in:
@@ -7,6 +7,11 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
IProfile GetProfileById(int id);
|
||||
IProfile GetProfileByUserName(string username);
|
||||
IUser GetUserByUserName(string username);
|
||||
IUser GetUserById(int id);
|
||||
|
||||
/// <summary>
|
||||
/// This is useful when an entire section is removed from config
|
||||
/// </summary>
|
||||
/// <param name="sectionAlias"></param>
|
||||
void DeleteSectionFromAllUsers(string sectionAlias);
|
||||
}
|
||||
}
|
||||
@@ -227,46 +227,13 @@ namespace Umbraco.Core.Persistence.Repositories
|
||||
|
||||
public IUser GetUserByUserName(string username)
|
||||
{
|
||||
var sql = GetBaseQuery(false);
|
||||
sql.Where("umbracoUser.userLogin = @Username", new { Username = username });
|
||||
|
||||
var dto = Database.FirstOrDefault<UserDto>(sql);
|
||||
|
||||
if (dto == null)
|
||||
return null;
|
||||
|
||||
return new User(_userTypeRepository.Get(dto.Type))
|
||||
{
|
||||
Id = dto.Id,
|
||||
Email = dto.Email,
|
||||
Language = dto.UserLanguage,
|
||||
Name = dto.UserName,
|
||||
NoConsole = dto.NoConsole,
|
||||
IsLockedOut = dto.Disabled
|
||||
};
|
||||
|
||||
var query = Query<IUser>.Builder.Where(x => x.Username == username);
|
||||
return GetByQuery(query).FirstOrDefault();
|
||||
}
|
||||
|
||||
public IUser GetUserById(int id)
|
||||
|
||||
public void DeleteSectionFromAllUsers(string sectionAlias)
|
||||
{
|
||||
var sql = GetBaseQuery(false);
|
||||
sql.Where(GetBaseWhereClause(), new { Id = id });
|
||||
|
||||
var dto = Database.FirstOrDefault<UserDto>(sql);
|
||||
|
||||
if (dto == null)
|
||||
return null;
|
||||
|
||||
return new User(_userTypeRepository.Get(dto.Type))
|
||||
{
|
||||
Id = dto.Id,
|
||||
Email = dto.Email,
|
||||
Language = dto.UserLanguage,
|
||||
Name = dto.UserName,
|
||||
NoConsole = dto.NoConsole,
|
||||
IsLockedOut = dto.Disabled
|
||||
};
|
||||
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateUserRepository(_uowProvider.GetUnitOfWork()))
|
||||
{
|
||||
return repository.GetUserById(id);
|
||||
return repository.Get(id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -188,21 +188,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var updatedItem = repository.Get((int)user.Id);
|
||||
|
||||
// Assert
|
||||
Assert.That(updatedItem.Id, Is.EqualTo(user.Id));
|
||||
Assert.That(updatedItem.Name, Is.EqualTo(user.Name));
|
||||
Assert.That(updatedItem.Permissions, Is.EqualTo(user.Permissions));
|
||||
Assert.That(updatedItem.Language, Is.EqualTo(user.Language));
|
||||
Assert.That(updatedItem.IsApproved, Is.EqualTo(user.IsApproved));
|
||||
Assert.That(updatedItem.Password, Is.EqualTo(user.Password));
|
||||
Assert.That(updatedItem.NoConsole, Is.EqualTo(user.NoConsole));
|
||||
Assert.That(updatedItem.StartContentId, Is.EqualTo(user.StartContentId));
|
||||
Assert.That(updatedItem.StartMediaId, Is.EqualTo(user.StartMediaId));
|
||||
Assert.That(updatedItem.DefaultToLiveEditing, Is.EqualTo(user.DefaultToLiveEditing));
|
||||
Assert.That(updatedItem.Email, Is.EqualTo(user.Email));
|
||||
Assert.That(updatedItem.Username, Is.EqualTo(user.Username));
|
||||
Assert.That(updatedItem.AllowedSections.Count(), Is.EqualTo(2));
|
||||
Assert.IsTrue(updatedItem.AllowedSections.Contains("media"));
|
||||
Assert.IsTrue(updatedItem.AllowedSections.Contains("content"));
|
||||
AssertPropertyValues(updatedItem, user);
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -388,6 +374,90 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
Assert.IsTrue(result.AllowedSections.Contains("media"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Get_By_Profile_Id()
|
||||
{
|
||||
// Arrange
|
||||
var provider = new PetaPocoUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = RepositoryResolver.Current.ResolveByType<IUserRepository>(unitOfWork);
|
||||
var user = MockedUser.CreateUser(CreateAndCommitUserType());
|
||||
repository.AddOrUpdate(user);
|
||||
unitOfWork.Commit();
|
||||
|
||||
// Act
|
||||
|
||||
var profile = repository.GetProfileById((int)user.Id);
|
||||
unitOfWork.Commit();
|
||||
|
||||
// Assert
|
||||
Assert.IsNotNull(profile);
|
||||
Assert.AreEqual(user.Username, profile.Name);
|
||||
Assert.AreEqual(user.Id, profile.Id);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Get_By_Profile_Username()
|
||||
{
|
||||
// Arrange
|
||||
var provider = new PetaPocoUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = RepositoryResolver.Current.ResolveByType<IUserRepository>(unitOfWork);
|
||||
var user = MockedUser.CreateUser(CreateAndCommitUserType());
|
||||
repository.AddOrUpdate(user);
|
||||
unitOfWork.Commit();
|
||||
|
||||
// Act
|
||||
|
||||
var profile = repository.GetProfileByUserName(user.Username);
|
||||
unitOfWork.Commit();
|
||||
|
||||
// Assert
|
||||
Assert.IsNotNull(profile);
|
||||
Assert.AreEqual(user.Username, profile.Name);
|
||||
Assert.AreEqual(user.Id, profile.Id);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Get_User_By_Username()
|
||||
{
|
||||
// Arrange
|
||||
var provider = new PetaPocoUnitOfWorkProvider();
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
var repository = RepositoryResolver.Current.ResolveByType<IUserRepository>(unitOfWork);
|
||||
var user = MockedUser.CreateUser(CreateAndCommitUserType());
|
||||
repository.AddOrUpdate(user);
|
||||
unitOfWork.Commit();
|
||||
|
||||
// Act
|
||||
|
||||
var userByUsername = repository.GetUserByUserName(user.Username);
|
||||
unitOfWork.Commit();
|
||||
|
||||
// Assert
|
||||
Assert.IsNotNull(userByUsername);
|
||||
AssertPropertyValues(userByUsername, user);
|
||||
}
|
||||
|
||||
private void AssertPropertyValues(IUser updatedItem, IUser originalUser)
|
||||
{
|
||||
Assert.That(updatedItem.Id, Is.EqualTo(originalUser.Id));
|
||||
Assert.That(updatedItem.Name, Is.EqualTo(originalUser.Name));
|
||||
Assert.That(updatedItem.Permissions, Is.EqualTo(originalUser.Permissions));
|
||||
Assert.That(updatedItem.Language, Is.EqualTo(originalUser.Language));
|
||||
Assert.That(updatedItem.IsApproved, Is.EqualTo(originalUser.IsApproved));
|
||||
Assert.That(updatedItem.Password, Is.EqualTo(originalUser.Password));
|
||||
Assert.That(updatedItem.NoConsole, Is.EqualTo(originalUser.NoConsole));
|
||||
Assert.That(updatedItem.StartContentId, Is.EqualTo(originalUser.StartContentId));
|
||||
Assert.That(updatedItem.StartMediaId, Is.EqualTo(originalUser.StartMediaId));
|
||||
Assert.That(updatedItem.DefaultToLiveEditing, Is.EqualTo(originalUser.DefaultToLiveEditing));
|
||||
Assert.That(updatedItem.Email, Is.EqualTo(originalUser.Email));
|
||||
Assert.That(updatedItem.Username, Is.EqualTo(originalUser.Username));
|
||||
Assert.That(updatedItem.AllowedSections.Count(), Is.EqualTo(2));
|
||||
Assert.IsTrue(updatedItem.AllowedSections.Contains("media"));
|
||||
Assert.IsTrue(updatedItem.AllowedSections.Contains("content"));
|
||||
}
|
||||
|
||||
private IUser[] CreateAndCommitMultipleUsers(IUserRepository repository, IUnitOfWork unitOfWork)
|
||||
{
|
||||
var user1 = MockedUser.CreateUser(CreateAndCommitUserType(), "1");
|
||||
|
||||
Reference in New Issue
Block a user