Example #1
0
        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);
        }
Example #2
0
        public void GivenCustomerRequirement_WhenBuild_ThenPreviousObjectStateIsNull()
        {
            var requirement = new RequirementBuilder(this.Session).WithDescription("CustomerRequirement").Build();

            this.Session.Derive();

            Assert.Null(requirement.PreviousRequirementState);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
            }
        }