This commit is contained in:
2018-09-07 16:46:29 +00:00
parent 5e336762f6
commit 3a9f5a4802

View File

@@ -0,0 +1,127 @@
using System;
using Xunit;
using Newtonsoft.Json.Linq;
using FluentAssertions;
using System.Collections.Generic;
using System.Collections.Concurrent;
namespace raven_integration
{
public class TagGroupOps
{
/// <summary>
/// Test taggroup
/// </summary>
[Fact]
public async void GroupOpsShouldWork()
{
//CREATE TAG1
dynamic D = new JObject();
D.name = Util.Uniquify("test-tag1-4-tag-group");
ApiResponse R = await Util.PostAsync("Tag", await Util.GetTokenAsync("BizAdminFull"), D.ToString());
Util.ValidateDataReturnResponseOk(R);
long TestTag1Id = R.ObjectResponse["result"]["id"].Value<long>();
//CREATE TAG2
D.name = Util.Uniquify("test-tag2-4-tag-group");
R = await Util.PostAsync("Tag", await Util.GetTokenAsync("BizAdminFull"), D.ToString());
Util.ValidateDataReturnResponseOk(R);
long TestTag2Id = R.ObjectResponse["result"]["id"].Value<long>();
//CREATE TAG-GROUP
D = new JObject();
D.name = Util.Uniquify("test-tag-group-for-ops");
R = await Util.PostAsync("TagGroup", await Util.GetTokenAsync("BizAdminFull"), D.ToString());
Util.ValidateDataReturnResponseOk(R);
long TestTagGroupId = R.ObjectResponse["result"]["id"].Value<long>();
//ADD TEST TAGS TO GROUP
D = new JObject();
D.tagId = TestTag1Id;
D.tagGroupId= TestTagGroupId;
R = await Util.PostAsync("TagGroupMap", await Util.GetTokenAsync("BizAdminFull"), D.ToString());
Util.ValidateDataReturnResponseOk(R);
D.tagId = TestTag2Id;
D.tagGroupId= TestTagGroupId;
R = await Util.PostAsync("TagGroupMap", await Util.GetTokenAsync("BizAdminFull"), D.ToString());
Util.ValidateDataReturnResponseOk(R);
//CREATE WIDGET
dynamic w = new JObject();
w.name = Util.Uniquify("WIDGET_TAG");
w.created = DateTime.Now.ToString();
w.dollarAmount = 1.11m;
w.active = true;
w.roles = 0;
R = await Util.PostAsync("Widget", await Util.GetTokenAsync("BizAdminFull"), w.ToString());
Util.ValidateDataReturnResponseOk(R);
long widgetId = R.ObjectResponse["result"]["id"].Value<long>();
//CREATE TAGMAP (tag the widget)
/*
{
"tagId": 0,
"tagToObjectId": 0,
"tagToObjectType": 0
}
*/
dynamic tm = new JObject();
tm.tagId = TestTagId;
tm.tagToObjectId = widgetId;
tm.tagToObjectType = 2;//widget
R = await Util.PostAsync("TagMap", await Util.GetTokenAsync("BizAdminFull"), tm.ToString());
Util.ValidateDataReturnResponseOk(R);
long tagMapId = R.ObjectResponse["result"]["id"].Value<long>();
//VERIFY TAGMAP
R = await Util.GetAsync("TagMap/" + tagMapId.ToString(), await Util.GetTokenAsync("BizAdminFull"));
Util.ValidateDataReturnResponseOk(R);
R.ObjectResponse["result"]["id"].Value<long>().Should().Be(tagMapId);
//ATTEMPT TO DELETE TAG THAT HAS TAGMAP SHOULD FAIL with 2200 / 400
R = await Util.DeleteAsync("Tag/" + TestTagId.ToString(), await Util.GetTokenAsync("BizAdminFull"));
Util.ValidateViolatesReferentialIntegrityError(R);
//DELETE TAGMAP
R = await Util.DeleteAsync("TagMap/" + tagMapId.ToString(), await Util.GetTokenAsync("BizAdminFull"));
Util.ValidateHTTPStatusCode(R, 204);
//DELETE TAG
R = await Util.DeleteAsync("Tag/" + TestTagId.ToString(), await Util.GetTokenAsync("BizAdminFull"));
Util.ValidateHTTPStatusCode(R, 204);
//DELETE WIDGET
R = await Util.DeleteAsync("Widget/" + widgetId.ToString(), await Util.GetTokenAsync("BizAdminFull"));
Util.ValidateHTTPStatusCode(R, 204);
}
//==================================================
}//eoc
}//eons