public void Add_new_entity() { int userId = 1; bool isSetForeignKeysActionCalled = false; MockEntity entity = new MockEntity(); Action <IDbEntity, MockEntity> setForeignKeys = (o, e) => { isSetForeignKeysActionCalled = true; }; ForeignEntityCollectionManager <MockEntity> manager = new ForeignEntityCollectionManager <MockEntity>(userId, entity, () => entity.RelationalEntities, setForeignKeys); MockEntity added = manager.Add(); Assert.AreEqual(1, entity.RelationalEntities.Count); Assert.AreEqual(added, entity.RelationalEntities.First()); Assert.IsTrue(isSetForeignKeysActionCalled); Assert.IsFalse(added.IsDeleted); Assert.AreEqual(userId, added.CreatedByID); }
public void ReAdd_previously_deleted_entity() { int userId = 1; bool isSetForeignKeysActionCalled = false; MockEntity entity = new MockEntity(); Action <IDbEntity, MockEntity> setForeignKeys = (o, e) => { isSetForeignKeysActionCalled = true; }; ForeignEntityCollectionManager <MockEntity> manager = new ForeignEntityCollectionManager <MockEntity>(userId, entity, () => entity.RelationalEntities, setForeignKeys); MockEntity existing = new MockEntity() { id = 2, IsDeleted = true, CreatedByID = 3 }; existing.MarkPersisted(); entity.RelationalEntities.Add(existing); MockEntity added = manager.Add(existing); Assert.AreEqual(1, entity.RelationalEntities.Count); Assert.AreEqual(added, existing); Assert.IsFalse(isSetForeignKeysActionCalled); Assert.IsFalse(added.IsDeleted); Assert.AreNotEqual(userId, added.CreatedByID); }