コード例 #1
0
ファイル: ProductTests.cs プロジェクト: Allors/apps
        public void GivenGood_WhenDeriving_ThenRequiredRelationsMustExist()
        {
            var vatRate21 = new VatRateBuilder(this.DatabaseSession).WithRate(21).Build();
            var finishedGood = new FinishedGoodBuilder(this.DatabaseSession).WithName("finishedGood").Build();

            this.DatabaseSession.Derive(true);
            this.DatabaseSession.Commit();

            var builder = new GoodBuilder(this.DatabaseSession);
            var good = builder.Build();

            Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);

            this.DatabaseSession.Rollback();

            builder.WithName("Good");
            good = builder.Build();

            Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);

            this.DatabaseSession.Rollback();

            builder.WithUnitOfMeasure(new UnitsOfMeasure(this.DatabaseSession).Piece);
            good = builder.Build();

            Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);

            this.DatabaseSession.Rollback();

            builder.WithVatRate(vatRate21);
            good = builder.Build();

            Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);

            this.DatabaseSession.Rollback();

            builder.WithFinishedGood(finishedGood);
            good = builder.Build();

            Assert.IsFalse(this.DatabaseSession.Derive().HasErrors);

            builder.WithInventoryItemKind(new InventoryItemKinds(this.DatabaseSession).NonSerialized);
            good = builder.Build();

            Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);

            good.RemoveFinishedGood();

            Assert.IsFalse(this.DatabaseSession.Derive().HasErrors);
        }