This commit is contained in:
@@ -11,72 +11,144 @@ namespace raven_integration
|
|||||||
public class FormCustom
|
public class FormCustom
|
||||||
{
|
{
|
||||||
|
|
||||||
// /// <summary>
|
/// <summary>
|
||||||
// /// Test all CRUD routes
|
/// Test create or update
|
||||||
// /// </summary>
|
/// </summary>
|
||||||
// [Fact]
|
[Fact]
|
||||||
// public async void CRUD()
|
public async void FormCustomCreateUpdate()
|
||||||
// {
|
{
|
||||||
// //CREATE
|
|
||||||
// dynamic d = new JObject();
|
|
||||||
// d.name = Util.Uniquify("Test DataFilter");
|
|
||||||
// // d.ownerId = 1L;
|
|
||||||
// d["public"] = true;
|
|
||||||
// d.listKey = "widget";
|
|
||||||
|
|
||||||
// //"[{fld:"name",op:"!=",value:"Notequaltothis"},{fld:"tags",op:"Eq",value:"[23,456,54]"}]
|
//This is a special case, you can create or PUT a formcustom, but you can't delete one and you can't create one if one already exists
|
||||||
// dynamic dfilter = new JArray();
|
//so this test will either create or update depending upon if it's already created one or not
|
||||||
// dynamic df = new JObject();
|
|
||||||
// df.fld = "name";
|
|
||||||
// df.op = "%-";
|
|
||||||
// df.value = "Generic";//lots of seed widgets start with Generic
|
|
||||||
// dfilter.Add(df);
|
|
||||||
|
|
||||||
// d.filter = dfilter.ToString();//it expects it to be a json string, not actual json
|
|
||||||
|
|
||||||
// ApiResponse a = await Util.PostAsync("DataFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString());
|
|
||||||
// Util.ValidateDataReturnResponseOk(a);
|
|
||||||
|
|
||||||
// long Id = a.ObjectResponse["data"]["id"].Value<long>();
|
|
||||||
|
|
||||||
|
|
||||||
// //RETRIEVE
|
dynamic d = new JObject();
|
||||||
// //Get one
|
d.formkey = "widget";
|
||||||
// a = await Util.GetAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("BizAdminFull"));
|
|
||||||
// Util.ValidateDataReturnResponseOk(a);
|
|
||||||
// a.ObjectResponse["data"]["name"].Value<string>().Should().StartWith("Test DataFilter");
|
|
||||||
|
|
||||||
// //Get as alternate user should work for public filter
|
/*
|
||||||
// a = await Util.GetAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("SubContractorLimited"));
|
Example:
|
||||||
// Util.ValidateDataReturnResponseOk(a);
|
{template:[{fld:"ltkeyfieldname",hide:"true/false",required:"true/false", type:"bool"},{fld:"ltkeyfieldname",hide:"true/false",required:"true/false", type:"text"]}
|
||||||
// a.ObjectResponse["data"]["name"].Value<string>().Should().StartWith("Test DataFilter");
|
*/
|
||||||
|
|
||||||
|
dynamic dtemplate = new JArray();
|
||||||
|
|
||||||
|
dynamic dt = new JObject();
|
||||||
|
dt.fld = "WidgetCustom1";
|
||||||
|
dt.hide = false;
|
||||||
|
dt.required = true;
|
||||||
|
dt.type = "date";
|
||||||
|
dtemplate.Add(dt);
|
||||||
|
|
||||||
|
dt = new JObject();
|
||||||
|
dt.fld = "WidgetCustom2";
|
||||||
|
dt.hide = true;
|
||||||
|
dt.required = false;
|
||||||
|
dt.type = "bool";
|
||||||
|
dtemplate.Add(dt);
|
||||||
|
|
||||||
|
d.template = dtemplate.ToString();//it expects it to be a json string, not actual json
|
||||||
|
|
||||||
|
|
||||||
// //UPDATE
|
//Is there one already?
|
||||||
|
//RETRIEVE
|
||||||
|
//Get one
|
||||||
|
ApiResponse a = await Util.GetAsync("FormCustom/widget", await Util.GetTokenAsync("BizAdminFull"));
|
||||||
|
|
||||||
// //PUT, make private
|
bool Exists = ((int)a.HttpResponse.StatusCode) == 200;
|
||||||
// d["public"] = false;
|
|
||||||
// d.name = Util.Uniquify("Put - Test DataFilter (privatized)");
|
|
||||||
// d.concurrencyToken = a.ObjectResponse["data"]["concurrencyToken"].Value<uint>();
|
|
||||||
// a = await Util.PutAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("BizAdminFull"), d.ToString());
|
|
||||||
// Util.ValidateHTTPStatusCode(a, 200);
|
|
||||||
|
|
||||||
// //check PUT worked
|
|
||||||
// a = await Util.GetAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("BizAdminFull"));
|
|
||||||
// Util.ValidateNoErrorInResponse(a);
|
|
||||||
// a.ObjectResponse["data"]["name"].Value<string>().Should().Be(d.name.ToString());
|
|
||||||
|
|
||||||
|
|
||||||
// //FETCH DISALLOWED
|
if (Exists)
|
||||||
// //Get as alternate user should fail for private filter
|
{
|
||||||
// a = await Util.GetAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("SubContractorLimited"));
|
|
||||||
// Util.ValidateResponseNotFound(a);
|
|
||||||
|
|
||||||
// // //DELETE
|
//Update
|
||||||
// ApiResponse DELETETestResponse = await Util.DeleteAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("BizAdminFull"));
|
|
||||||
// Util.ValidateHTTPStatusCode(DELETETestResponse, 204);
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
//update it
|
||||||
|
d.concurrencyToken = a.ObjectResponse["data"]["concurrencyToken"].Value<uint>();
|
||||||
|
a = await Util.PutAsync("FormCustom/widget", await Util.GetTokenAsync("BizAdminFull"), d.ToString());
|
||||||
|
Util.ValidateHTTPStatusCode(a, 200);
|
||||||
|
|
||||||
|
// //check PUT worked
|
||||||
|
// a = await Util.GetAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("BizAdminFull"));
|
||||||
|
// Util.ValidateNoErrorInResponse(a);
|
||||||
|
// a.ObjectResponse["data"]["name"].Value<string>().Should().Be(d.name.ToString());
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Create it
|
||||||
|
// a = await Util.PostAsync("FormCustom", await Util.GetTokenAsync("BizAdminFull"), d.ToString());
|
||||||
|
// Util.ValidateDataReturnResponseOk(a);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// a.ObjectResponse["data"]["name"].Value<string>().Should().StartWith("Test DataFilter");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// //CREATE
|
||||||
|
// dynamic d = new JObject();
|
||||||
|
// d.name = Util.Uniquify("Test DataFilter");
|
||||||
|
// // d.ownerId = 1L;
|
||||||
|
// d["public"] = true;
|
||||||
|
// d.listKey = "widget";
|
||||||
|
|
||||||
|
// //"[{fld:"name",op:"!=",value:"Notequaltothis"},{fld:"tags",op:"Eq",value:"[23,456,54]"}]
|
||||||
|
// dynamic dfilter = new JArray();
|
||||||
|
// dynamic df = new JObject();
|
||||||
|
// df.fld = "name";
|
||||||
|
// df.op = "%-";
|
||||||
|
// df.value = "Generic";//lots of seed widgets start with Generic
|
||||||
|
// dfilter.Add(df);
|
||||||
|
|
||||||
|
// d.filter = dfilter.ToString();//it expects it to be a json string, not actual json
|
||||||
|
|
||||||
|
// a = await Util.PostAsync("DataFilter", await Util.GetTokenAsync("BizAdminFull"), d.ToString());
|
||||||
|
// Util.ValidateDataReturnResponseOk(a);
|
||||||
|
|
||||||
|
// long Id = a.ObjectResponse["data"]["id"].Value<long>();
|
||||||
|
|
||||||
|
|
||||||
|
// //RETRIEVE
|
||||||
|
// //Get one
|
||||||
|
// a = await Util.GetAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("BizAdminFull"));
|
||||||
|
// Util.ValidateDataReturnResponseOk(a);
|
||||||
|
// a.ObjectResponse["data"]["name"].Value<string>().Should().StartWith("Test DataFilter");
|
||||||
|
|
||||||
|
// //Get as alternate user should work for public filter
|
||||||
|
// a = await Util.GetAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("SubContractorLimited"));
|
||||||
|
// Util.ValidateDataReturnResponseOk(a);
|
||||||
|
// a.ObjectResponse["data"]["name"].Value<string>().Should().StartWith("Test DataFilter");
|
||||||
|
|
||||||
|
|
||||||
|
// //UPDATE
|
||||||
|
|
||||||
|
// //PUT, make private
|
||||||
|
// d["public"] = false;
|
||||||
|
// d.name = Util.Uniquify("Put - Test DataFilter (privatized)");
|
||||||
|
// d.concurrencyToken = a.ObjectResponse["data"]["concurrencyToken"].Value<uint>();
|
||||||
|
// a = await Util.PutAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("BizAdminFull"), d.ToString());
|
||||||
|
// Util.ValidateHTTPStatusCode(a, 200);
|
||||||
|
|
||||||
|
// //check PUT worked
|
||||||
|
// a = await Util.GetAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("BizAdminFull"));
|
||||||
|
// Util.ValidateNoErrorInResponse(a);
|
||||||
|
// a.ObjectResponse["data"]["name"].Value<string>().Should().Be(d.name.ToString());
|
||||||
|
|
||||||
|
|
||||||
|
// //FETCH DISALLOWED
|
||||||
|
// //Get as alternate user should fail for private filter
|
||||||
|
// a = await Util.GetAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("SubContractorLimited"));
|
||||||
|
// Util.ValidateResponseNotFound(a);
|
||||||
|
|
||||||
|
// // //DELETE
|
||||||
|
// ApiResponse DELETETestResponse = await Util.DeleteAsync("DataFilter/" + Id.ToString(), await Util.GetTokenAsync("BizAdminFull"));
|
||||||
|
// Util.ValidateHTTPStatusCode(DELETETestResponse, 204);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
|
|||||||
Reference in New Issue
Block a user