public void GivenInventoryItem_WhenDeriving_ThenRequiredRelationsMustExist() { var part = new FinishedGoodBuilder(this.DatabaseSession).WithName("part").WithManufacturerId("10101").WithSku("sku").Build(); this.DatabaseSession.Commit(); var builder = new SerializedInventoryItemBuilder(this.DatabaseSession); builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithPart(part); builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithSerialNumber("1"); builder.Build(); Assert.IsFalse(this.DatabaseSession.Derive().HasErrors); builder.WithGood(new GoodBuilder(this.DatabaseSession).WithSku("10101").WithName("good").Build()); builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); }
public void GivenInventoryItem_WhenBuild_ThenPostBuildRelationsMustExist() { var item = new SerializedInventoryItemBuilder(this.DatabaseSession) .WithPart(new FinishedGoodBuilder(this.DatabaseSession).WithName("part").WithManufacturerId("10101").Build()) .Build(); Assert.AreEqual(new SerializedInventoryItemObjectStates(this.DatabaseSession).Good, item.CurrentObjectState); Assert.AreEqual(new Warehouses(this.DatabaseSession).FindBy(Warehouses.Meta.Name, "facility"), item.Facility); }