public void UpdateExistingEntryIdMatch() { var entryContainer = new EntityEntryContainer(); var entity = new EntityEntryContainerModel { Id = "123", Title = "EntityEntryContainerTests.UpdateExistingEntryWithId-1" }; entryContainer.SetEntityState(entity, EntityEntryState.Added); var entry = entryContainer.GetEntry(entity); Assert.AreEqual(entity, entry.Entity); Assert.AreEqual(EntityEntryState.Added, entry.State); var updatedEntity = new EntityEntryContainerModel { Id = "123", Title = "EntityEntryContainerTests.UpdateExistingEntryWithId-2" }; entryContainer.SetEntityState(updatedEntity, EntityEntryState.Updated); Assert.IsFalse(entryContainer.Entries().Any(e => e.Entity == entity)); entry = entryContainer.GetEntry(updatedEntity); Assert.AreEqual(updatedEntity, entry.Entity); Assert.AreEqual("EntityEntryContainerTests.UpdateExistingEntryWithId-2", (entry.Entity as EntityEntryContainerModel).Title); }
public void RemoveRange() { var entryContainer = new EntityEntryContainer(); var entities = new[] { new EntityEntryContainerModel { Title = "EntityEntryContainerTests.RemoveRange-1" }, new EntityEntryContainerModel { Title = "EntityEntryContainerTests.RemoveRange-2" }, new EntityEntryContainerModel { Id = "123", Title = "EntityEntryContainerTests.RemoveRange-3" } }; foreach (var entity in entities) { entryContainer.SetEntityState(entity, EntityEntryState.Added); entryContainer.SetEntityState(entity, EntityEntryState.Detached); } Assert.IsFalse(entryContainer.Entries().Any()); }
public void ClearTracker() { var entryContainer = new EntityEntryContainer(); var entity = new EntityEntryContainerModel { Title = "EntityEntryContainerTests.ClearTracker" }; entryContainer.SetEntityState(entity, EntityEntryState.NoChanges); entryContainer.Clear(); Assert.IsFalse(entryContainer.Entries().Any()); }
public void EntryDoesntMatchOnEqualityOverride() { var entryContainer = new EntityEntryContainer(); var entityA = new EntityCollectionOverriddenEqualsModel { EqualsProperty = "EntityEntryContainerTests.EntityCollectionOverriddenEqualsModel" }; entryContainer.SetEntityState(entityA, EntityEntryState.Added); var entityB = new EntityCollectionOverriddenEqualsModel { EqualsProperty = "EntityEntryContainerTests.EntityCollectionOverriddenEqualsModel" }; entryContainer.SetEntityState(entityB, EntityEntryState.Added); Assert.AreEqual(2, entryContainer.Entries().Count()); }
public void EnforceMultiTenantsSkipsNonTenantModels() { var entryContainer = new EntityEntryContainer(); var entity = new EntityEntryContainerModel { Title = "EntityEntryContainerTests.RequireTenantIdForTenantModels" }; entryContainer.SetEntityState(entity, EntityEntryState.Added); var entity2 = new EntityEntryContainerTenantModel { TenantId = TestConfiguration.GetTenantId(), Title = "EntityEntryContainerTests.RequireTenantIdForTenantModels" }; entryContainer.SetEntityState(entity2, EntityEntryState.Added); entryContainer.EnforceMultiTenant(TestConfiguration.GetTenantId()); Assert.AreEqual(entryContainer.Entries().Count(), 2); }