internal static void DeleteTable(Table table) { var testConfig = TestConfiguration.Instance; var bearer = testConfig.GetBearer(); var queryString = string.Format(DeleteTableQuery, table.Id.ToQueryValue()); var query = new PipefyQuery(queryString, bearer); var result = query.Execute(); var resultObj = PipefyQuery.ParseJson(result); var success = resultObj["data"]["deleteTable"].Value <bool>("success"); if (!success) { throw new ApplicationException($"Couldn't delete table {table.Name}."); } }
internal static CustomField CreateTableField(Table table, CustomField field) { var testConfig = TestConfiguration.Instance; var bearer = testConfig.GetBearer(); var queryString = string.Format(CreateTableFieldQuery, table.Id.ToQueryValue(), field.Label.ToQueryValue(), field.Type.ToQueryValue(), field.IsRequired.ToQueryValue()); var query = new PipefyQuery(queryString, bearer); var result = query.Execute(); var resultObj = PipefyQuery.ParseJson(result); var resultField = resultObj["data"]["createTableField"]["table_field"]; field.Id = resultField.Value <string>("id"); field.IsMultiple = resultField.Value <bool>("is_multiple"); field.SetParentTable(table); return(field); }
internal static Phase CreatePhase(Pipe pipe, string name, bool done = false) { var newPhase = new Phase() { Name = name, Done = done }; var testConfig = TestConfiguration.Instance; var bearer = testConfig.GetBearer(); var queryString = string.Format(CreatePhaseQuery, pipe.Id, newPhase.Name.ToQueryValue(), newPhase.Done.ToQueryValue()); var query = new PipefyQuery(queryString, bearer); var result = query.Execute(); var resultObj = PipefyQuery.ParseJson(result); var phase = resultObj["data"]["createPhase"]["phase"]; newPhase.Id = phase.Value <long>("id"); return(newPhase); }
internal static Pipe CreatePipe(string name) { var newTable = new Pipe() { Name = name }; var testConfig = TestConfiguration.Instance; var bearer = testConfig.GetBearer(); var orgId = testConfig.GetCustomConfig("OrganizationID"); var queryString = string.Format(CreatePipeQuery, orgId, newTable.Name.ToQueryValue()); var query = new PipefyQuery(queryString, bearer); var result = query.Execute(); var resultObj = PipefyQuery.ParseJson(result); var table = resultObj["data"]["createPipe"]["pipe"]; newTable.Id = table.Value <long>("id"); return(newTable); }
internal static Organization CreateOrganization(string name, string industry = "others") { var newOrg = new Organization() { Name = name, Industry = industry }; var testConfig = TestConfiguration.Instance; var bearer = testConfig.GetBearer(); var queryString = string.Format(CreateOrganizationQuery, newOrg.Name.ToQueryValue(), newOrg.Industry.ToQueryValue()); var query = new PipefyQuery(queryString, bearer); var result = query.Execute(); var resultObj = PipefyQuery.ParseJson(result); var org = resultObj["data"]["createOrganization"]["organization"]; newOrg.Id = org.Value <long>("id"); newOrg.Role = org.Value <string>("role"); return(newOrg); }
internal static CustomField CreatePhaseField(Phase phase, CustomField field) { var testConfig = TestConfiguration.Instance; var bearer = testConfig.GetBearer(); string customOptions = string.Empty; if (field is OptionsCustomField options) { customOptions = "options: " + options.Options.ToArray().ToQueryValue(); } var queryString = string.Format(CreatePhaseFieldQuery, phase.Id.ToQueryValue(), field.Label.ToQueryValue(), field.Type.ToQueryValue(), field.IsRequired.ToQueryValue(), phase.Pipe.Id.ToQueryValue(), customOptions); var query = new PipefyQuery(queryString, bearer); var result = query.Execute(); var resultObj = PipefyQuery.ParseJson(result); var resultField = resultObj["data"]["createPhaseField"]["phase_field"]; field.Id = resultField.Value <string>("id"); field.IsMultiple = resultField.Value <bool>("is_multiple"); field.SetParentPhase(phase); return(field); }