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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }