diff --git a/WorkOrder/WorkOrderCrud.cs b/WorkOrder/WorkOrderCrud.cs index db9d248..138f766 100644 --- a/WorkOrder/WorkOrderCrud.cs +++ b/WorkOrder/WorkOrderCrud.cs @@ -22,7 +22,7 @@ namespace raven_integration dynamic d = new JObject(); d.active = true; d.notes = "WOHEADER The quick brown fox jumped over the six lazy dogs!"; - d.wiki = "# WOHEADER test wiki"; + d.wiki = "no wiki"; //Tags dynamic dTagsArray = new JArray(); @@ -224,8 +224,6 @@ namespace raven_integration #endregion update - - #region Validate all create and update //RETRIEVE WORKORDER AND VALIDATE ENTIRE @@ -275,17 +273,128 @@ namespace raven_integration } -// ApiResponse a = await Util.GetAsync("BuildMode"); -// Util.ValidateDataReturnResponseOk(a); -// var BuildMode = a.ObjectResponse["data"]["buildMode"].Value(); -// BuildMode.Should().BeOneOf((new string[] { "DEBUG", "RELEASE" })); -// if (BuildMode == "DEBUG") -// { -// //INTEGRATION_DELETE_TEST_FAIL_BEFORE_COMMIT in wo notes will fail delete immediately before transaction commit -// } - + /// + /// Test all CRUD routes for a WorkOrder + /// Build up graph, update graph, remove graph bit by bit + /// + [Fact] + public async void ConfirmDeleteTransactionWorksAtServer() + { + ApiResponse a = await Util.GetAsync("BuildMode"); + Util.ValidateDataReturnResponseOk(a); + var BuildMode = a.ObjectResponse["data"]["buildMode"].Value(); + BuildMode.Should().BeOneOf((new string[] { "DEBUG", "RELEASE" })); + + if (BuildMode == "DEBUG") + { + + ///////////////////////////////////////////////////////////////////////// + // CREATE + // + dynamic d = new JObject(); + d.active = true; + d.notes = "WOHEADER"; + d.wiki = "INTEGRATION_DELETE_TEST_FAIL_BEFORE_COMMIT"; + + + + ApiResponse a = await Util.PostAsync("workorders", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); + long WorkOrderId = a.ObjectResponse["data"]["id"].Value(); + + + + //CREATE WOITEM 1 + d = new JObject(); + d.active = true; + d.workOrderId = WorkOrderId; + a = await Util.PostAsync("workorders/items", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); + long WorkOrderItem1Id = a.ObjectResponse["data"]["id"].Value(); + + //CREATE WOITEMPART + d = new JObject(); + d.active = true; + d.workOrderItemId = WorkOrderItem1Id; + a = await Util.PostAsync("workorders/items/parts", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); + long PartId = (long)a.ObjectResponse["data"]["id"]; + + //CREATE TWO WOITEMLABORS + //ONE + d = new JObject(); + d.active = true; + d.workOrderItemId = WorkOrderItem1Id; + a = await Util.PostAsync("workorders/items/labors", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); + + //TWO + d = new JObject(); + d.active = true; + d.workOrderItemId = WorkOrderItem1Id; + a = await Util.PostAsync("workorders/items/labors", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); + + + ///////////////////////////////////////// + // Second woitem + // + + //CREATE WOITEM-2 + d = new JObject(); + d.active = true; + d.workOrderId = WorkOrderId; + a = await Util.PostAsync("workorders/items", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); + long WorkOrderItem2Id = (long)a.ObjectResponse["data"]["id"]; + + + + //CREATE WOITEMPART-2 + d = new JObject(); + d.active = true; + d.workOrderItemId = WorkOrderItem2Id; + a = await Util.PostAsync("workorders/items/parts", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + + Util.ValidateDataReturnResponseOk(a); + + + //CREATE WOITEMLABOR(S)-2 + //ONE-2 + d = new JObject(); + d.active = true; + d.workOrderItemId = WorkOrderItem2Id; + a = await Util.PostAsync("workorders/items/labors", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); + + //TWO-2 + d = new JObject(); + d.active = true; + d.workOrderItemId = WorkOrderItem2Id; + a = await Util.PostAsync("workorders/items/labors", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString()); + Util.ValidateDataReturnResponseOk(a); + + + // a = await Util.DeleteAsync("workorders/items/labors/" + Labor1Id.ToString(), await Util.GetTokenAsync("manager", "l3tm3in")); + // Util.ValidateHTTPStatusCode(a, 204); + // a = await Util.GetAsync("workorders/items/labors/" + Labor1Id.ToString(), await Util.GetTokenAsync("manager", "l3tm3in")); + // Util.ValidateHTTPStatusCode(a, 404); + + // a = await Util.DeleteAsync("workorders/items/" + WorkOrderItem2Id.ToString(), await Util.GetTokenAsync("manager", "l3tm3in")); + // Util.ValidateHTTPStatusCode(a, 204); + // a = await Util.GetAsync("workorders/items/" + WorkOrderItem2Id.ToString(), await Util.GetTokenAsync("manager", "l3tm3in")); + // Util.ValidateHTTPStatusCode(a, 404); + + // a = await Util.DeleteAsync("workorders/" + WorkOrderId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in")); + // Util.ValidateHTTPStatusCode(a, 204); + // a = await Util.GetAsync("workorders/" + WorkOrderId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in")); + // Util.ValidateHTTPStatusCode(a, 404); + + } + + } //==================================================