public void RegisterForCommit_AfterCreation() { using (ClientTransaction.CreateRootTransaction().EnterNonDiscardingScope()) { SecurableClassDefinition classDefinition = SecurableClassDefinition.NewObject(); Assert.That(classDefinition.State, Is.EqualTo(StateType.New)); Assert.That(() => classDefinition.RegisterForCommit(), Throws.Nothing); Assert.That(classDefinition.State, Is.EqualTo(StateType.New)); } }
public void RegisterForCommit_AfterDiscard() { using (ClientTransaction.CreateRootTransaction().EnterNonDiscardingScope()) { SecurableClassDefinition classDefinition = SecurableClassDefinition.NewObject(); classDefinition.Delete(); Assert.That(classDefinition.State, Is.EqualTo(StateType.Invalid)); Assert.That(() => classDefinition.RegisterForCommit(), Throws.TypeOf <ObjectInvalidException>()); } }
public void RegisterForCommit_InNotLoadedState() { using (ClientTransaction.CreateRootTransaction().EnterNonDiscardingScope()) { SecurableClassDefinition classDefinition = SecurableClassDefinition.NewObject(); using (ClientTransaction.Current.CreateSubTransaction().EnterDiscardingScope()) { Assert.That(classDefinition.State, Is.EqualTo(StateType.NotLoadedYet)); Assert.That(() => classDefinition.RegisterForCommit(), Throws.Nothing); Assert.That(classDefinition.State, Is.EqualTo(StateType.Changed)); } } }