public void GivenEngagement_WhenDeriving_ThenDescriptionIsRequired() { var mechelen = new CityBuilder(this.Session).WithName("Mechelen").Build(); var billToContactMechanism = new PostalAddressBuilder(this.Session).WithPostalAddressBoundary(mechelen).WithAddress1("Haverwerf 15").Build(); var partyContactMechanism = new PartyContactMechanismBuilder(this.Session) .WithContactMechanism(billToContactMechanism) .WithContactPurpose(new ContactMechanismPurposes(this.Session).BillingAddress) .WithUseAsDefault(true) .Build(); var customer = new OrganisationBuilder(this.Session).WithName("customer").WithPartyContactMechanism(partyContactMechanism).Build(); this.Session.Derive(); this.Session.Commit(); var builder = new EngagementBuilder(this.Session); var customEngagementItem = builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithDescription("Engagement"); customEngagementItem = builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithBillToParty(customer); customEngagementItem = builder.Build(); Assert.False(this.Session.Derive(false).HasErrors); }
public void GivenEngagement_WhenDeriving_ThenDescriptionIsRequired() { var mechelen = new CityBuilder(this.DatabaseSession).WithName("Mechelen").Build(); var billToContactMechanism = new PostalAddressBuilder(this.DatabaseSession).WithGeographicBoundary(mechelen).WithAddress1("Haverwerf 15").Build(); var partyContactMechanism = new PartyContactMechanismBuilder(this.DatabaseSession) .WithContactMechanism(billToContactMechanism) .WithContactPurpose(new ContactMechanismPurposes(this.DatabaseSession).BillingAddress) .WithUseAsDefault(true) .Build(); var customer = new OrganisationBuilder(this.DatabaseSession).WithName("customer").WithPartyContactMechanism(partyContactMechanism).Build(); this.DatabaseSession.Derive(true); this.DatabaseSession.Commit(); var builder = new EngagementBuilder(this.DatabaseSession); var customEngagementItem = builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithDescription("Engagement"); customEngagementItem = builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithBillToParty(customer); customEngagementItem = builder.Build(); Assert.IsFalse(this.DatabaseSession.Derive().HasErrors); }