4648
This commit is contained in:
@@ -67,114 +67,52 @@ namespace raven_integration
|
|||||||
{
|
{
|
||||||
|
|
||||||
//DUPLICATE
|
//DUPLICATE
|
||||||
dynamic d = new JObject();
|
ApiResponse a = await Util.PostAsync("translation/Duplicate/1", await Util.GetTokenAsync("BizAdmin"));
|
||||||
d.id = 1;
|
|
||||||
d.name = Util.Uniquify("INTEGRATION-TEST-LOCALE");
|
|
||||||
|
|
||||||
ApiResponse a = await Util.PostAsync("translation/Duplicate", await Util.GetTokenAsync("BizAdmin"), d.ToString());
|
|
||||||
Util.ValidateDataReturnResponseOk(a);
|
Util.ValidateDataReturnResponseOk(a);
|
||||||
Util.ValidateHTTPStatusCode(a, 201);
|
Util.ValidateHTTPStatusCode(a, 201);
|
||||||
|
|
||||||
//verify the object returned is as expected
|
//verify the object returned is as expected
|
||||||
a.ObjectResponse["data"]["name"].Value<string>().Should().Be(d.name.ToString());
|
a.ObjectResponse["data"]["name"].Value<string>().Should().Contain("en-");//based on english - 1
|
||||||
a.ObjectResponse["data"]["stock"].Value<bool>().Should().Be(false);
|
a.ObjectResponse["data"]["stock"].Value<bool>().Should().Be(false);
|
||||||
a.ObjectResponse["data"]["id"].Value<long>().Should().BeGreaterThan(4);
|
a.ObjectResponse["data"]["id"].Value<long>().Should().BeGreaterThan(4);
|
||||||
a.ObjectResponse["data"]["concurrency"].Value<uint>().Should().BeGreaterThan(0);
|
a.ObjectResponse["data"]["concurrency"].Value<uint>().Should().BeGreaterThan(0);
|
||||||
((JArray)a.ObjectResponse["data"]["translationItems"]).Count.Should().BeGreaterThan(0);
|
((JArray)a.ObjectResponse["data"]["translationItems"]).Count.Should().BeGreaterThan(0);
|
||||||
|
|
||||||
long NewId = a.ObjectResponse["data"]["id"].Value<long>();
|
long NewId = a.ObjectResponse["data"]["id"].Value<long>();
|
||||||
|
dynamic d2 = a.ObjectResponse["data"];
|
||||||
|
|
||||||
//UPDATE
|
//UPDATE
|
||||||
//Update translation name
|
//Update translation name
|
||||||
|
d2.name = Util.Uniquify("INTEGRATION-TEST-LOCALE NAME UPDATE");
|
||||||
dynamic d2 = new JObject();
|
ApiResponse PUTTestResponse = await Util.PutAsync("translation", await Util.GetTokenAsync("BizAdmin"), d2.ToString());
|
||||||
d2.id = NewId;
|
|
||||||
d2.newText = Util.Uniquify("INTEGRATION-TEST-LOCALE NAME UPDATE");
|
|
||||||
d2.concurrency = a.ObjectResponse["data"]["concurrency"].Value<uint>();
|
|
||||||
ApiResponse PUTTestResponse = await Util.PutAsync("translation/UpdateTranslationName", await Util.GetTokenAsync("BizAdmin"), d2.ToString());
|
|
||||||
Util.ValidateHTTPStatusCode(PUTTestResponse, 200);
|
Util.ValidateHTTPStatusCode(PUTTestResponse, 200);
|
||||||
|
|
||||||
|
|
||||||
ApiResponse checkPUTWorked = await Util.GetAsync("translation/" + NewId.ToString(), await Util.GetTokenAsync("BizAdmin"));
|
ApiResponse checkPUTWorked = await Util.GetAsync("translation/" + NewId.ToString(), await Util.GetTokenAsync("BizAdmin"));
|
||||||
Util.ValidateNoErrorInResponse(checkPUTWorked);
|
Util.ValidateNoErrorInResponse(checkPUTWorked);
|
||||||
checkPUTWorked.ObjectResponse["data"]["name"].Value<string>().Should().Be(d2.newText.ToString());
|
checkPUTWorked.ObjectResponse["data"]["name"].Value<string>().Should().Be(d2.name.ToString());
|
||||||
//uint concurrency = PUTTestResponse.ObjectResponse["data"]["concurrency"].Value<uint>();
|
|
||||||
|
|
||||||
|
|
||||||
//Update translation key
|
|
||||||
var FirstTranslationKey = ((JArray)a.ObjectResponse["data"]["translationItems"])[0];
|
|
||||||
long UpdatedTranslationKeyId = FirstTranslationKey["id"].Value<long>();
|
|
||||||
d2.id = UpdatedTranslationKeyId;
|
|
||||||
d2.newText = Util.Uniquify("INTEGRATION-TEST-LOCALEITEM DISPLAY UPDATE");
|
|
||||||
d2.concurrency = FirstTranslationKey["concurrency"].Value<uint>();
|
|
||||||
|
|
||||||
|
//Update translation key
|
||||||
|
d2 = a.ObjectResponse["data"];
|
||||||
|
var FirstTranslationKey = ((JArray)d2["translationItems"])[0];
|
||||||
|
var FirstTranslationKeyNewText=Util.Uniquify("INTEGRATION-TEST-LOCALEITEM DISPLAY UPDATE");
|
||||||
|
FirstTranslationKey["display"] = FirstTranslationKeyNewText;
|
||||||
string UpdatedTranslationKey = FirstTranslationKey["key"].Value<string>();
|
string UpdatedTranslationKey = FirstTranslationKey["key"].Value<string>();
|
||||||
|
PUTTestResponse = await Util.PutAsync("translation", await Util.GetTokenAsync("BizAdmin"), d2.ToString());
|
||||||
PUTTestResponse = await Util.PutAsync("translation/UpdateTranslationItemDisplayText", await Util.GetTokenAsync("BizAdmin"), d2.ToString());
|
|
||||||
Util.ValidateHTTPStatusCode(PUTTestResponse, 200);
|
Util.ValidateHTTPStatusCode(PUTTestResponse, 200);
|
||||||
|
|
||||||
//create user that is set to new translation so can use getSubset
|
|
||||||
var Login = Util.Uniquify("LOGIN");
|
|
||||||
var Password = Util.Uniquify("PASSWORD");
|
|
||||||
dynamic DUSER = new JObject();
|
|
||||||
DUSER.name = Util.Uniquify("TranslationUpdateSubsetTestUser");
|
|
||||||
|
|
||||||
DUSER.active = true;
|
|
||||||
DUSER.login = Login;
|
|
||||||
DUSER.password = Password;
|
|
||||||
DUSER.roles = 0;//norole (any role can get a subset of translation keys)
|
|
||||||
// DUSER.translationId = NewId;
|
|
||||||
DUSER.userType = 2;// not service type user
|
|
||||||
//Required by form custom rules
|
|
||||||
DUSER.notes = "notes";
|
|
||||||
DUSER.customFields = Util.UserRequiredCustomFieldsJsonString();
|
|
||||||
a = await Util.PostAsync("User", await Util.GetTokenAsync("superuser", "l3tm3in"), DUSER.ToString());
|
|
||||||
Util.ValidateDataReturnResponseOk(a);
|
|
||||||
long DUSERID = a.ObjectResponse["data"]["id"].Value<long>();
|
|
||||||
|
|
||||||
|
|
||||||
//RETRIEVE companion USEROPTIONS object
|
|
||||||
ApiResponse R = await Util.GetAsync("user-option/" + DUSERID.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
|
|
||||||
Util.ValidateDataReturnResponseOk(R);
|
|
||||||
//ensure the default value is set
|
|
||||||
R.ObjectResponse["data"]["uiColor"].Value<string>().Should().Be("#000000");
|
|
||||||
uint concurrency = R.ObjectResponse["data"]["concurrency"].Value<uint>();
|
|
||||||
|
|
||||||
//UPDATE
|
|
||||||
|
|
||||||
//PUT
|
|
||||||
dynamic D2 = new JObject();
|
|
||||||
D2.translationId = NewId;
|
|
||||||
|
|
||||||
D2.concurrency = concurrency;
|
|
||||||
PUTTestResponse = await Util.PutAsync("user-option/" + DUSERID.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"), D2.ToString());
|
|
||||||
Util.ValidateHTTPStatusCode(PUTTestResponse, 200);
|
|
||||||
|
|
||||||
//VALIDATE
|
|
||||||
R = await Util.GetAsync("user-option/" + DUSERID.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
|
|
||||||
Util.ValidateDataReturnResponseOk(R);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<string> keys = new List<string>();
|
List<string> keys = new List<string>();
|
||||||
keys.AddRange(new string[] { UpdatedTranslationKey });
|
keys.AddRange(new string[] { UpdatedTranslationKey });
|
||||||
dynamic d3 = new JObject();
|
dynamic d = new JObject();
|
||||||
|
d = JToken.FromObject(keys);
|
||||||
|
|
||||||
d3 = JToken.FromObject(keys);
|
checkPUTWorked = await Util.PostAsync($"translation/subset/{NewId}", await Util.GetTokenAsync("BizAdmin"), d.ToString());
|
||||||
|
|
||||||
checkPUTWorked = await Util.PostAsync("translation/subset", await Util.GetTokenAsync(Login, Password), d3.ToString());
|
|
||||||
Util.ValidateDataReturnResponseOk(checkPUTWorked);
|
Util.ValidateDataReturnResponseOk(checkPUTWorked);
|
||||||
Util.ValidateHTTPStatusCode(checkPUTWorked, 200);
|
Util.ValidateHTTPStatusCode(checkPUTWorked, 200);
|
||||||
((JArray)checkPUTWorked.ObjectResponse["data"]).Count.Should().Be(1);
|
((JArray)checkPUTWorked.ObjectResponse["data"]).Count.Should().Be(1);
|
||||||
var FirstTranslationKeyUpdated = ((JArray)checkPUTWorked.ObjectResponse["data"])[0];
|
var FirstTranslationKeyUpdated = ((JArray)checkPUTWorked.ObjectResponse["data"])[0];
|
||||||
|
FirstTranslationKeyUpdated["value"].Value<string>().Should().Be(FirstTranslationKeyNewText);
|
||||||
FirstTranslationKeyUpdated["value"].Value<string>().Should().Be(d2.newText.ToString());
|
|
||||||
|
//DELETE TEMP TRANSLATION
|
||||||
//DELETE TEMPORARY USER SO CAN DELETE LOCALE
|
a = await Util.DeleteAsync($"translation/{NewId}", await Util.GetTokenAsync("BizAdmin"));
|
||||||
a = await Util.DeleteAsync("User/" + DUSERID.ToString(), await Util.GetTokenAsync("superuser", "l3tm3in"));
|
|
||||||
Util.ValidateHTTPStatusCode(a, 204);
|
|
||||||
|
|
||||||
//DELETE TEMP LOCALE
|
|
||||||
a = await Util.DeleteAsync("translation/" + NewId.ToString(), await Util.GetTokenAsync("BizAdmin"));
|
|
||||||
Util.ValidateHTTPStatusCode(a, 204);
|
Util.ValidateHTTPStatusCode(a, 204);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user