public async Task CreateFailTest() { var client = await LoginTask() .ConfigureAwait(false); await DeleteTestingRecords(client) .ConfigureAwait(false); try { await Assert.ThrowsAsync <ForceException>(async() => { var result = await client.CreateAsync("Account", new JObject()) .ConfigureAwait(false); result.Assert(); }); await Assert.ThrowsAsync <ForceException>(async() => { var obj = new AttributedObject($"UnknownObject{Guid.NewGuid():N}"); var request = new CreateRequest { Records = new List <IAttributedObject> { obj } }; var result = await client.CreateAsync($"UnknownObject{Guid.NewGuid():N}", request) .ConfigureAwait(false); result.Assert(); }); await Assert.ThrowsAsync <ForceException>(async() => { var prd2List = Enumerable.Range(1, 4000).Select(_ => new AttributedObject($"UnknownObject{Guid.NewGuid():N}")); var result = await client.Composite.CreateAsync(prd2List.ToList()) .ConfigureAwait(false); result.Assert(); }); } finally { await DeleteTestingRecords(client) .ConfigureAwait(false); } }
public Project GetProjectData() { RhinoDoc doc = RhinoDoc.ActiveDoc; Project project = new Project(); project.Name = doc.Name; project.Id = Guid.NewGuid(); //Store on RhinoDoc User Text project.UserId = DwwebRhinoPlugin.Instance.LoggedInUser.Id; project.Objects = new List <AttributedObject>(); var objects = RhinoDoc.ActiveDoc.Objects.GetObjectList(ObjectType.AnyObject).ToList(); foreach (RhinoObject rObj in objects) { AttributedObject aObj = new AttributedObject() { Id = rObj.Id, Type = rObj.ObjectType.ToString(), Geometry = rObj.ToThreeJSGeometry() }; aObj.Parameters = new List <Parameter>(); foreach (string key in rObj.Attributes.GetUserStrings()) { aObj.Parameters.Add(new Parameter() { Name = key, Value = rObj.Attributes.GetUserString(key) });; } project.Objects.Add(aObj); } return(project); }
public async Task CreateTest() { var client = await LoginTask() .ConfigureAwait(false); await DeleteTestingRecords(client) .ConfigureAwait(false); try { var result1 = await client .CreateAsync("Case", new JObject { ["Subject"] = "UnitTest0" }) .ConfigureAwait(false); result1.Assert(); var caseList = Enumerable.Range(1, 40).Select(i => new AttributedObject("Case") { ["Subject"] = $"UnitTest{i}" }).ToArray(); var result = await client.Composite.CreateAsync(caseList, true) .ConfigureAwait(false); result.Assert(); Assert.NotEmpty(result.SuccessResponses()); const int expected = 200 * 26; var existingCase = await client.QueryAsync($@" SELECT Name FROM Opportunity ORDER BY Id LIMIT {expected}").Pull().ToListAsync() .ConfigureAwait(false); var newCase = await client.Composite.CreateAsync(existingCase .Select(c => new AttributedObject("Case") { ["Subject"] = $"UnitTest{c["Name"]}" }).ToList()) .ConfigureAwait(false); newCase.Assert(); Assert.NotEmpty(newCase.SuccessResponses()); var obj = new AttributedObject("Account", $"acc{Guid.NewGuid():N}") { ["Name"] = $"UnitTest Account {Guid.NewGuid():N}", ["BillingCountry"] = "Hong Kong", ["Contacts"] = new RecordsObject(Enumerable.Range(1, 2).Select(j => new AttributedObject("Contact", $"cont{Guid.NewGuid():N}") { ["FirstName"] = $"UnitTest Contact A{(char)('a'+j)}", ["LastName"] = $"UnitTest Contact A{(char)('a'+j)}", ["MailingCountry"] = "Hong Kong" } )) }; var createTreeResult = await client .CreateAsync("Account", new RecordsObject(new[] { obj }).ToCreateRequest()) .ConfigureAwait(false); createTreeResult.Assert(); Assert.NotEmpty(createTreeResult.Results ?? new List <SaveResult>()); var accounts = Enumerable.Range(1, 6).Select(i => new AttributedObject("Account", $"acc{i}") { ["Name"] = $"UnitTest Account {i}", ["BillingCountry"] = "Hong Kong", ["Contacts"] = new RecordsObject(Enumerable.Range(1, 2).Select(j => new AttributedObject("Contact", $"cont{Guid.NewGuid():N}") { ["FirstName"] = $"UnitTest Contact B{(char)('a'+j)}", ["LastName"] = $"UnitTest Contact B{(char)('a'+j)}", ["MailingCountry"] = "Hong Kong" })) }); var accountsResult = await client.Composite.CreateTreeAsync("Account", accounts.ToList()) .ConfigureAwait(false); accountsResult.Assert(); Assert.NotEmpty(accountsResult.Results ?? new List <SaveResult>()); } finally { await DeleteTestingRecords(client) .ConfigureAwait(false); } }