public void GivenOrderRequirementCommitment_WhenDeriving_ThenRequiredRelationsMustExist() { var shipToCustomer = new OrganisationBuilder(this.Session).WithName("shipToCustomer").Build(); var billToCustomer = new OrganisationBuilder(this.Session).WithName("billToCustomer").Build(); new CustomerRelationshipBuilder(this.Session) .WithCustomer(billToCustomer) .Build(); new CustomerRelationshipBuilder(this.Session) .WithCustomer(shipToCustomer) .Build(); var good = new Goods(this.Session).FindBy(M.Good.Name, "good1"); this.Session.Derive(); var salesOrder = new SalesOrderBuilder(this.Session) .WithShipToCustomer(shipToCustomer) .WithBillToCustomer(billToCustomer) .WithAssignedVatRegime(new VatRegimes(this.Session).ZeroRated) .Build(); var goodOrderItem = new SalesOrderItemBuilder(this.Session) .WithInvoiceItemType(new InvoiceItemTypes(this.Session).ProductItem) .WithProduct(good) .WithAssignedUnitPrice(1) .WithQuantityOrdered(1) .Build(); salesOrder.AddSalesOrderItem(goodOrderItem); var customerRequirement = new RequirementBuilder(this.Session).WithDescription("100 gizmo's").Build(); this.Session.Derive(); this.Session.Commit(); var builder = new OrderRequirementCommitmentBuilder(this.Session); builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithOrderItem(goodOrderItem); builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithRequirement(customerRequirement); var tsts = builder.Build(); Assert.False(this.Session.Derive(false).HasErrors); }
public void GivenCustomerRequirement_WhenBuild_ThenPreviousObjectStateIsNull() { var requirement = new RequirementBuilder(this.Session).WithDescription("CustomerRequirement").Build(); this.Session.Derive(); Assert.Null(requirement.PreviousRequirementState); }
public void GivenCustomerRequirement_WhenBuild_ThenLastObjectStateEqualsCurrencObjectState() { var requirement = new RequirementBuilder(this.Session).WithDescription("CustomerRequirement").Build(); this.Session.Derive(); Assert.Equal(new RequirementStates(this.Session).Active, requirement.RequirementState); Assert.Equal(requirement.LastRequirementState, requirement.RequirementState); }
public void GivenCustomerRequirement_WhenDeriving_ThenDescriptionIsRequired() { var builder = new RequirementBuilder(this.Session); var customerRequirement = builder.Build(); Assert.True(this.Session.Derive(false).HasErrors); this.Session.Rollback(); builder.WithDescription("CustomerRequirement"); builder.Build(); Assert.False(this.Session.Derive(false).HasErrors); }
public void GenericTools_RequirementBuilder() { var model = new SampleModel { Age = 14, Type = ModelType.Test }; var requirements = RequirementBuilder.Load <SampleModel>("requirement.json"); try { Require.That(model, requirements); } catch (RequirementNotMetException rex) { MakeSure.That(rex.Message).Is(string.Empty); } }