public void SubCommit_OfDeletedObject_DoesNotRaiseDeletedEvent() { using (_subTransaction.EnterDiscardingScope()) { ClassWithAllDataTypes domainObject = DomainObjectIDs.ClassWithAllDataTypes1.GetObject <ClassWithAllDataTypes> (); MockRepository repository = new MockRepository(); IClientTransactionExtension extensionMock = repository.StrictMock <IClientTransactionExtension>(); extensionMock.Stub(stub => stub.Key).Return("Mock"); extensionMock.Replay(); _subTransaction.Extensions.Add(extensionMock); try { extensionMock.BackToRecord(); extensionMock.ObjectDeleting(_subTransaction, domainObject); extensionMock.ObjectDeleted(_subTransaction, domainObject); repository.ReplayAll(); domainObject.Delete(); repository.VerifyAll(); repository.BackToRecordAll(); extensionMock.Committing(null, null, null); LastCall.IgnoreArguments(); extensionMock.CommitValidate(null, null); LastCall.IgnoreArguments(); extensionMock.Committed(null, null); LastCall.IgnoreArguments(); repository.ReplayAll(); _subTransaction.Commit(); repository.VerifyAll(); } finally { _subTransaction.Extensions.Remove("Mock"); } } }
public void SubCommit_OfDeletedObject_DoesNotRaiseDeletedEvent_WithRelations() { using (_subTransaction.EnterDiscardingScope()) { Order domainObject = DomainObjectIDs.Order1.GetObject <Order> (); domainObject.OrderItems[0].Delete(); MockRepository repository = new MockRepository(); IClientTransactionExtension extensionMock = repository.StrictMock <IClientTransactionExtension> (); extensionMock.Replay(); extensionMock.Stub(stub => stub.Key).Return("Mock"); _subTransaction.Extensions.Add(extensionMock); try { extensionMock.BackToRecord(); using (repository.Ordered()) { extensionMock.Committing(null, null, null); LastCall.IgnoreArguments(); extensionMock.CommitValidate(null, null); LastCall.IgnoreArguments(); extensionMock.Committed(null, null); LastCall.IgnoreArguments(); } repository.ReplayAll(); _subTransaction.Commit(); repository.VerifyAll(); } finally { _subTransaction.Extensions.Remove("Mock"); } } }