public void Users_can_be_persisted_and_retrieved() { //Arrange var sutProvider = new DataProvider <User>(_config, User.ToDomainConverter); var columns = sutProvider.LoadAllColumns(); var sutPersister = new UserPersister(columns, _config); //Act ErrorMessage error; var persistResult = sutPersister.TryPersist(ref TestData.Users.NewMeJulie, out error); //Assert Assert.IsTrue(persistResult); Assert.IsNull(error); //The new row id is assigned to ref of the object Assert.IsNotNull(TestData.Users.MeJulie.UserId); Assert.IsInstanceOf <int>(TestData.Users.MeJulie.UserId); var readResult = sutProvider.LoadAll().First(); Assert.AreEqual(TestData.Users.MeJulie.Email, readResult.Email); Assert.AreEqual(TestData.Users.MeJulie.Username, readResult.Username); Assert.AreEqual(TestData.Users.MeJulie.FirstName, readResult.FirstName); Assert.AreEqual(TestData.Users.MeJulie.LastName, readResult.LastName); Assert.AreNotEqual(TestData.Users.MeJulie.Password, readResult.Password); Assert.AreEqual(_encrypter.Encrypt(TestData.Users.MeJulie.Password), readResult.Password); Assert.AreEqual(TestData.Users.MeJulie.Password, _encrypter.Decrypt(readResult.Password)); }
private bool PersistUser(out ErrorMessage error, ref User persistedUser) { var provider = new DataProvider <User>(_config, User.ToDomainConverter); var columns = provider.LoadAllColumns(); var persister = new UserPersister(columns, _config); return(persister.TryPersist(ref persistedUser, out error)); }