Updates member repository and tests to ensure that an existing password will not be replaced if the password specified is null or empty.

This commit is contained in:
Shannon
2013-10-10 12:22:38 +11:00
parent a87b37d6ca
commit 71e6ea70b2
3 changed files with 93 additions and 4 deletions

View File

@@ -189,6 +189,63 @@ namespace Umbraco.Tests.Persistence.Repositories
}
}
[Test]
public void MemberRepository_Does_Not_Replace_Password_When_Null()
{
IMember sut;
var provider = new PetaPocoUnitOfWorkProvider();
var unitOfWork = provider.GetUnitOfWork();
MemberTypeRepository memberTypeRepository;
using (var repository = CreateRepository(unitOfWork, out memberTypeRepository))
{
var memberType = MockedContentTypes.CreateSimpleMemberType();
memberTypeRepository.AddOrUpdate(memberType);
unitOfWork.Commit();
var member = MockedMember.CreateSimpleContent(memberType, "Johnny Hefty", "johnny@example.com", "123", "hefty", -1);
repository.AddOrUpdate(member);
unitOfWork.Commit();
sut = repository.Get(member.Id);
//when the password is null it will not overwrite what is already there.
sut.Password = null;
repository.AddOrUpdate(sut);
unitOfWork.Commit();
sut = repository.Get(member.Id);
Assert.That(sut.Password, Is.EqualTo("123"));
}
}
[Test]
public void MemberRepository_Can_Update_Email_And_Login_When_Changed()
{
IMember sut;
var provider = new PetaPocoUnitOfWorkProvider();
var unitOfWork = provider.GetUnitOfWork();
MemberTypeRepository memberTypeRepository;
using (var repository = CreateRepository(unitOfWork, out memberTypeRepository))
{
var memberType = MockedContentTypes.CreateSimpleMemberType();
memberTypeRepository.AddOrUpdate(memberType);
unitOfWork.Commit();
var member = MockedMember.CreateSimpleContent(memberType, "Johnny Hefty", "johnny@example.com", "123", "hefty", -1);
repository.AddOrUpdate(member);
unitOfWork.Commit();
sut = repository.Get(member.Id);
sut.Username = "This is new";
sut.Email = "thisisnew@hello.com";
repository.AddOrUpdate(sut);
unitOfWork.Commit();
sut = repository.Get(member.Id);
Assert.That(sut.Email, Is.EqualTo("thisisnew@hello.com"));
Assert.That(sut.Username, Is.EqualTo("This is new"));
}
}
[Test]
public void Can_Create_Correct_Subquery()
{