4648
This commit is contained in:
@@ -140,13 +140,56 @@ namespace raven_integration
|
||||
long WorkOrderItemOutsideServiceToBeUpdatedId = a.ObjectResponse["data"]["id"].Value<long>();
|
||||
|
||||
|
||||
////////////////////////////////////////
|
||||
/// STATE
|
||||
///
|
||||
///
|
||||
|
||||
//set locking state "Closed", confirm frozen then unlock state for remainder
|
||||
payload = $$"""
|
||||
{"workOrderId":{{WorkOrderId}},"workOrderStatusId":9}
|
||||
""";
|
||||
a = await Util.PostAsync("workorder/states", await Util.GetTokenAsync("BizAdmin"), payload);
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
|
||||
|
||||
//confirm update fails
|
||||
a = await Util.GetAsync($"workorder/{WorkOrderId}", await Util.GetTokenAsync("BizAdmin"));
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
var o = a.ObjectResponse["data"];
|
||||
((JObject)o).Remove("items");
|
||||
o["notes"] = "thisshouldfail";
|
||||
a = await Util.PutAsync("workorder", await Util.GetTokenAsync("BizAdmin"), o.ToString());
|
||||
Util.ValidateErrorCodeResponse(a,2200,400);
|
||||
// {{
|
||||
// "error": {
|
||||
// "code": "2200",
|
||||
// "details": [
|
||||
// {
|
||||
// "message": "Work order is set to a locked status and can't be changed",
|
||||
// "target": "generalerror",
|
||||
// "error": "2209"
|
||||
// }
|
||||
// ],
|
||||
// "message": "ErrorAPI2200"
|
||||
// }
|
||||
// }}
|
||||
|
||||
//unlocked status "Scheduled"
|
||||
payload = $$"""
|
||||
{"workOrderId":{{WorkOrderId}},"workOrderStatusId":3}
|
||||
""";
|
||||
a = await Util.PostAsync("workorder/states", await Util.GetTokenAsync("BizAdmin"), payload);
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//UPDATES
|
||||
//
|
||||
|
||||
a = await Util.GetAsync($"workorder/items/labors/{WorkOrderItemLaborToBeUpdatedId}", await Util.GetTokenAsync("BizAdmin"));
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
var o = a.ObjectResponse["data"];
|
||||
o = a.ObjectResponse["data"];
|
||||
o["serviceDetails"] = "UpdatedLaborNotes";
|
||||
a = await Util.PutAsync("workorder/items/labors", await Util.GetTokenAsync("BizAdmin"), o.ToString());
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
@@ -234,7 +277,7 @@ namespace raven_integration
|
||||
o = w["items"].FirstOrDefault(z => (long)z["id"] == WorkOrderItem1Id);
|
||||
o["labors"].Count().Should().Be(2);
|
||||
o["parts"].Count().Should().Be(1);
|
||||
((string)o["notes"]).Should().Be("UpdatedWoItemNotes");
|
||||
((string)o["notes"]).Should().Be("UpdatedWoItemNotes");
|
||||
((string)o["labors"].FirstOrDefault(z => (long)z["id"] == WorkOrderItemLaborToBeUpdatedId)["serviceDetails"]).Should().Be("UpdatedLaborNotes");
|
||||
((long)o["parts"].FirstOrDefault(z => (long)z["id"] == WorkOrderItemPartToBeUpdatedId)["suggestedQuantity"]).Should().Be(2);
|
||||
|
||||
@@ -295,107 +338,8 @@ namespace raven_integration
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public async Task ConfirmDeleteTransactionWorksAtServer()
|
||||
{
|
||||
ApiResponse a = await Util.GetAsync("build-mode", await Util.GetTokenAsync("BizAdmin"));
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
var BuildMode = (string)a.ObjectResponse["data"]["buildMode"];
|
||||
|
||||
if (BuildMode == "DEBUG")//The key phrase that triggers exception during delete only exists in debug builds of server
|
||||
{
|
||||
|
||||
dynamic d = new JObject();
|
||||
d.active = true;
|
||||
d.notes = "WOHEADER";
|
||||
d.wiki = "INTEGRATION_DELETE_TEST_FAIL_BEFORE_COMMIT";//<-- key phrase triggers server exception in Workorder immediately before it would normally commit the whole thing
|
||||
|
||||
a = await Util.PostAsync("workorder", await Util.GetTokenAsync("BizAdmin"), d.ToString());
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
long WorkOrderId = a.ObjectResponse["data"]["id"].Value<long>();
|
||||
|
||||
//CREATE WOITEM 1
|
||||
d = new JObject();
|
||||
d.active = true;
|
||||
d.workOrderId = WorkOrderId;
|
||||
a = await Util.PostAsync("workorder/items", await Util.GetTokenAsync("BizAdmin"), d.ToString());
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
long WorkOrderItem1Id = a.ObjectResponse["data"]["id"].Value<long>();
|
||||
|
||||
//CREATE WOITEMPART
|
||||
d = new JObject();
|
||||
d.active = true;
|
||||
d.workOrderItemId = WorkOrderItem1Id;
|
||||
a = await Util.PostAsync("workorder/items/parts", await Util.GetTokenAsync("BizAdmin"), d.ToString());
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
|
||||
//CREATE TWO WOITEMLABORS
|
||||
//ONE
|
||||
d = new JObject();
|
||||
d.active = true;
|
||||
d.workOrderItemId = WorkOrderItem1Id;
|
||||
a = await Util.PostAsync("workorder/items/labors", await Util.GetTokenAsync("BizAdmin"), d.ToString());
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
|
||||
//TWO
|
||||
d = new JObject();
|
||||
d.active = true;
|
||||
d.workOrderItemId = WorkOrderItem1Id;
|
||||
a = await Util.PostAsync("workorder/items/labors", await Util.GetTokenAsync("BizAdmin"), d.ToString());
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
|
||||
//CREATE WOITEM-2
|
||||
d = new JObject();
|
||||
d.active = true;
|
||||
d.workOrderId = WorkOrderId;
|
||||
a = await Util.PostAsync("workorder/items", await Util.GetTokenAsync("BizAdmin"), 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("workorder/items/parts", await Util.GetTokenAsync("BizAdmin"), d.ToString());
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
|
||||
//CREATE WOITEMLABOR(S)-2
|
||||
//ONE-2
|
||||
d = new JObject();
|
||||
d.active = true;
|
||||
d.workOrderItemId = WorkOrderItem2Id;
|
||||
a = await Util.PostAsync("workorder/items/labors", await Util.GetTokenAsync("BizAdmin"), d.ToString());
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
|
||||
//TWO-2
|
||||
d = new JObject();
|
||||
d.active = true;
|
||||
d.workOrderItemId = WorkOrderItem2Id;
|
||||
a = await Util.PostAsync("workorder/items/labors", await Util.GetTokenAsync("BizAdmin"), d.ToString());
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
|
||||
a = await Util.DeleteAsync("workorder/" + WorkOrderId.ToString(), await Util.GetTokenAsync("BizAdmin"));
|
||||
Util.ValidateErrorCodeResponse(a, 2200, 400);
|
||||
|
||||
//now confirm the workorder is still there and with it's children intact
|
||||
//RETRIEVE WORKORDER AND VALIDATE ENTIRE
|
||||
a = await Util.GetAsync("workorder/" + WorkOrderId.ToString(), await Util.GetTokenAsync("BizAdmin"));
|
||||
Util.ValidateDataReturnResponseOk(a);
|
||||
|
||||
var w = a.ObjectResponse["data"];
|
||||
w["items"].Count().Should().Be(2);
|
||||
|
||||
var woitem1 = w["items"].FirstOrDefault(z => (long)z["id"] == WorkOrderItem1Id);
|
||||
woitem1["labors"].Count().Should().Be(2);
|
||||
woitem1["parts"].Count().Should().Be(1);
|
||||
|
||||
var woitem2 = w["items"].FirstOrDefault(z => (long)z["id"] == WorkOrderItem2Id);
|
||||
woitem2["labors"].Count().Should().Be(2);
|
||||
woitem2["parts"].Count().Should().Be(1);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user