public void AdaptLookupFromEntitiesToModels_MergesByIdForExistingValues() { // arrange var fromValues = LookupTestUtility.CreateEntities(false); foreach (var fromValue in fromValues) { Assert.AreNotEqual <int>(0, fromValue.Id, "Value wasn't 'saved' before start of test."); } int expectedCount = fromValues.Count; var toValues = new List <Benday.EasyAuthDemo.Api.DomainModels.Lookup>(); // adapt first time SystemUnderTest.Adapt(fromValues, toValues); var originalValuesById = GetOriginalValuesById(toValues); // act // call adapt again SystemUnderTest.Adapt(fromValues, toValues); // assert Assert.AreNotEqual <int>(0, toValues.Count, "There should be values."); AssertValuesStillExistAndIdDidNotChange(toValues, originalValuesById); LookupTestUtility.AssertAreEqual(fromValues, toValues); }
public void Save_ModifiedValidItem_SavesChangesToRepository() { // arrange PopulateRepositoryWithTestData(); var savedEntity = LookupRepositoryInstance.Items[2]; var saveThis = SystemUnderTest.GetById(savedEntity.Id); Assert.IsNotNull(saveThis, "Item to modify is null"); Assert.AreNotEqual <int>(0, saveThis.Id, "Item to modify has an Id of 0 indicating that it was not saved."); var expectedId = saveThis.Id; ValidatorStrategy.IsValidReturnValue = true; LookupTestUtility.ModifyModel(saveThis); LookupRepositoryInstance.ResetMethodCallTrackers(); // act SystemUnderTest.Save(saveThis); // assert Assert.AreEqual <int>(expectedId, saveThis.Id, "Id should not change when modified."); Assert.IsTrue(LookupRepositoryInstance.WasSaveCalled, "Save was not called."); var entity = LookupRepositoryInstance.GetById(saveThis.Id); Assert.IsNotNull(entity, "Entity wasn't saved to repository."); LookupTestUtility.AssertAreEqual(saveThis, entity); }
public void AdaptLookupFromEntityToModel() { // arrange var fromValue = LookupTestUtility.CreateEntity(); var toValue = new Benday.EasyAuthDemo.Api.DomainModels.Lookup(); // act SystemUnderTest.Adapt(fromValue, toValue); // assert LookupTestUtility.AssertAreEqual(fromValue, toValue); }
public void AdaptLookupFromModelToEntity() { // arrange var fromValue = LookupTestUtility.CreateModel(); var toValue = new Benday.EasyAuthDemo.Api.DataAccess.Entities.LookupEntity(); // act SystemUnderTest.Adapt(fromValue, toValue); // assert LookupTestUtility.AssertAreEqual(fromValue, toValue); }
public void AdaptLookupFromEntitiesToModels_ToEmpty() { // arrange var fromValues = LookupTestUtility.CreateEntities(); var toValues = new List <Benday.EasyAuthDemo.Api.DomainModels.Lookup>(); // act SystemUnderTest.Adapt(fromValues, toValues); // assert Assert.AreNotEqual <int>(0, toValues.Count, "There should be values."); LookupTestUtility.AssertAreEqual(fromValues, toValues); }
public void Save_ModifiedValidItem_CreatedAndLastUpdatedFieldsArePopulated() { // arrange PopulateRepositoryWithTestData(); var savedEntity = LookupRepositoryInstance.Items[2]; var saveThis = SystemUnderTest.GetById(savedEntity.Id); Assert.IsNotNull(saveThis, "Item to modify is null"); Assert.AreNotEqual <int>(0, saveThis.Id, "Item to modify has an Id of 0 indicating that it was not saved."); var expectedId = saveThis.Id; ValidatorStrategy.IsValidReturnValue = true; LookupTestUtility.ModifyModel(saveThis); LookupRepositoryInstance.ResetMethodCallTrackers(); UsernameProvider.GetUsernameReturnValue = UnitTestConstants.FakeUsername2; var originalCreatedBy = saveThis.CreatedBy; var originalLastModifiedBy = saveThis.LastModifiedBy; var originalCreatedDate = saveThis.CreatedDate; var originalLastModified = saveThis.LastModifiedDate; Thread.Sleep(UnitTestConstants.NumberOfMillisecondsForRecentDateTimeAssert * 2); // act SystemUnderTest.Save(saveThis); // assert Assert.AreEqual <string>(originalCreatedBy, saveThis.CreatedBy, "CreatedBy was wrong."); Assert.AreEqual <DateTime>(originalCreatedDate, saveThis.CreatedDate, "CreatedDate was wrong."); Assert.AreEqual <string>(UnitTestConstants.FakeUsername2, saveThis.LastModifiedBy, "LastModifiedBy was wrong."); UnitTestUtility.AssertDateTimeIsRecent( saveThis.LastModifiedDate, "LastModifiedDate"); var entity = LookupRepositoryInstance.GetById(saveThis.Id); Assert.IsNotNull(entity, "Entity wasn't saved to repository."); LookupTestUtility.AssertAreEqual(saveThis, entity); }
public void Save_NewValidItem_IdIsPopulatedAndIsInRepository() { // arrange var saveThis = LookupTestUtility.CreateModel(true); ValidatorStrategy.IsValidReturnValue = true; // act SystemUnderTest.Save(saveThis); // assert Assert.AreNotEqual <int>(0, saveThis.Id, "Id should not be zero after save."); Assert.IsTrue(LookupRepositoryInstance.WasSaveCalled, "Save was not called."); var actual = LookupRepositoryInstance.GetById(saveThis.Id); Assert.IsNotNull(actual, "Item wasn't saved to repository."); var entity = LookupRepositoryInstance.GetById(saveThis.Id); Assert.IsNotNull(entity, "Entity wasn't saved to repository."); LookupTestUtility.AssertAreEqual(saveThis, entity); }
public void Save_NewValidItem_CreatedAndLastUpdatedFieldsArePopulated() { // arrange var saveThis = LookupTestUtility.CreateModel(true); ValidatorStrategy.IsValidReturnValue = true; Assert.IsFalse( String.IsNullOrWhiteSpace(UsernameProvider.GetUsernameReturnValue), "Username provider was not initialized propertly."); // act SystemUnderTest.Save(saveThis); // assert UnitTestUtility.AssertDomainModelBaseAuditFieldsArePopulated( saveThis, UsernameProvider.GetUsernameReturnValue, "saveThis"); var entity = LookupRepositoryInstance.GetById(saveThis.Id); Assert.IsNotNull(entity, "Entity wasn't saved to repository."); LookupTestUtility.AssertAreEqual(saveThis, entity); }