public void ValidatePersistableData_IntegrationTest_PropertyOk() { using (ClientTransaction.CreateRootTransaction().EnterDiscardingScope()) { var person = Person.NewObject(); person.Name = "Not Null"; var persistableData = PersistableDataObjectMother.Create(ClientTransaction.Current, person); Assert.That(() => _validator.Validate(ClientTransaction.Current, persistableData), Throws.Nothing); } }
public void Validate_IntegrationTest_RelationsOk() { using (ClientTransaction.CreateRootTransaction().EnterDiscardingScope()) { var orderTicket = OrderTicket.NewObject(); orderTicket.Order = Order.NewObject(); var persistableData = PersistableDataObjectMother.Create(ClientTransaction.Current, orderTicket); Assert.That(() => _validator.Validate(ClientTransaction.Current, persistableData), Throws.Nothing); } }
public void RaiseTransactionCommitValidateEvent() { var data1 = PersistableDataObjectMother.Create(); var data2 = PersistableDataObjectMother.Create(); var committedData = Array.AsReadOnly(new[] { data1, data2 }); CheckEventWithListenersFirst( s => s.RaiseTransactionCommitValidateEvent(committedData), l => l.TransactionCommitValidate(_clientTransaction, committedData), x => x.CommitValidate(_clientTransaction, committedData)); }
public void Validate_IntegrationTest_RelationsNotOk() { using (ClientTransaction.CreateRootTransaction().EnterDiscardingScope()) { var orderTicket = OrderTicket.NewObject(); var persistableData = PersistableDataObjectMother.Create(ClientTransaction.Current, orderTicket); Assert.That( () => _validator.Validate(ClientTransaction.Current, persistableData), Throws.TypeOf <MandatoryRelationNotSetException>().With.Message.Matches( @"Mandatory relation property 'Remotion\.Data\.DomainObjects\.UnitTests\.TestDomain\.OrderTicket\.Order' of domain object " + @"'OrderTicket|.*|System\.Guid' cannot be null.")); } }
public void ValidatePersistableData_IntegrationTest_PropertyWithValueOk() { using (ClientTransaction.CreateRootTransaction().EnterDiscardingScope()) { var person = ClassWithAllDataTypes.NewObject(); person.BinaryProperty = new byte[10]; person.NullableBinaryProperty = new byte[1000000]; person.StringProperty = "value"; person.StringPropertyWithoutMaxLength = "value"; var persistableData = PersistableDataObjectMother.Create(ClientTransaction.Current, person); Assert.That(() => _validator.Validate(ClientTransaction.Current, persistableData), Throws.Nothing); } }
public void ValidatePersistableData_IntegrationTest_PropertyNotOk() { using (ClientTransaction.CreateRootTransaction().EnterDiscardingScope()) { var person = Person.NewObject(); person.Name = null; var persistableData = PersistableDataObjectMother.Create(ClientTransaction.Current, person); Assert.That( () => _validator.Validate(ClientTransaction.Current, persistableData), Throws.TypeOf <PropertyValueNotSetException>().With.Message.Matches( @"Not-nullable property 'Remotion\.Data\.DomainObjects\.UnitTests\.TestDomain\.Person\.Name' of domain object " + @"'Person|.*|System\.Guid' cannot be null.")); } }
public void ValidatePersistableData_IntegrationTest_PropertyNotOk() { using (ClientTransaction.CreateRootTransaction().EnterDiscardingScope()) { var person = Person.NewObject(); person.Name = new string ('c', 101); var persistableData = PersistableDataObjectMother.Create(ClientTransaction.Current, person); Assert.That( () => _validator.Validate(ClientTransaction.Current, persistableData), Throws.TypeOf <PropertyValueTooLongException>().With.Message.Matches( @"Value for property 'Remotion\.Data\.DomainObjects\.UnitTests\.TestDomain\.Person\.Name' " + @"of domain object ''Person|.*|System\.Guid'' is too long. Maximum number of characters: 100.")); } }
public void CommitValidate() { var data1 = PersistableDataObjectMother.Create(); var data2 = PersistableDataObjectMother.Create(); var transaction = ClientTransaction.CreateRootTransaction(); var validatorMock = MockRepository.GenerateStrictMock <IPersistableDataValidator>(); var extension = new CommitValidationClientTransactionExtension(validatorMock); validatorMock.Expect(mock => mock.Validate(transaction, data1)); validatorMock.Expect(mock => mock.Validate(transaction, data2)); validatorMock.Replay(); extension.CommitValidate(transaction, Array.AsReadOnly(new[] { data1, data2 })); validatorMock.VerifyAllExpectations(); }
public void ValidatePersistableData_IntegrationTest_PropertyNotOk() { using (ClientTransaction.CreateRootTransaction().EnterDiscardingScope()) { var person = ClassWithAllDataTypes.NewObject(); person.BinaryProperty = new byte[10]; person.NullableBinaryProperty = new byte[1000001]; person.StringProperty = "value"; person.StringPropertyWithoutMaxLength = "value"; var persistableData = PersistableDataObjectMother.Create(ClientTransaction.Current, person); Assert.That( () => _validator.Validate(ClientTransaction.Current, persistableData), Throws.TypeOf <PropertyValueTooLongException>().With.Message.Matches( @"Value for property 'Remotion\.Data\.DomainObjects\.UnitTests\.TestDomain\.ClassWithAllDataTypes\.NullableBinaryProperty' " + @"of domain object ''ClassWithAllDataTypes|.*|System\.Guid'' is too long. Maximum size: 1000001.")); } }