mirror of
https://github.com/cypress-io/cypress.git
synced 2026-05-07 23:40:21 -05:00
d2ef2c1393
Co-authored-by: Matt Schile <mschile@cypress.io> Co-authored-by: David Rowe <95636404+davidr-cy@users.noreply.github.com> Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2490 lines
64 KiB
GraphQL
2490 lines
64 KiB
GraphQL
### This file was generated by Nexus Schema
|
|
### Do not make changes to this file directly
|
|
|
|
|
|
"""Represents state of auth based on most recent message from login flow"""
|
|
type AuthState {
|
|
"""Whether the browser was successfully opened for login"""
|
|
browserOpened: Boolean!
|
|
|
|
"""Message for the auth state"""
|
|
message: String
|
|
|
|
"""Name of auth state, e.g. AUTH_BROWSER_LAUNCHED"""
|
|
name: AuthStateNameEnum
|
|
}
|
|
|
|
enum AuthStateNameEnum {
|
|
AUTH_BROWSER_LAUNCHED
|
|
AUTH_COULD_NOT_LAUNCH_BROWSER
|
|
AUTH_ERROR_DURING_LOGIN
|
|
}
|
|
|
|
"""Container representing a browser"""
|
|
type Browser implements Node {
|
|
channel: String!
|
|
disabled: Boolean
|
|
displayName: String!
|
|
family: BrowserFamily!
|
|
|
|
"""Relay style Node ID field for the Browser field"""
|
|
id: ID!
|
|
isFocusSupported: Boolean!
|
|
isSelected: Boolean!
|
|
isVersionSupported: Boolean!
|
|
majorVersion: String
|
|
name: String!
|
|
path: String!
|
|
version: String!
|
|
warning: String
|
|
}
|
|
|
|
enum BrowserFamily {
|
|
chromium
|
|
firefox
|
|
webkit
|
|
}
|
|
|
|
enum BrowserStatus {
|
|
closed
|
|
open
|
|
opening
|
|
}
|
|
|
|
"""
|
|
When we don't have an immediate response for the cloudViewer request, we'll use this as a fallback to
|
|
render the avatar in the header bar / signal authenticated state immediately
|
|
"""
|
|
type CachedUser implements Node {
|
|
"""Email address of the cached user"""
|
|
email: String
|
|
|
|
"""Name of the cached user"""
|
|
fullName: String
|
|
|
|
"""Relay style Node ID field for the CachedUser field"""
|
|
id: ID!
|
|
}
|
|
|
|
"""Information about the browser the tests were run on"""
|
|
type CloudBrowserInfo implements Node {
|
|
"""The formatted name of the browser, e.g. `Electron`"""
|
|
formattedName: String
|
|
|
|
"""
|
|
The formatted name of the browser with the current version i.e `Electron 59.0.278`
|
|
"""
|
|
formattedNameWithVersion: String
|
|
|
|
"""The version of the browser, i.e. `59`"""
|
|
formattedVersion: String
|
|
id: ID!
|
|
|
|
"""The ID of the browser, e.g. `electron`"""
|
|
unformattedName: String
|
|
|
|
"""The unformatted version of the browser, i.e. `59.0.278`"""
|
|
unformattedVersion: String
|
|
}
|
|
|
|
"""Information about the CI provider that performed a run"""
|
|
type CloudCiBuildInfo implements Node {
|
|
"""CI build ID as extracted from the CI worker environment (if available)"""
|
|
ciBuildNumber: String
|
|
|
|
"""
|
|
Formatted CI build ID as extracted from the CI worker environment (if available)
|
|
"""
|
|
ciBuildNumberFormatted: String
|
|
|
|
"""
|
|
The formatted name of the provider that performed the associated run, e.g. `CircleCI`
|
|
"""
|
|
formattedProvider: String
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""
|
|
The ID of the provider that performed the associated run, e.g. `circleci`
|
|
"""
|
|
provider: String
|
|
|
|
"""
|
|
A link to the build details for the associated run within the CI provider (if available)
|
|
"""
|
|
url: String
|
|
}
|
|
|
|
"""Feature not available for subscription"""
|
|
type CloudFeatureNotEnabled {
|
|
"""an error message"""
|
|
message: String!
|
|
}
|
|
|
|
"""
|
|
Represents a pollable status for clients to know when refetching data is required.
|
|
"""
|
|
type CloudLatestRunUpdateSpecData {
|
|
"""DateTime of the latest update in a project."""
|
|
mostRecentUpdate: DateTime
|
|
|
|
"""Recommended seconds to wait before next poll."""
|
|
pollingInterval: Int
|
|
}
|
|
|
|
"""The operating system the tests were run on"""
|
|
type CloudOperatingSystem implements Node {
|
|
id: ID!
|
|
|
|
"""The formatted name of the operating system, e.g. `linux`"""
|
|
name: String
|
|
|
|
"""
|
|
The formatted name of the operating system with the version, e.g. `linux 14.04`
|
|
"""
|
|
nameWithVersion: String
|
|
|
|
"""The platform of the OS, e.g. `linux`"""
|
|
platform: OperatingSystemsEnum
|
|
unformattedName: String
|
|
|
|
"""The version of the operating system, e.g. `14.04`"""
|
|
version: String
|
|
}
|
|
|
|
"""
|
|
A CloudOrganization represents an Organization stored in the Cypress Cloud
|
|
"""
|
|
type CloudOrganization implements Node {
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""Name of the organization"""
|
|
name: String
|
|
|
|
"""A connection for cloud projects associated with this organization"""
|
|
projects(
|
|
"""Returns the elements in the list that come after the specified cursor"""
|
|
after: String
|
|
|
|
"""Returns the elements in the list that come before the specified cursor"""
|
|
before: String
|
|
|
|
"""Returns the first n elements from the list."""
|
|
first: Int
|
|
|
|
"""Returns the last n elements from the list."""
|
|
last: Int
|
|
): CloudProjectConnection
|
|
}
|
|
|
|
type CloudOrganizationConnection {
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
|
|
"""
|
|
edges: [CloudOrganizationEdge!]!
|
|
|
|
"""Flattened list of CloudOrganization type"""
|
|
nodes: [CloudOrganization!]!
|
|
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
|
|
"""
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type CloudOrganizationEdge {
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
|
|
cursor: String!
|
|
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
|
|
node: CloudOrganization!
|
|
}
|
|
|
|
type CloudPollingIntervals {
|
|
"""
|
|
The frequency with which the CloudProject.runByNumber field should be polled, in seconds.
|
|
"""
|
|
runByNumber: Int
|
|
|
|
"""
|
|
The frequency with which the CloudProject.runsByCommitShas field should be polled, in seconds.
|
|
"""
|
|
runsByCommitShas: Int
|
|
}
|
|
|
|
"""A CloudProject represents a Project stored in the Cypress Cloud"""
|
|
type CloudProject implements Node {
|
|
"""A link to the settings page of the project in the dashboard"""
|
|
cloudProjectSettingsUrl: String!
|
|
|
|
"""A link to the project in the dashboard"""
|
|
cloudProjectUrl: String!
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""The latest run for a given spec"""
|
|
latestRun: CloudRun
|
|
|
|
"""Given name of the project"""
|
|
name: String!
|
|
|
|
"""The organization the project is a member of"""
|
|
organization: CloudOrganization
|
|
|
|
"""Record keys for the service"""
|
|
recordKeys: [CloudRecordKey!]
|
|
|
|
"""Gets a single CloudRun by runNumber"""
|
|
runByNumber(runNumber: Int!): CloudRun
|
|
|
|
"""A connection field type"""
|
|
runs(
|
|
"""Returns the elements in the list that come after the specified cursor"""
|
|
after: String
|
|
|
|
"""Returns the elements in the list that come before the specified cursor"""
|
|
before: String
|
|
cypressVersion: String
|
|
|
|
"""Returns the first n elements from the list."""
|
|
first: Int
|
|
|
|
"""Returns the last n elements from the list."""
|
|
last: Int
|
|
status: CloudRunStatus
|
|
): CloudRunConnection
|
|
|
|
"""
|
|
Returns runs associated to the given git commit SHAs hashes. The returned runs are ordered in the same way as the provided hashes.
|
|
"""
|
|
runsByCommitShas(
|
|
"""An ordered list of git commit sha1 hashes."""
|
|
commitShas: [String!]!
|
|
|
|
"""A limit to apply to the sorted list of found runs."""
|
|
runLimit: Int! = 100
|
|
): [CloudRun]
|
|
|
|
"""Unique identifier for a Project"""
|
|
slug: String!
|
|
}
|
|
|
|
type CloudProjectConnection {
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
|
|
"""
|
|
edges: [CloudProjectEdge!]!
|
|
|
|
"""Flattened list of CloudProject type"""
|
|
nodes: [CloudProject!]!
|
|
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
|
|
"""
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type CloudProjectEdge {
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
|
|
cursor: String!
|
|
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
|
|
node: CloudProject!
|
|
}
|
|
|
|
"""Unable to find cloud project"""
|
|
type CloudProjectNotFound {
|
|
"""an error message"""
|
|
message: String!
|
|
}
|
|
|
|
union CloudProjectResult = CloudProject | CloudProjectNotFound | CloudProjectUnauthorized
|
|
|
|
type CloudProjectSpec implements Node {
|
|
"""Average duration the spec takes to run"""
|
|
averageDuration(
|
|
"""
|
|
The branch to measure average duration against. This will fallback to the closest branch with data.
|
|
"""
|
|
fromBranch: String!
|
|
): Float
|
|
|
|
"""
|
|
Average duration the spec takes to run within the context of the provided CloudRun ids.
|
|
"""
|
|
averageDurationForRunIds(
|
|
"""
|
|
The ids for the CloudRuns to use to derive the average duration. When provided, the fromBranch argument is ignored, as the provided run ids define the search space.
|
|
"""
|
|
cloudRunIds: [ID!]!
|
|
): Float
|
|
flakyStatus(
|
|
"""The number of runs to consider when counting flaky runs."""
|
|
flakyRunsWindow: Int!
|
|
|
|
"""
|
|
The branch to measure average duration against. This will fallback to the closest branch with data.
|
|
"""
|
|
fromBranch: String!
|
|
): CloudProjectSpecFlakyResult
|
|
|
|
"""
|
|
The flaky metadata for the spec within the context of the provided CloudRun ids.
|
|
"""
|
|
flakyStatusForRunIds(
|
|
"""
|
|
The ids for the CloudRuns, ordered from most to least relevant, to use to derive the flaky status.
|
|
"""
|
|
cloudRunIds: [ID!]!
|
|
): CloudProjectSpecFlakyResult
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
isConsideredFlaky(
|
|
"""The branch to measure flakiness against"""
|
|
fromBranch: String!
|
|
): Boolean
|
|
|
|
"""
|
|
Indicator that a spec is considered flaky within the context of the provided CloudRun ids.
|
|
"""
|
|
isConsideredFlakyForRunIds(
|
|
"""
|
|
The ids for the CloudRuns to use to derive the flake indicator. When provided, the fromBranch argument is ignored, as the provided run ids define the search space.
|
|
"""
|
|
cloudRunIds: [ID!]!
|
|
): Boolean
|
|
|
|
"""
|
|
Current DateTime on the server. Used in connection with CloudLatestRunUpdateSpecData.
|
|
"""
|
|
retrievedAt: DateTime
|
|
|
|
"""Shortened spec path"""
|
|
specPath: String
|
|
|
|
"""Runs this spec has been involved with."""
|
|
specRuns(
|
|
"""Returns the elements in the list that come after the specified cursor"""
|
|
after: String
|
|
|
|
"""Returns the elements in the list that come before the specified cursor"""
|
|
before: String
|
|
|
|
"""Returns the first n elements from the list."""
|
|
first: Int
|
|
|
|
"""
|
|
The branch to filter on for the specs. This will fallback to the closest branch with data.
|
|
"""
|
|
fromBranch: String!
|
|
|
|
"""Returns the last n elements from the list."""
|
|
last: Int
|
|
): CloudSpecRunConnection @deprecated(reason: "Cypress app should utilize specRunsForRunIds to retrieve more relevant data based on local state")
|
|
|
|
"""
|
|
Runs this spec has been involved with, limited to the provided list of CloudRun ids.
|
|
Runs will be returned in the same order as the runs provided, where matches are found.
|
|
"""
|
|
specRunsForRunIds(
|
|
"""A list of IDs for a CloudRun Node, conforming to the Relay spec"""
|
|
cloudRunIds: [ID!]!
|
|
): [CloudSpecRun]
|
|
}
|
|
|
|
union CloudProjectSpecFlakyResult = CloudFeatureNotEnabled | CloudProjectSpecFlakyStatus
|
|
|
|
type CloudProjectSpecFlakyStatus {
|
|
"""URL linking to the flaky data in the Cypress dashboard for this spec"""
|
|
dashboardUrl: String
|
|
|
|
"""Number of flaky runs from the considered runs"""
|
|
flakyRuns: Int
|
|
flakyRunsWindow: Int
|
|
|
|
"""
|
|
The last flaky run occurrence, interpreted as "n runs ago" - ex: a value of 5 means a flaky run last occurred 5 runs ago. Will be null if field is a child of flayStatusForRunIds
|
|
"""
|
|
lastFlaky: Int
|
|
|
|
"""
|
|
The associated commit_sha of the CloudRun containing the most recent flaky occurrence of the spec. Will be populated if field is a child of flayStatusForRunIds.
|
|
"""
|
|
lastFlakyRunCommitSha: String
|
|
|
|
"""
|
|
The run number of the CloudRun containing the most recent flaky occurrence of the spec. Will be populated if field is a child of flayStatusForRunIds.
|
|
"""
|
|
lastFlakyRunNumber: Int
|
|
severity: String
|
|
}
|
|
|
|
"""Unable to find cloud spec in project"""
|
|
type CloudProjectSpecNotFound {
|
|
"""an error message"""
|
|
message: String!
|
|
retrievedAt: DateTime
|
|
}
|
|
|
|
union CloudProjectSpecResult = CloudProjectSpec | CloudProjectSpecNotFound | CloudProjectUnauthorized
|
|
|
|
"""Unauthorized access"""
|
|
type CloudProjectUnauthorized {
|
|
"""does the user have a requested access pending"""
|
|
hasRequestedAccess: Boolean
|
|
|
|
"""an error message"""
|
|
message: String!
|
|
}
|
|
|
|
type CloudRecordKey implements Node {
|
|
createdAt: DateTime
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""The Record Key"""
|
|
key: String
|
|
lastUsedAt: DateTime
|
|
}
|
|
|
|
"""A Recorded run of the Test Runner, typically to the cloud"""
|
|
type CloudRun implements Node {
|
|
"""Whether or not the run was canceled due to a failure"""
|
|
cancelOnFailure: Boolean
|
|
|
|
"""When the run was cancelled, null if not cancelled"""
|
|
cancelledAt: DateTime
|
|
|
|
"""
|
|
The user who manually cancelled the run, null if not cancelled manually
|
|
"""
|
|
cancelledBy: CloudUser
|
|
|
|
"""Information about the CI provider that performed the run"""
|
|
ci: CloudCiBuildInfo!
|
|
commitInfo: CloudRunCommitInfo
|
|
completedAt: DateTime
|
|
|
|
"""Number of specs instances that have been completed within a run"""
|
|
completedInstanceCount: Int
|
|
|
|
"""When the run was created"""
|
|
createdAt: DateTime!
|
|
|
|
"""
|
|
Errors recorded against tests within this run, as reported by the Cypress App during recording
|
|
"""
|
|
errors: [String!]!
|
|
|
|
"""All groups within this run"""
|
|
groups: [CloudRunGroup!]!
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""
|
|
Whether this run is hidden to the user due to data limits. Specific reasons are provided in the reasonsRunIsHidden field.
|
|
"""
|
|
isHidden: Boolean!
|
|
|
|
"""Action user can perform when the run is over a usage limit"""
|
|
overLimitActionType: OverLimitActionTypeEnum!
|
|
|
|
"""A link a user can navigate to when the run is over a usage limit"""
|
|
overLimitActionUrl: String!
|
|
|
|
"""
|
|
Reasons why this run is hidden. List will be empty if the run is not hidden.
|
|
"""
|
|
reasonsRunIsHidden: [CloudRunHidingReason]!
|
|
runNumber: Int
|
|
|
|
"""
|
|
The datetime at which the run is currently scheduled to be completed. Will be null if not currently scheduled for completion or if already completed.
|
|
"""
|
|
scheduledToCompleteAt: DateTime
|
|
|
|
"""All specs within this run"""
|
|
specs: [CloudSpecRun!]!
|
|
status: CloudRunStatus
|
|
tags: [CloudRunTag]
|
|
|
|
"""Tests within this run that failed and need to be reviewed"""
|
|
testsForReview(limit: Int! = 100): [CloudTestResult!]!
|
|
|
|
"""
|
|
Total duration of the run in milliseconds, accounting for any parallelization
|
|
"""
|
|
totalDuration: Int
|
|
|
|
"""This is the number of failed tests across all groups in the run"""
|
|
totalFailed: Int
|
|
|
|
"""Number of flaky tests, null if flake detection is not enabled"""
|
|
totalFlakyTests: Int
|
|
|
|
"""Number of instances within a run"""
|
|
totalInstanceCount: Int
|
|
|
|
"""This is the number of passed tests across all groups in the run"""
|
|
totalPassed: Int
|
|
|
|
"""This is the number of pending tests across all groups in the run"""
|
|
totalPending: Int
|
|
|
|
"""This is the number of running tests across all groups in the run"""
|
|
totalRunning: Int
|
|
|
|
"""This is the number of skipped tests across all groups in the run"""
|
|
totalSkipped: Int
|
|
|
|
"""This is the number of tests across all groups in the run"""
|
|
totalTests: Int
|
|
|
|
"""A link to the run page"""
|
|
url: String
|
|
}
|
|
|
|
type CloudRunCommitInfo {
|
|
authorAvatar: String
|
|
authorEmail: String
|
|
authorName: String
|
|
branch: String
|
|
branchUrl: String
|
|
message(
|
|
"""Number of characters to truncate the commit message to"""
|
|
truncate: Int
|
|
): String
|
|
sha: String
|
|
summary: String
|
|
url: String
|
|
}
|
|
|
|
type CloudRunConnection {
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
|
|
"""
|
|
edges: [CloudRunEdge!]!
|
|
|
|
"""Flattened list of CloudRun type"""
|
|
nodes: [CloudRun!]!
|
|
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
|
|
"""
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type CloudRunEdge {
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
|
|
cursor: String!
|
|
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
|
|
node: CloudRun!
|
|
}
|
|
|
|
"""A group of tests that are executed together within a run"""
|
|
type CloudRunGroup implements Node {
|
|
"""The browser the tests were run on"""
|
|
browser: CloudBrowserInfo!
|
|
|
|
"""The date and time the group was completed"""
|
|
completedAt: DateTime
|
|
|
|
"""The date and time the group was created"""
|
|
createdAt: DateTime!
|
|
|
|
"""The overall duration of the tests in the group in milliseconds"""
|
|
duration: Int!
|
|
|
|
"""The name of the group"""
|
|
groupName: String
|
|
id: ID!
|
|
|
|
"""The operating system the tests were run on"""
|
|
os: CloudOperatingSystem!
|
|
status: CloudRunGroupStatusEnum!
|
|
|
|
"""The type of the test"""
|
|
testingType: String!
|
|
|
|
"""The total number of tests that failed within the group"""
|
|
totalFailures: Int!
|
|
|
|
"""The total number of tests that passed within the group"""
|
|
totalPasses: Int!
|
|
|
|
"""The total number of tests that are pending within the group"""
|
|
totalPending: Int!
|
|
|
|
"""The total number of tests that are skipped within the group"""
|
|
totalSkipped: Int!
|
|
}
|
|
|
|
"""Possible check status of a run group"""
|
|
enum CloudRunGroupStatusEnum {
|
|
CANCELLED
|
|
ERRORED
|
|
FAILED
|
|
NOTESTS
|
|
PASSED
|
|
RUNNING
|
|
TIMEDOUT
|
|
UNCLAIMED
|
|
}
|
|
|
|
"""The reason a run was hidden, along with any details"""
|
|
union CloudRunHidingReason = DataRetentionLimitExceeded | UsageLimitExceeded
|
|
|
|
"""An instance of executing a single test within a run"""
|
|
type CloudRunInstance implements Node {
|
|
"""The ID of the group that this instance belongs to"""
|
|
groupId: String!
|
|
|
|
"""Used to determine if the instance has screenshots"""
|
|
hasScreenshots: Boolean!
|
|
|
|
"""Used to determine if the instance has stdout"""
|
|
hasStdout: Boolean!
|
|
|
|
"""Used to determine if the instance has screenshots"""
|
|
hasVideo: Boolean!
|
|
id: ID!
|
|
|
|
"""Link to Cypress Cloud to view stdout, if available"""
|
|
screenshotsUrl: String
|
|
|
|
"""The status of the instance"""
|
|
status: RunInstanceStatusEnum!
|
|
|
|
"""Link to Cypress Cloud to view stdout, if available"""
|
|
stdoutUrl: String
|
|
|
|
"""This is the number of failed tests for the instance"""
|
|
totalFailed: Int
|
|
|
|
"""This is the number of passed tests for the instance"""
|
|
totalPassed: Int
|
|
|
|
"""This is the number of pending tests for the instance"""
|
|
totalPending: Int
|
|
|
|
"""This is the number of running tests for the instance"""
|
|
totalRunning: Int
|
|
|
|
"""This is the number of skipped tests for the instance"""
|
|
totalSkipped: Int
|
|
|
|
"""Link to Cypress Cloud to view stdout, if available"""
|
|
videoUrl: String
|
|
}
|
|
|
|
"""Possible check status of the test run"""
|
|
enum CloudRunStatus {
|
|
CANCELLED
|
|
ERRORED
|
|
FAILED
|
|
NOTESTS
|
|
OVERLIMIT
|
|
PASSED
|
|
RUNNING
|
|
TIMEDOUT
|
|
}
|
|
|
|
type CloudRunTag implements Node {
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
name: String
|
|
}
|
|
|
|
"""
|
|
Details of test recording in Cypress Cloud for a spec file within a run
|
|
"""
|
|
type CloudSpecRun implements Node {
|
|
"""Basename of the spec file"""
|
|
basename: String!
|
|
|
|
"""When the spec was completed"""
|
|
completedAt: DateTime
|
|
|
|
"""When the spec was registered to run"""
|
|
createdAt: DateTime
|
|
|
|
"""Extension of the spec file"""
|
|
extension: String!
|
|
|
|
"""Amount of groups this spec was run in"""
|
|
groupCount: Int
|
|
|
|
"""Unique identifiers for each group this spec was run in"""
|
|
groupIds: [String]
|
|
id: ID!
|
|
|
|
"""Full path to the spec file"""
|
|
path: String!
|
|
|
|
"""Incremental run number assigned"""
|
|
runNumber: Int
|
|
|
|
"""Short path to the spec file without leading Cypress directories"""
|
|
shortPath: String
|
|
|
|
"""
|
|
Aggregate information about how long the spec took to run in the groups
|
|
"""
|
|
specDuration: SpecDataAggregate
|
|
|
|
"""Most important status for the spec shared between all groups"""
|
|
status: CloudSpecStatus
|
|
|
|
"""Aggregate information about how many tests failed in the groups"""
|
|
testsFailed: SpecDataAggregate
|
|
|
|
"""Aggregate information about how many tests passed in the groups"""
|
|
testsPassed: SpecDataAggregate
|
|
|
|
"""Aggregate information about how many tests are pending in the groups"""
|
|
testsPending: SpecDataAggregate
|
|
|
|
"""Aggregate information about how many tests were skipped in the groups"""
|
|
testsSkipped: SpecDataAggregate
|
|
|
|
"""A link to the run overview page in Cypress Cloud filtered by spec"""
|
|
url: String
|
|
}
|
|
|
|
type CloudSpecRunConnection {
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
|
|
"""
|
|
edges: [CloudSpecRunEdge!]!
|
|
|
|
"""Flattened list of CloudSpecRun type"""
|
|
nodes: [CloudSpecRun!]!
|
|
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
|
|
"""
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type CloudSpecRunEdge {
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
|
|
cursor: String!
|
|
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
|
|
node: CloudSpecRun!
|
|
}
|
|
|
|
"""Possible check status of the spec within a run"""
|
|
enum CloudSpecStatus {
|
|
CANCELLED
|
|
ERRORED
|
|
FAILED
|
|
NOTESTS
|
|
PASSED
|
|
RUNNING
|
|
TIMEDOUT
|
|
UNCLAIMED
|
|
}
|
|
|
|
"""Details of a recording in Cypress Cloud for a single test within a run"""
|
|
type CloudTestResult implements Node {
|
|
"""This is the duration of the test result in milliseconds"""
|
|
duration: Int
|
|
id: ID!
|
|
|
|
"""The instance of running the test result within the corresponding run"""
|
|
instance: CloudRunInstance
|
|
|
|
"""If the test result was flaky in the current run"""
|
|
isFlaky: Boolean!
|
|
|
|
"""The spec ID of the test result"""
|
|
specId: String!
|
|
|
|
"""The state of the test result"""
|
|
state: CloudTestResultStateEnum!
|
|
|
|
"""The URL to the test result in Cypress Cloud"""
|
|
testUrl: String!
|
|
|
|
"""
|
|
The thumbprint of the test result, allows for deduping tests sharing the same title in the same spec
|
|
"""
|
|
thumbprint: String!
|
|
|
|
"""The title of the test result: describe/context > it/test"""
|
|
title(
|
|
"""This will trim the test title to the provided depth"""
|
|
depth: Int!
|
|
): String!
|
|
|
|
"""The title of the test result split into parts"""
|
|
titleParts: [String!]!
|
|
}
|
|
|
|
"""State of the test result"""
|
|
enum CloudTestResultStateEnum {
|
|
CANCELLED
|
|
ERRORED
|
|
FAILED
|
|
PASSED
|
|
PENDING
|
|
RUNNING
|
|
SKIPPED
|
|
TIMEDOUT
|
|
UNKNOWN
|
|
}
|
|
|
|
"""A CloudUser represents an User stored in the Cypress Cloud"""
|
|
type CloudUser implements Node {
|
|
"""Url to manage cloud organizations for this user"""
|
|
cloudOrganizationsUrl: String
|
|
|
|
"""Url to the profile of the current user on the dashboard"""
|
|
cloudProfileUrl: String
|
|
|
|
"""Url to create a cloud organization for this user"""
|
|
createCloudOrganizationUrl: String
|
|
email: String
|
|
|
|
"""The display name of the user, if we have one"""
|
|
fullName: String
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""A connection field type"""
|
|
organizations(
|
|
"""Returns the elements in the list that come after the specified cursor"""
|
|
after: String
|
|
|
|
"""Returns the elements in the list that come before the specified cursor"""
|
|
before: String
|
|
|
|
"""Returns the first n elements from the list."""
|
|
first: Int
|
|
|
|
"""Returns the last n elements from the list."""
|
|
last: Int
|
|
): CloudOrganizationConnection
|
|
|
|
"""Whether this user is the currently authenticated user"""
|
|
userIsViewer: Boolean!
|
|
}
|
|
|
|
"""
|
|
A code frame to display for a file, used when displaying code related to errors
|
|
"""
|
|
type CodeFrame {
|
|
"""Source of the code frame to display"""
|
|
codeBlock: String
|
|
|
|
"""The column of the error to display"""
|
|
column: Int
|
|
file: FileParts!
|
|
|
|
"""The line number of the code snippet to display"""
|
|
line: Int
|
|
}
|
|
|
|
"""Glob patterns for detecting files for code gen."""
|
|
type CodeGenGlobs implements Node {
|
|
component: String!
|
|
|
|
"""Relay style Node ID field for the CodeGenGlobs field"""
|
|
id: ID!
|
|
}
|
|
|
|
enum CodeGenType {
|
|
component
|
|
componentEmpty
|
|
e2e
|
|
e2eExamples
|
|
}
|
|
|
|
enum CodeLanguageEnum {
|
|
js
|
|
ts
|
|
}
|
|
|
|
"""used to distinguish one group of users from another"""
|
|
type Cohort {
|
|
"""value used to indicate the cohort (e.g. "A" or "B")"""
|
|
cohort: String!
|
|
|
|
"""name used to identify the cohort topic (e.g. "LoginBanner" ) """
|
|
name: String!
|
|
}
|
|
|
|
input CohortInput {
|
|
"""Array of cohort options to choose from. Ex: A or B """
|
|
cohorts: [String!]!
|
|
|
|
"""Name of the cohort"""
|
|
name: String!
|
|
|
|
"""
|
|
Optional array of integer weights to use for determining cohort. Defaults to even weighting
|
|
"""
|
|
weights: [Int!]
|
|
}
|
|
|
|
""""""
|
|
type CommitInfo {
|
|
"""Commit message"""
|
|
message: String!
|
|
|
|
"""Commit hash"""
|
|
sha: String!
|
|
}
|
|
|
|
"""
|
|
The currently opened Cypress project, represented by a cypress.config.{js,ts,mjs,cjs} file
|
|
"""
|
|
type CurrentProject implements Node & ProjectLike {
|
|
"""The currently selected browser for the project"""
|
|
activeBrowser: Browser
|
|
|
|
"""The current branch of the project"""
|
|
branch: String
|
|
|
|
"""If the browser is open or not"""
|
|
browserStatus: BrowserStatus!
|
|
|
|
"""Browsers found that are compatible with Cypress"""
|
|
browsers: [Browser!]
|
|
|
|
"""The remote associated project from Cypress Cloud"""
|
|
cloudProject: CloudProjectResult
|
|
|
|
"""
|
|
A refetchable remote field implementation to fetch the cloudProject,
|
|
this can safely be used when rendering a list of projects
|
|
"""
|
|
cloudProjectRemote(
|
|
"""A globally unique name for this field"""
|
|
name: String!
|
|
): RemoteFetchableCloudProjectResult
|
|
|
|
"""List of all code generation candidates stories"""
|
|
codeGenCandidates(glob: String!): [FileParts]
|
|
codeGenFramework: String
|
|
codeGenGlobs: CodeGenGlobs!
|
|
|
|
"""Project configuration"""
|
|
config: JSON!
|
|
|
|
"""Config File, specified by the CLI or """
|
|
configFile: String
|
|
|
|
"""Config File Absolute Path"""
|
|
configFileAbsolutePath: String
|
|
|
|
"""The mode the interactive runner was launched in"""
|
|
currentTestingType: TestingTypeEnum
|
|
|
|
"""
|
|
Default spec file name for spec creation, nullable so we can throw if it can't be decided
|
|
"""
|
|
defaultSpecFileName: String
|
|
|
|
"""File extension to use based on if the project has typescript or not"""
|
|
fileExtensionToUse: FileExtensionEnum
|
|
|
|
"""
|
|
Whether the project has any specs found that do not match an example spec
|
|
"""
|
|
hasNonExampleSpec: Boolean
|
|
|
|
"""Whether the project has a valid config file"""
|
|
hasValidConfigFile: Boolean
|
|
|
|
"""Relay style Node ID field for the CurrentProject field"""
|
|
id: ID!
|
|
|
|
"""Whether the user configured this project to use Component Testing"""
|
|
isCTConfigured: Boolean
|
|
|
|
"""True if the project is using the default spec pattern"""
|
|
isDefaultSpecPattern: Boolean!
|
|
|
|
"""Whether the user configured this project to use e2e Testing"""
|
|
isE2EConfigured: Boolean
|
|
|
|
"""Whether or not the full config is ready"""
|
|
isFullConfigReady: Boolean
|
|
|
|
"""Whether we are currently loading the configFile"""
|
|
isLoadingConfigFile: Boolean
|
|
|
|
"""Whether we are currently loading the setupNodeEvents"""
|
|
isLoadingNodeEvents: Boolean
|
|
|
|
"""Whether the project has Typescript"""
|
|
isUsingTypeScript: Boolean
|
|
|
|
"""Whether the project needs to be migrated before proceeding"""
|
|
needsLegacyConfigMigration: Boolean
|
|
packageManager: PackageManagerEnum!
|
|
|
|
"""Cached preferences for this project"""
|
|
preferences: ProjectPreferences
|
|
|
|
"""Used to associate project with Cypress Cloud"""
|
|
projectId: String
|
|
|
|
"""Absolute path to the project on the filesystem"""
|
|
projectRoot: String!
|
|
|
|
"""Project saved state"""
|
|
savedState: JSON
|
|
|
|
"""base64 encoded config used on the runner page"""
|
|
serveConfig: JSON!
|
|
|
|
"""A list of specs for the currently open testing type of a project"""
|
|
specs: [Spec!]!
|
|
title: String!
|
|
}
|
|
|
|
"""A run was hidden because it was over the data retention limit"""
|
|
type DataRetentionLimitExceeded {
|
|
"""The number of days of data retention"""
|
|
dataRetentionDays: Int
|
|
}
|
|
|
|
"""
|
|
A date string, such as 2007-12-03, compliant with the `full-date` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
|
|
"""
|
|
scalar Date
|
|
|
|
"""
|
|
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
|
|
"""
|
|
scalar DateTime
|
|
|
|
enum DevRelaunchAction {
|
|
dismiss
|
|
trigger
|
|
}
|
|
|
|
"""State associated/helpful for local development of Cypress"""
|
|
type DevState {
|
|
"""
|
|
When we have edited server related files, we may want to relaunch the client.
|
|
"""
|
|
needsRelaunch: Boolean
|
|
|
|
"""For debugging, the current application state"""
|
|
state: JSON
|
|
}
|
|
|
|
"""Represents an editor on the local machine"""
|
|
type Editor {
|
|
"""Binary that opens the editor"""
|
|
binary: String
|
|
id: String!
|
|
|
|
"""name of editor"""
|
|
name: String!
|
|
}
|
|
|
|
enum ErrorTypeEnum {
|
|
AUTOMATION_SERVER_DISCONNECTED
|
|
BAD_POLICY_WARNING
|
|
BAD_POLICY_WARNING_TOOLTIP
|
|
BROWSER_CRASHED
|
|
BROWSER_NOT_FOUND_BY_NAME
|
|
BROWSER_NOT_FOUND_BY_PATH
|
|
BROWSER_UNSUPPORTED_LAUNCH_OPTION
|
|
BUNDLE_ERROR
|
|
CANNOT_CONNECT_BASE_URL
|
|
CANNOT_CONNECT_BASE_URL_RETRYING
|
|
CANNOT_CONNECT_BASE_URL_WARNING
|
|
CANNOT_CREATE_PROJECT_TOKEN
|
|
CANNOT_FETCH_PROJECT_TOKEN
|
|
CANNOT_RECORD_NO_PROJECT_ID
|
|
CANNOT_REMOVE_OLD_BROWSER_PROFILES
|
|
CANNOT_TRASH_ASSETS
|
|
CDP_COULD_NOT_CONNECT
|
|
CDP_COULD_NOT_RECONNECT
|
|
CDP_RETRYING_CONNECTION
|
|
CDP_VERSION_TOO_OLD
|
|
CHROME_WEB_SECURITY_NOT_SUPPORTED
|
|
CLOUD_ALREADY_COMPLETE
|
|
CLOUD_API_RESPONSE_FAILED_RETRYING
|
|
CLOUD_AUTO_CANCEL_MISMATCH
|
|
CLOUD_AUTO_CANCEL_NOT_AVAILABLE_IN_PLAN
|
|
CLOUD_CANCEL_SKIPPED_SPEC
|
|
CLOUD_CANNOT_CREATE_RUN_OR_INSTANCE
|
|
CLOUD_CANNOT_PROCEED_IN_PARALLEL
|
|
CLOUD_CANNOT_PROCEED_IN_SERIAL
|
|
CLOUD_CANNOT_UPLOAD_ARTIFACTS
|
|
CLOUD_CANNOT_UPLOAD_RESULTS
|
|
CLOUD_GRAPHQL_ERROR
|
|
CLOUD_INVALID_RUN_REQUEST
|
|
CLOUD_PARALLEL_DISALLOWED
|
|
CLOUD_PARALLEL_GROUP_PARAMS_MISMATCH
|
|
CLOUD_PARALLEL_REQUIRED
|
|
CLOUD_PROJECT_NOT_FOUND
|
|
CLOUD_RECORD_KEY_NOT_VALID
|
|
CLOUD_RUN_GROUP_NAME_NOT_UNIQUE
|
|
CLOUD_STALE_RUN
|
|
CLOUD_UNKNOWN_CREATE_RUN_WARNING
|
|
CLOUD_UNKNOWN_INVALID_REQUEST
|
|
COMPONENT_FOLDER_REMOVED
|
|
COMPONENT_TESTING_MISMATCHED_DEPENDENCIES
|
|
CONFIG_FILES_LANGUAGE_CONFLICT
|
|
CONFIG_FILE_DEV_SERVER_INVALID_RETURN
|
|
CONFIG_FILE_DEV_SERVER_IS_NOT_VALID
|
|
CONFIG_FILE_INVALID_DEV_START_EVENT
|
|
CONFIG_FILE_INVALID_ROOT_CONFIG
|
|
CONFIG_FILE_INVALID_ROOT_CONFIG_COMPONENT
|
|
CONFIG_FILE_INVALID_ROOT_CONFIG_E2E
|
|
CONFIG_FILE_INVALID_TESTING_TYPE_CONFIG_COMPONENT
|
|
CONFIG_FILE_INVALID_TESTING_TYPE_CONFIG_E2E
|
|
CONFIG_FILE_MIGRATION_NEEDED
|
|
CONFIG_FILE_NOT_FOUND
|
|
CONFIG_FILE_REQUIRE_ERROR
|
|
CONFIG_FILE_SETUP_NODE_EVENTS_ERROR
|
|
CONFIG_FILE_UNEXPECTED_ERROR
|
|
CONFIG_VALIDATION_ERROR
|
|
CONFIG_VALIDATION_MSG_ERROR
|
|
COULD_NOT_FIND_SYSTEM_NODE
|
|
COULD_NOT_PARSE_ARGUMENTS
|
|
DEFAULT_SUPPORT_FILE_NOT_FOUND
|
|
DEPRECATED_BEFORE_BROWSER_LAUNCH_ARGS
|
|
DEV_SERVER_CONFIG_FILE_NOT_FOUND
|
|
DUPLICATE_TASK_KEY
|
|
ERROR_READING_FILE
|
|
ERROR_WRITING_FILE
|
|
EXPERIMENTAL_COMPONENT_TESTING_REMOVED
|
|
EXPERIMENTAL_NETWORK_STUBBING_REMOVED
|
|
EXPERIMENTAL_ORIGIN_DEPENDENCIES_E2E_ONLY
|
|
EXPERIMENTAL_RUN_ALL_SPECS_E2E_ONLY
|
|
EXPERIMENTAL_RUN_EVENTS_REMOVED
|
|
EXPERIMENTAL_SAMESITE_REMOVED
|
|
EXPERIMENTAL_SESSION_AND_ORIGIN_REMOVED
|
|
EXPERIMENTAL_SESSION_SUPPORT_REMOVED
|
|
EXPERIMENTAL_SHADOW_DOM_REMOVED
|
|
EXPERIMENTAL_SINGLE_TAB_RUN_MODE
|
|
EXPERIMENTAL_STUDIO_E2E_ONLY
|
|
EXPERIMENTAL_STUDIO_REMOVED
|
|
EXPERIMENTAL_USE_DEFAULT_DOCUMENT_DOMAIN_E2E_ONLY
|
|
EXTENSION_NOT_LOADED
|
|
FIREFOX_COULD_NOT_CONNECT
|
|
FIREFOX_GC_INTERVAL_REMOVED
|
|
FIREFOX_MARIONETTE_FAILURE
|
|
FIXTURE_NOT_FOUND
|
|
FOLDER_NOT_WRITABLE
|
|
FREE_PLAN_EXCEEDS_MONTHLY_PRIVATE_TESTS
|
|
FREE_PLAN_EXCEEDS_MONTHLY_TESTS
|
|
FREE_PLAN_IN_GRACE_PERIOD_EXCEEDS_MONTHLY_PRIVATE_TESTS
|
|
FREE_PLAN_IN_GRACE_PERIOD_EXCEEDS_MONTHLY_TESTS
|
|
FREE_PLAN_IN_GRACE_PERIOD_PARALLEL_FEATURE
|
|
INCOMPATIBLE_PLUGIN_RETRIES
|
|
INCORRECT_CI_BUILD_ID_USAGE
|
|
INDETERMINATE_CI_BUILD_ID
|
|
INTEGRATION_FOLDER_REMOVED
|
|
INVALID_CONFIG_OPTION
|
|
INVALID_CYPRESS_INTERNAL_ENV
|
|
INVALID_REPORTER_NAME
|
|
INVOKED_BINARY_OUTSIDE_NPM_MODULE
|
|
LEGACY_CONFIG_ERROR_DURING_MIGRATION
|
|
LEGACY_CONFIG_FILE
|
|
MIGRATION_ALREADY_OCURRED
|
|
MIGRATION_CYPRESS_NOT_FOUND
|
|
MIGRATION_MISMATCHED_CYPRESS_VERSIONS
|
|
MULTIPLE_SUPPORT_FILES_FOUND
|
|
NODE_VERSION_DEPRECATION_BUNDLED
|
|
NODE_VERSION_DEPRECATION_SYSTEM
|
|
NOT_LOGGED_IN
|
|
NO_DEFAULT_CONFIG_FILE_FOUND
|
|
NO_PROJECT_FOUND_AT_PROJECT_ROOT
|
|
NO_PROJECT_ID
|
|
NO_SPECS_FOUND
|
|
PAID_PLAN_EXCEEDS_MONTHLY_PRIVATE_TESTS
|
|
PARALLEL_FEATURE_NOT_AVAILABLE_IN_PLAN
|
|
PLAN_EXCEEDS_MONTHLY_TESTS
|
|
PLAN_IN_GRACE_PERIOD_RUN_GROUPING_FEATURE_USED
|
|
PLUGINS_FILE_CONFIG_OPTION_REMOVED
|
|
PLUGINS_RUN_EVENT_ERROR
|
|
PORT_IN_USE_LONG
|
|
PORT_IN_USE_SHORT
|
|
PROJECT_ID_AND_KEY_BUT_MISSING_RECORD_OPTION
|
|
RECORDING_FROM_FORK_PR
|
|
RECORD_KEY_MISSING
|
|
RECORD_PARAMS_WITHOUT_RECORDING
|
|
RENAMED_CONFIG_OPTION
|
|
RENDERER_CRASHED
|
|
RUN_GROUPING_FEATURE_NOT_AVAILABLE_IN_PLAN
|
|
SETUP_NODE_EVENTS_DO_NOT_SUPPORT_DEV_SERVER
|
|
SETUP_NODE_EVENTS_INVALID_EVENT_NAME_ERROR
|
|
SETUP_NODE_EVENTS_IS_NOT_FUNCTION
|
|
SUPPORT_FILE_NOT_FOUND
|
|
TESTING_TYPE_NOT_CONFIGURED
|
|
TESTS_DID_NOT_START_FAILED
|
|
TESTS_DID_NOT_START_RETRYING
|
|
TEST_FILES_RENAMED
|
|
UNEXPECTED_BEFORE_BROWSER_LAUNCH_PROPERTIES
|
|
UNEXPECTED_INTERNAL_ERROR
|
|
UNEXPECTED_MUTATION_ERROR
|
|
UNSUPPORTED_BROWSER_VERSION
|
|
VIDEO_POST_PROCESSING_FAILED
|
|
VIDEO_RECORDING_FAILED
|
|
}
|
|
|
|
"""Base error"""
|
|
type ErrorWrapper {
|
|
"""The code frame to display in relation to the error"""
|
|
codeFrame: CodeFrame
|
|
|
|
"""The markdown formatted content associated with the ErrorTypeEnum"""
|
|
errorMessage: String!
|
|
|
|
"""Name of the error class"""
|
|
errorName: String!
|
|
|
|
"""
|
|
The error stack of either the original error from the user or from where the internal Cypress error was created
|
|
"""
|
|
errorStack: String!
|
|
errorType: ErrorTypeEnum!
|
|
|
|
"""The ID for the error, used to clear the error"""
|
|
id: ID!
|
|
|
|
"""
|
|
Whether the error came from user code, can be used to determine whether to open a stack trace by default
|
|
"""
|
|
isUserCodeError: Boolean!
|
|
|
|
"""
|
|
Optional title of the error. Used to optionally display a title above the error
|
|
"""
|
|
title: String
|
|
}
|
|
|
|
input FileDetailsInput {
|
|
column: Int
|
|
|
|
"""
|
|
When we open a file we take a filePath, either relative to the project root, or absolute on disk
|
|
"""
|
|
filePath: String!
|
|
line: Int
|
|
}
|
|
|
|
enum FileExtensionEnum {
|
|
js
|
|
jsx
|
|
ts
|
|
tsx
|
|
}
|
|
|
|
"""Represents a file on the file system"""
|
|
type FileParts implements Node {
|
|
"""
|
|
Absolute path to file (e.g. /Users/jess/my-project/src/component/MySpec.test.tsx)
|
|
"""
|
|
absolute: String!
|
|
|
|
"""Full name of the file (e.g. MySpec.test.tsx)"""
|
|
baseName: String!
|
|
|
|
"""
|
|
If provided, used to specify the column of the file to open in openFileInIDE
|
|
"""
|
|
column: Int
|
|
|
|
"""The contents of the file"""
|
|
contents: String!
|
|
|
|
"""The file's extension"""
|
|
fileExtension: String!
|
|
|
|
"""The first part of the file, without extensions (e.g. MySpec)"""
|
|
fileName: String!
|
|
|
|
"""Relay style Node ID field for the FileParts field"""
|
|
id: ID!
|
|
|
|
"""
|
|
If provided, used to specify the line of the file to open in openFileInIDE
|
|
"""
|
|
line: Int
|
|
|
|
"""Full name of spec file (e.g. MySpec.test.tsx)"""
|
|
name: String!
|
|
|
|
"""Relative path to file (e.g. src/component/MySpec.test.tsx)"""
|
|
relative: String!
|
|
}
|
|
|
|
"""Error from generated spec"""
|
|
type GenerateSpecResponse {
|
|
"""The currently opened project"""
|
|
currentProject: CurrentProject
|
|
|
|
"""The file that have just been scaffolded or the fileName that errored"""
|
|
generatedSpecResult: GeneratedSpecResult
|
|
}
|
|
|
|
"""Error from generated spec"""
|
|
type GeneratedSpecError {
|
|
erroredCodegenCandidate: String!
|
|
fileName: String!
|
|
}
|
|
|
|
union GeneratedSpecResult = GeneratedSpecError | ScaffoldedFile
|
|
|
|
"""Git information about a spec file"""
|
|
type GitInfo {
|
|
"""Last person to change the file in git"""
|
|
author: String
|
|
|
|
"""last modified as a pretty string, eg 2 days ago"""
|
|
lastModifiedHumanReadable: String
|
|
|
|
"""last modified timestamp, eg 2021-09-14 13:43:19 +1000"""
|
|
lastModifiedTimestamp: String
|
|
|
|
"""short hash for latest commit"""
|
|
shortHash: String
|
|
|
|
"""status type - created or modified"""
|
|
statusType: GitInfoStatusType
|
|
|
|
"""subject for latest commit"""
|
|
subject: String
|
|
}
|
|
|
|
enum GitInfoStatusType {
|
|
created
|
|
modified
|
|
noGitInfo
|
|
unmodified
|
|
}
|
|
|
|
"""A project which exists on the filesystem but has not been opened"""
|
|
type GlobalProject implements Node & ProjectLike {
|
|
"""
|
|
A refetchable remote field implementation to fetch the cloudProject,
|
|
this can safely be used when rendering a list of projects
|
|
"""
|
|
cloudProjectRemote(
|
|
"""A globally unique name for this field"""
|
|
name: String!
|
|
): RemoteFetchableCloudProjectResult
|
|
|
|
"""Relay style Node ID field for the GlobalProject field"""
|
|
id: ID!
|
|
|
|
"""Used to associate project with Cypress Cloud"""
|
|
projectId: String
|
|
|
|
"""Absolute path to the project on the filesystem"""
|
|
projectRoot: String!
|
|
title: String!
|
|
}
|
|
|
|
"""
|
|
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
|
|
"""
|
|
scalar JSON
|
|
|
|
"""local settings on a device-by-device basis"""
|
|
type LocalSettings {
|
|
availableEditors: [Editor!]!
|
|
preferences: LocalSettingsPreferences!
|
|
}
|
|
|
|
"""local setting preferences"""
|
|
type LocalSettingsPreferences {
|
|
autoScrollingEnabled: Boolean
|
|
debugSlideshowComplete: Boolean
|
|
isSideNavigationOpen: Boolean
|
|
isSpecsListOpen: Boolean
|
|
majorVersionWelcomeDismissed: JSON
|
|
preferredEditorBinary: String
|
|
proxyBypass: String
|
|
proxyServer: String
|
|
reporterWidth: Int
|
|
specListWidth: Int
|
|
wasBrowserSetInCLI: Boolean
|
|
}
|
|
|
|
type ManualMigration implements Node {
|
|
"""is the manual migration completed (all files are moved)"""
|
|
completed: Boolean!
|
|
|
|
"""files needing manual migration"""
|
|
files: [ManualMigrationFile!]!
|
|
|
|
"""Relay style Node ID field for the ManualMigration field"""
|
|
id: ID!
|
|
}
|
|
|
|
type ManualMigrationFile implements Node {
|
|
"""Relay style Node ID field for the ManualMigrationFile field"""
|
|
id: ID!
|
|
|
|
"""has the file been moved since opening the migration helper"""
|
|
moved: Boolean!
|
|
|
|
"""name of file to migrate"""
|
|
relative: String!
|
|
}
|
|
|
|
"""Contains all data related to the 9.X to 10.0 migration UI"""
|
|
type Migration {
|
|
"""the component folder path used to store components tests"""
|
|
componentFolder: String!
|
|
|
|
"""contents of the cypress.json file after conversion"""
|
|
configAfterCode: String!
|
|
|
|
"""contents of the cypress.json file before conversion"""
|
|
configBeforeCode: String!
|
|
|
|
"""the name of the config file after the migration"""
|
|
configFileNameAfter: String!
|
|
|
|
"""the name of the config file to be migrated"""
|
|
configFileNameBefore: String!
|
|
|
|
"""Steps filtered with the current context"""
|
|
filteredSteps: [MigrationStep!]!
|
|
|
|
"""whether component testing is set up in the migrated config or not"""
|
|
hasComponentTesting: Boolean!
|
|
|
|
"""whether the component folder is custom or not"""
|
|
hasCustomComponentFolder: Boolean!
|
|
|
|
"""whether the testFiles member is custom or not in component testing"""
|
|
hasCustomComponentTestFiles: Boolean!
|
|
|
|
"""whether the integration folder is custom or not"""
|
|
hasCustomIntegrationFolder: Boolean!
|
|
|
|
"""whether the testFiles member is custom or not in integration"""
|
|
hasCustomIntegrationTestFiles: Boolean!
|
|
|
|
"""the integration folder path used to store e2e tests"""
|
|
integrationFolder: String!
|
|
|
|
"""Whether the project has Typescript"""
|
|
isUsingTypeScript: Boolean
|
|
|
|
"""List of files needing manual conversion"""
|
|
manualFiles: ManualMigration
|
|
|
|
"""whether the pre extension info should be displayed"""
|
|
shouldMigratePreExtension: Boolean
|
|
|
|
"""All spec files after conversion"""
|
|
specFiles: [MigrationFile!]!
|
|
|
|
"""Support files needing automated rename"""
|
|
supportFiles: MigrationFile
|
|
}
|
|
|
|
type MigrationFile {
|
|
after: MigrationFileData!
|
|
before: MigrationFileData!
|
|
testingType: TestingTypeEnum!
|
|
}
|
|
|
|
type MigrationFileData implements Node {
|
|
"""Relay style Node ID field for the MigrationFileData field"""
|
|
id: ID!
|
|
parts: [MigrationFilePart!]!
|
|
relative: String!
|
|
}
|
|
|
|
type MigrationFilePart implements Node {
|
|
"""is this part a folder or extension that needs migration"""
|
|
group: String
|
|
|
|
"""should highlight in migration UI"""
|
|
highlight: Boolean!
|
|
|
|
"""Relay style Node ID field for the MigrationFilePart field"""
|
|
id: ID!
|
|
|
|
"""part of filename"""
|
|
text: String!
|
|
}
|
|
|
|
type MigrationRegexp {
|
|
"""regexp to use to rename existing specs in component"""
|
|
afterComponent: String!
|
|
|
|
"""regexp to use to rename existing specs in e2e"""
|
|
afterE2E: String!
|
|
|
|
"""regexp to identify existing specs in component"""
|
|
beforeComponent: String!
|
|
|
|
"""regexp to identify existing specs in e2e"""
|
|
beforeE2E: String!
|
|
}
|
|
|
|
"""Contains all data related to the 9.X to 10.0 migration UI"""
|
|
type MigrationStep implements Node {
|
|
"""Relay style Node ID field for the MigrationStep field"""
|
|
id: ID!
|
|
|
|
"""Index of the step in the list"""
|
|
index: Int!
|
|
|
|
"""Has the current step been completed"""
|
|
isCompleted: Boolean!
|
|
|
|
"""This is the current step"""
|
|
isCurrentStep: Boolean!
|
|
|
|
"""Identifier of the step"""
|
|
name: MigrationStepEnum!
|
|
}
|
|
|
|
enum MigrationStepEnum {
|
|
configFile
|
|
renameAuto
|
|
renameManual
|
|
renameSupport
|
|
setupComponent
|
|
}
|
|
|
|
type Mutation {
|
|
"""Internal use only, clears the cloud cache"""
|
|
_clearCloudCache: Boolean
|
|
|
|
"""Used internally to update the URQL cache in the CloudDataSource"""
|
|
_cloudCacheInvalidate(args: JSON): Boolean
|
|
|
|
"""Internal use only, clears the cloud cache"""
|
|
_showUrqlCache: JSON
|
|
|
|
"""Add project to projects array and cache it"""
|
|
addProject(
|
|
"""Whether to open the project when added"""
|
|
open: Boolean
|
|
path: String
|
|
): Query
|
|
|
|
"""Clears the currently active project"""
|
|
clearCurrentProject: Query
|
|
clearCurrentTestingType: Query
|
|
|
|
"""Close active browser"""
|
|
closeBrowser: Boolean
|
|
|
|
"""Create a project in the dashboard and return its object"""
|
|
cloudProjectCreate(campaign: String, ciProviders: [String!], cohort: String, medium: String, name: String!, orgId: ID!, public: Boolean!, source: String): CloudProject
|
|
|
|
"""Request access to an organization from a projectId"""
|
|
cloudProjectRequestAccess(projectSlug: String!): CloudProjectResult
|
|
completeSetup: Query
|
|
|
|
"""add the passed text to the local clipboard"""
|
|
copyTextToClipboard(text: String!): Boolean
|
|
|
|
"""
|
|
Determine the cohort based on the given configuration. This will either return the cached cohort for a given name or choose a new one and store it.
|
|
"""
|
|
determineCohort(cohortConfig: CohortInput!): Cohort
|
|
|
|
"""
|
|
Development only: Triggers or dismisses a prompted refresh by touching the file watched by our development scripts
|
|
"""
|
|
devRelaunch(action: DevRelaunchAction!): Boolean
|
|
|
|
"""Dismisses a warning displayed by the frontend"""
|
|
dismissWarning(id: ID!): Query
|
|
e2eExamples: [ScaffoldedFile!]!
|
|
|
|
"""user has finished migration component specs - move to next step"""
|
|
finishedRenamingComponentSpecs: Query
|
|
|
|
"""Sets focus to the active browser window"""
|
|
focusActiveBrowserWindow: Boolean!
|
|
|
|
"""Generate spec from source"""
|
|
generateSpecFromSource(codeGenCandidate: String!, componentName: String, isDefault: Boolean, type: CodeGenType!): GenerateSpecResponse
|
|
|
|
"""
|
|
Parse a JS or TS file to see any exported React components that are defined in the file
|
|
"""
|
|
getReactComponentsFromFile(filePath: String!): ReactComponentResponse
|
|
|
|
"""
|
|
Scan dependencies to determine what, if any, CT frameworks are installed
|
|
"""
|
|
initializeCtFrameworks: Boolean
|
|
internal_clearAllProjectPreferencesCache: Boolean
|
|
internal_clearLatestProjectCache: Boolean
|
|
internal_clearProjectPreferencesCache(projectTitle: String!): Boolean
|
|
|
|
"""Launches project from open_project global singleton"""
|
|
launchOpenProject(shouldLaunchNewTab: Boolean, specPath: String): CurrentProject
|
|
|
|
"""Sets the active browser"""
|
|
launchpadSetBrowser(
|
|
"""ID of the browser that we want to set"""
|
|
id: ID!
|
|
): CurrentProject
|
|
|
|
"""Fetches the remote data for a RemoteFetchable ID"""
|
|
loadRemoteFetchables(
|
|
"""The identifier for the RemoteFetchable we are loading"""
|
|
ids: [ID!]!
|
|
): [RemoteFetchable]!
|
|
|
|
"""Auth with Cypress Cloud"""
|
|
login(utmContent: String, utmMedium: String!, utmSource: String!): Query
|
|
|
|
"""Log out of Cypress Cloud"""
|
|
logout: Query
|
|
|
|
"""Check if a give spec file will match the project spec pattern"""
|
|
matchesSpecPattern(specFile: String!): Boolean!
|
|
|
|
"""While migrating to 10+ skip manual rename step"""
|
|
migrateCloseManualRenameWatcher: Boolean
|
|
|
|
"""Merges the component testing config in cypress.config.{js,ts}"""
|
|
migrateComponentTesting: Query
|
|
|
|
"""Transforms cypress.json file into cypress.config.js file"""
|
|
migrateConfigFile: Query
|
|
|
|
"""While migrating to 10+ renames files to match the new .cy pattern"""
|
|
migrateRenameSpecs(
|
|
"""specs to move - current name"""
|
|
after: [String!]
|
|
|
|
"""specs to move - current name"""
|
|
before: [String!]
|
|
skip: Boolean
|
|
): Query
|
|
|
|
"""When the user decides to skip specs rename"""
|
|
migrateRenameSpecsFolder: Query
|
|
|
|
"""While migrating to 10+ launch renaming of support file"""
|
|
migrateRenameSupport: Query
|
|
|
|
"""While migrating to 10+ skip manual rename step"""
|
|
migrateSkipManualRename: Query
|
|
|
|
"""
|
|
Allow the relevant run for debugging marked as next to be considered the current relevant run
|
|
"""
|
|
moveToRelevantRun(runNumber: Int!): Boolean
|
|
|
|
"""Open a path in preferred IDE"""
|
|
openDirectoryInIDE(path: String!): Boolean
|
|
openExternal(includeGraphqlPort: Boolean, url: String!): Boolean
|
|
|
|
"""Open a file on specified line and column in preferred IDE"""
|
|
openFileInIDE(input: FileDetailsInput!): Boolean
|
|
|
|
"""Open a path in the local file explorer"""
|
|
openInFinder(path: String!): Boolean
|
|
|
|
"""Ping configured Base URL"""
|
|
pingBaseUrl: Query
|
|
|
|
"""Removes the cache entries for specified cloudSpecByPath query records"""
|
|
purgeCloudSpecByPathCache(projectSlug: String!, specPaths: [String!]!): Boolean
|
|
|
|
"""show the launchpad windows"""
|
|
reconfigureProject: Boolean!
|
|
|
|
"""
|
|
Dispatch an event to Cypress Cloud to be recorded. Events are used only to derive aggregate usage patterns across all Cypress instances.
|
|
"""
|
|
recordEvent(
|
|
campaign: String!
|
|
cohort: String
|
|
includeMachineId: Boolean
|
|
medium: String!
|
|
messageId: String!
|
|
|
|
"""(optional) stringified JSON object with supplemental data"""
|
|
payload: String
|
|
): Boolean
|
|
|
|
"""
|
|
Signal that we are explicitly refetching remote data and should not use the server cache
|
|
"""
|
|
refetchRemote: Query
|
|
|
|
"""Clears the cloudViewer cache to refresh the organizations and projects"""
|
|
refreshCloudViewer: Query
|
|
|
|
"""Remove project from projects array and cache"""
|
|
removeProject(path: String!): Query
|
|
|
|
"""Reset the Auth State"""
|
|
resetAuthState: Query!
|
|
|
|
"""Resets error and attempts to reload the config"""
|
|
resetErrorAndLoadConfig(id: ID!): Query
|
|
|
|
"""
|
|
Resets the latest version call to capture additional telemetry for the current user
|
|
"""
|
|
resetLatestVersionTelemetry: Boolean!
|
|
|
|
"""Reset the Wizard to the starting position"""
|
|
resetWizard: Boolean!
|
|
scaffoldTestingType: Query
|
|
setAndLoadCurrentTestingType(testingType: TestingTypeEnum!): Query
|
|
|
|
"""Set active project to run tests on"""
|
|
setCurrentProject(path: String!): Query
|
|
|
|
"""
|
|
Update local preferences (also known as appData). The payload, `value`, should be a `JSON.stringified()` object of the new values you'd like to persist. Example: `setPreferences (value: JSON.stringify({ lastOpened: Date.now() }), "local")`
|
|
"""
|
|
setPreferences(type: PreferencesTypeEnum!, value: String!): Query
|
|
|
|
"""Set the projectId field in the config file of the current project"""
|
|
setProjectIdInConfigFile(projectId: String!): Query
|
|
|
|
"""
|
|
Save the projects preferences to cache, e.g. in dev: Library/Application Support/Cypress/cy/staging/cache
|
|
"""
|
|
setProjectPreferencesInGlobalCache(testingType: TestingTypeEnum!): Query!
|
|
|
|
"""Save the prompt-shown state for this project"""
|
|
setPromptShown(slug: String!): Boolean
|
|
|
|
"""List of specs to run for the "Run All Specs" Feature"""
|
|
setRunAllSpecs(runAllSpecs: [String!]!): Boolean
|
|
|
|
"""Set failed tests for the current run to be used by the runner"""
|
|
setTestsForRun(testsBySpec: [TestsBySpecInput!]!): Boolean
|
|
|
|
"""Switch Testing type and relaunch browser"""
|
|
switchTestingTypeAndRelaunch(testingType: TestingTypeEnum!): Boolean
|
|
|
|
"""Return the set of test titles for the given spec path"""
|
|
testsForRun(
|
|
"""Spec path relative to the project in posix format"""
|
|
spec: String!
|
|
): [String!]
|
|
|
|
"""Updates the different fields of the wizard data store"""
|
|
wizardUpdate(input: WizardUpdateInput!): Wizard
|
|
}
|
|
|
|
"""Implements the Relay Node spec"""
|
|
interface Node {
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
}
|
|
|
|
"""Possible operating systems for a build"""
|
|
enum OperatingSystemsEnum {
|
|
LINUX
|
|
MAC
|
|
UNKNOWN
|
|
WINDOWS
|
|
}
|
|
|
|
"""What to do when the run is over the limit"""
|
|
enum OverLimitActionTypeEnum {
|
|
CONTACT_ADMIN
|
|
UPGRADE
|
|
}
|
|
|
|
enum PackageManagerEnum {
|
|
npm
|
|
pnpm
|
|
yarn
|
|
}
|
|
|
|
"""
|
|
PageInfo cursor, as defined in https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
|
|
"""
|
|
type PageInfo {
|
|
"""
|
|
The cursor corresponding to the last nodes in edges. Null if the connection is empty.
|
|
"""
|
|
endCursor: String
|
|
|
|
"""
|
|
Used to indicate whether more edges exist following the set defined by the clients arguments.
|
|
"""
|
|
hasNextPage: Boolean!
|
|
|
|
"""
|
|
Used to indicate whether more edges exist prior to the set defined by the clients arguments.
|
|
"""
|
|
hasPreviousPage: Boolean!
|
|
|
|
"""
|
|
The cursor corresponding to the first nodes in edges. Null if the connection is empty.
|
|
"""
|
|
startCursor: String
|
|
}
|
|
|
|
enum PluginsState {
|
|
error
|
|
initialized
|
|
initializing
|
|
uninitialized
|
|
}
|
|
|
|
enum PreferencesTypeEnum {
|
|
global
|
|
project
|
|
}
|
|
|
|
"""Common base fields inherited by GlobalProject / CurrentProject"""
|
|
interface ProjectLike {
|
|
"""
|
|
A refetchable remote field implementation to fetch the cloudProject,
|
|
this can safely be used when rendering a list of projects
|
|
"""
|
|
cloudProjectRemote(
|
|
"""A globally unique name for this field"""
|
|
name: String!
|
|
): RemoteFetchableCloudProjectResult
|
|
|
|
"""Used to associate project with Cypress Cloud"""
|
|
projectId: String
|
|
|
|
"""Absolute path to the project on the filesystem"""
|
|
projectRoot: String!
|
|
title: String!
|
|
}
|
|
|
|
"""Preferences specific to a project"""
|
|
type ProjectPreferences {
|
|
"""The preferred testing type to start in"""
|
|
testingType: String
|
|
}
|
|
|
|
type PushFragmentPayload {
|
|
"""Raw data associated with the fragment to be written into the cache"""
|
|
data: JSON
|
|
|
|
"""Any errors encountered when executing the operation"""
|
|
errors: JSON
|
|
fragment: JSON!
|
|
|
|
"""If present, indicates we need to invalidate the client-side cache"""
|
|
invalidateCache: Boolean
|
|
target: String!
|
|
|
|
"""Variables associated with the fragment"""
|
|
variables: JSON
|
|
}
|
|
|
|
"""The root "Query" type containing all entry fields for our querying"""
|
|
type Query {
|
|
"""The latest state of the auth process"""
|
|
authState: AuthState!
|
|
baseError: ErrorWrapper
|
|
cachedUser: CachedUser
|
|
|
|
"""
|
|
Polling query to determine when to refetch spec data. A null value here means no data available in the cloud.
|
|
"""
|
|
cloudLatestRunUpdateSpecData(
|
|
"""
|
|
Clients active branch to search for builds. This will fallback to the closest branch with data.
|
|
"""
|
|
commitBranch: String!
|
|
|
|
"""A list of Project slugs"""
|
|
projectSlug: String!
|
|
|
|
"""DateTime since the fetched data"""
|
|
sinceDateTime: DateTime
|
|
): CloudLatestRunUpdateSpecData
|
|
|
|
"""Returns an object conforming to the Relay spec"""
|
|
cloudNode(
|
|
"""An ID for a Node conforming to the Relay spec"""
|
|
id: ID!
|
|
): Node
|
|
|
|
"""Returns a list of cloud nodes, by ID. Max 100 nodes per batch"""
|
|
cloudNodesByIds(
|
|
"""A list of IDs for a Node, conforming to the Relay spec"""
|
|
ids: [ID!]!
|
|
): [Node]
|
|
|
|
"""Lookup an individual project by the slug"""
|
|
cloudProjectBySlug(slug: String!): CloudProjectResult
|
|
|
|
"""Lookup a list of projects by their slug"""
|
|
cloudProjectsBySlugs(
|
|
"""A list of Project slugs"""
|
|
slugs: [String!]!
|
|
): [CloudProjectResult]
|
|
|
|
"""Gets a set of specs on a given project and branch"""
|
|
cloudSpecByPath(
|
|
"""Slug of the project to which the set of specs belong"""
|
|
projectSlug: String!
|
|
|
|
"""The spec path to find"""
|
|
specPath: String!
|
|
): CloudProjectSpecResult
|
|
|
|
"""A user within the Cypress Cloud"""
|
|
cloudViewer: CloudUser
|
|
|
|
"""Return the cohort for the given name"""
|
|
cohort(
|
|
"""the name of the cohort to find"""
|
|
name: String!
|
|
): Cohort
|
|
|
|
"""The currently opened project"""
|
|
currentProject: CurrentProject
|
|
|
|
"""The state of any info related to local development of the runner"""
|
|
dev: DevState!
|
|
|
|
"""
|
|
Whether the app was invoked from the CLI, false if user is using the binary directly (not invoked from package manager e.g. npm)
|
|
"""
|
|
invokedFromCli: Boolean!
|
|
|
|
"""
|
|
Whether the app is in global mode or not. This is based off the presence of a project, which is set by the CLI (or absent if the app is run directly). See cli/lib/exec/open.js for the logic that sets the project or not.
|
|
"""
|
|
isGlobalMode: Boolean!
|
|
|
|
"""local settings on a device-by-device basis"""
|
|
localSettings: LocalSettings!
|
|
|
|
"""
|
|
Unique node machine identifier for this instance - may be nil if unable to resolve
|
|
"""
|
|
machineId: String
|
|
|
|
"""Metadata about the migration, null if we aren't showing it"""
|
|
migration: Migration
|
|
node(id: ID!): Node
|
|
|
|
"""Defines the suggested polling intervals for various schema resources"""
|
|
pollingIntervals: CloudPollingIntervals
|
|
|
|
"""All known projects for the app"""
|
|
projects: [ProjectLike!]!
|
|
|
|
"""The files that have just been scaffolded"""
|
|
scaffoldedFiles: [ScaffoldedFile!]
|
|
|
|
"""Previous versions of cypress and their release date"""
|
|
versions: VersionData
|
|
|
|
"""A list of warnings"""
|
|
warnings: [ErrorWrapper!]!
|
|
|
|
"""Metadata about the wizard"""
|
|
wizard: Wizard!
|
|
}
|
|
|
|
"""Properties describing a React component"""
|
|
type ReactComponentDescriptor {
|
|
"""
|
|
The name of the component export e.g. "export const Foo"
|
|
"""
|
|
exportName: String!
|
|
|
|
"""
|
|
Whether the component is a default export e.g. "export default Foo"
|
|
"""
|
|
isDefault: Boolean!
|
|
}
|
|
|
|
"""Response from getReactComponentsFromFile"""
|
|
type ReactComponentResponse {
|
|
"""Components that are exported from the parsed file"""
|
|
components: [ReactComponentDescriptor!]!
|
|
|
|
"""Whether or not there was there an error when parsing the file"""
|
|
errored: Boolean
|
|
}
|
|
|
|
"""
|
|
Indicates builds from the Cypress Cloud that most closely align with the current local Git commit
|
|
"""
|
|
type RelevantRun {
|
|
"""
|
|
All relevant runs to fetch for the debug page prior to the latest completed run
|
|
"""
|
|
all: [RelevantRunInfo!]!
|
|
|
|
"""
|
|
How many commits ahead the current local commit is from the commit of the current run
|
|
"""
|
|
commitsAhead: Int!
|
|
|
|
"""Information about the current commit for the local project"""
|
|
currentCommitInfo: CommitInfo
|
|
|
|
"""Run number of the selected run in use on the Debug page"""
|
|
selectedRunNumber: Int
|
|
}
|
|
|
|
"""runNumber and commitSha for a given run"""
|
|
type RelevantRunInfo {
|
|
"""The runNumber that these spec counts belong to"""
|
|
runNumber: Int!
|
|
|
|
"""sha associated with the run"""
|
|
sha: String!
|
|
|
|
"""Status for run"""
|
|
status: CloudRunStatus
|
|
}
|
|
|
|
enum RelevantRunLocationEnum {
|
|
DEBUG
|
|
SIDEBAR
|
|
}
|
|
|
|
"""
|
|
Represents a container for a piece of remote data stitched into the graph
|
|
"""
|
|
interface RemoteFetchable implements Node {
|
|
"""The raw data response when resolving the data"""
|
|
dataRaw: JSON
|
|
|
|
"""JSON representation of the error response"""
|
|
error: JSON
|
|
|
|
"""The current fetching status of the fetchable data"""
|
|
fetchingStatus: RemoteFetchableStatus!
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""Prints the full operation sent for this query, for debugging purposes"""
|
|
operation: String!
|
|
|
|
"""The hash of the operation, for debugging purposes"""
|
|
operationHash: String!
|
|
|
|
"""The variables passed to the operation, for debugging purposes"""
|
|
operationVariables: JSON!
|
|
}
|
|
|
|
"""
|
|
Wrapper for the resolution remote RemoteFetchableCloudProjectResult data
|
|
"""
|
|
type RemoteFetchableCloudProjectResult implements Node & RemoteFetchable {
|
|
"""Data resolved for the RemoteFetchableCloudProjectResult from the cloud"""
|
|
data: CloudProjectResult
|
|
|
|
"""The raw data response when resolving the data"""
|
|
dataRaw: JSON
|
|
|
|
"""JSON representation of the error response"""
|
|
error: JSON
|
|
|
|
"""The current fetching status of the fetchable data"""
|
|
fetchingStatus: RemoteFetchableStatus!
|
|
|
|
"""
|
|
This ID is generated based on hashes of the queried data, and should be passed to the loadRemoteFetchables mutation to initiate loading the remote data
|
|
"""
|
|
id: ID!
|
|
|
|
"""Prints the full operation sent for this query, for debugging purposes"""
|
|
operation: String!
|
|
|
|
"""The hash of the operation, for debugging purposes"""
|
|
operationHash: String!
|
|
|
|
"""The variables passed to the operation, for debugging purposes"""
|
|
operationVariables: JSON!
|
|
}
|
|
|
|
"""
|
|
Wrapper for the resolution remote RemoteFetchableCloudProjectSpecResult data
|
|
"""
|
|
type RemoteFetchableCloudProjectSpecResult implements Node & RemoteFetchable {
|
|
"""
|
|
Data resolved for the RemoteFetchableCloudProjectSpecResult from the cloud
|
|
"""
|
|
data: CloudProjectSpecResult
|
|
|
|
"""The raw data response when resolving the data"""
|
|
dataRaw: JSON
|
|
|
|
"""JSON representation of the error response"""
|
|
error: JSON
|
|
|
|
"""The current fetching status of the fetchable data"""
|
|
fetchingStatus: RemoteFetchableStatus!
|
|
|
|
"""
|
|
This ID is generated based on hashes of the queried data, and should be passed to the loadRemoteFetchables mutation to initiate loading the remote data
|
|
"""
|
|
id: ID!
|
|
|
|
"""Prints the full operation sent for this query, for debugging purposes"""
|
|
operation: String!
|
|
|
|
"""The hash of the operation, for debugging purposes"""
|
|
operationHash: String!
|
|
|
|
"""The variables passed to the operation, for debugging purposes"""
|
|
operationVariables: JSON!
|
|
}
|
|
|
|
enum RemoteFetchableStatus {
|
|
"""Errored while fetching"""
|
|
ERRORED
|
|
|
|
"""We have loaded the remote data"""
|
|
FETCHED
|
|
|
|
"""Currently fetching"""
|
|
FETCHING
|
|
|
|
"""Has not been fetched yet"""
|
|
NOT_FETCHED
|
|
}
|
|
|
|
"""Possible check status of the instances run"""
|
|
enum RunInstanceStatusEnum {
|
|
CANCELLED
|
|
ERRORED
|
|
FAILED
|
|
NOTESTS
|
|
PASSED
|
|
RUNNING
|
|
TIMEDOUT
|
|
UNCLAIMED
|
|
}
|
|
|
|
"""A file that we just added to the filesystem during project setup"""
|
|
type ScaffoldedFile {
|
|
"""Info about the file we just scaffolded"""
|
|
description: String!
|
|
|
|
"""Info about the file"""
|
|
file: FileParts!
|
|
|
|
"""Info about the field"""
|
|
status: WizardConfigFileStatusEnum!
|
|
}
|
|
|
|
"""Represents a spec on the file system"""
|
|
type Spec implements Node {
|
|
"""
|
|
Absolute path to spec (e.g. /Users/jess/my-project/src/component/MySpec.test.tsx)
|
|
"""
|
|
absolute: String!
|
|
|
|
"""Full name of spec file (e.g. MySpec.test.tsx)"""
|
|
baseName: String!
|
|
|
|
"""Wrapper for resolving remote data associated with this field"""
|
|
cloudSpec(
|
|
"""A globally unique name for this field"""
|
|
name: String!
|
|
): RemoteFetchableCloudProjectSpecResult
|
|
|
|
"""The file extension (e.g. tsx, jsx)"""
|
|
fileExtension: String!
|
|
|
|
"""The first part of the file, without extensions (e.g. MySpec)"""
|
|
fileName: String!
|
|
|
|
"""Git information about the spec file"""
|
|
gitInfo: GitInfo
|
|
|
|
"""Relay style Node ID field for the Spec field"""
|
|
id: ID!
|
|
|
|
"""Full name of spec file (e.g. MySpec.test.tsx)"""
|
|
name: String!
|
|
|
|
"""Relative path to spec (e.g. src/component/MySpec.test.tsx)"""
|
|
relative: String!
|
|
|
|
"""
|
|
The spec file's extension, including "spec" pattern (e.g. .spec.tsx, -spec.tsx, -test.tsx)
|
|
"""
|
|
specFileExtension: String!
|
|
|
|
"""Type of spec (e.g. component | integration)"""
|
|
specType: SpecType!
|
|
}
|
|
|
|
"""Aggregate data from multiple groups for a spec run"""
|
|
type SpecDataAggregate {
|
|
"""Maximum value in the groups"""
|
|
max: Int
|
|
|
|
"""Minimum value in the groups"""
|
|
min: Int
|
|
}
|
|
|
|
enum SpecType {
|
|
component
|
|
integration
|
|
}
|
|
|
|
type Subscription {
|
|
"""Triggered when the auth state changes"""
|
|
authChange: Query
|
|
|
|
"""Issued when the current branch of a project changes"""
|
|
branchChange: CurrentProject
|
|
|
|
"""Status of the currently opened browser"""
|
|
browserStatusChange: CurrentProject
|
|
|
|
"""
|
|
Triggered when there is a change to the info associated with the cloud project (org added, project added)
|
|
"""
|
|
cloudViewerChange: Query
|
|
|
|
"""Issued when cypress.config.js is re-executed due to a change"""
|
|
configChange: CurrentProject
|
|
|
|
"""Issued for internal development changes"""
|
|
devChange: DevState
|
|
|
|
"""Triggered when the base error or warning state changes"""
|
|
errorWarningChange: Query
|
|
|
|
"""
|
|
Triggered when there is a change to the automatically-detected framework/bundler for a CT project
|
|
"""
|
|
frameworkDetectionChange: Wizard
|
|
|
|
"""
|
|
When the git info has refreshed for some or all of the specs, we fire this event with the specs updated
|
|
"""
|
|
gitInfoChange: [Spec]
|
|
|
|
"""
|
|
When we have resolved a section of a query, and want to update the local normalized cache, we "push" the fragment to the frontend to merge in the client side cache
|
|
"""
|
|
pushFragment: [PushFragmentPayload!]!
|
|
|
|
"""
|
|
Subscription that watches the given CloudRun id for changes and emits if changes are detected on the fields provided
|
|
"""
|
|
relevantRunSpecChange(runId: ID!): CloudRun
|
|
|
|
"""
|
|
Subscription that polls the cloud for new relevant runs that match local git commit hashes
|
|
"""
|
|
relevantRuns(location: RelevantRunLocationEnum!): RelevantRun
|
|
|
|
"""Issued when the watched specs for the project changes"""
|
|
specsChange: CurrentProject
|
|
|
|
"""
|
|
Initiates the polling mechanism with the Cypress Cloud to check if we should refetch specs, and mark specs as stale if we have updates
|
|
"""
|
|
startPollingForSpecs(branchName: String, projectId: String): String
|
|
}
|
|
|
|
enum SupportStatusEnum {
|
|
alpha
|
|
beta
|
|
community
|
|
full
|
|
}
|
|
|
|
"""The bundlers that we can use with Cypress"""
|
|
enum SupportedBundlers {
|
|
vite
|
|
webpack
|
|
}
|
|
|
|
enum TestingTypeEnum {
|
|
component
|
|
e2e
|
|
}
|
|
|
|
type TestingTypeInfo implements Node {
|
|
description: String!
|
|
|
|
"""Relay style Node ID field for the TestingTypeInfo field"""
|
|
id: ID!
|
|
title: String!
|
|
type: TestingTypeEnum!
|
|
}
|
|
|
|
"""
|
|
Represents the input for setting a mapping of test titles by the spec path
|
|
"""
|
|
input TestsBySpecInput {
|
|
"""Path to the spec relative to the project"""
|
|
specPath: String!
|
|
|
|
"""Full test title which should be all parts joined by a space"""
|
|
tests: [String!]!
|
|
}
|
|
|
|
"""A run was hidden because it was over the usage limit"""
|
|
type UsageLimitExceeded {
|
|
"""The number of tests allowed per month"""
|
|
monthlyTests: Int
|
|
}
|
|
|
|
"""Version of Cypress and release date"""
|
|
type Version {
|
|
"""unique id"""
|
|
id: String!
|
|
|
|
"""Release date as an iso8601 timestamp"""
|
|
released: String!
|
|
|
|
"""Version number (follows semantic versioning)"""
|
|
version: String!
|
|
}
|
|
|
|
"""Version of Cypress and release date"""
|
|
type VersionData {
|
|
"""current version of cypress you are using"""
|
|
current: Version!
|
|
|
|
"""latest version of cypress"""
|
|
latest: Version!
|
|
}
|
|
|
|
"""
|
|
The Wizard is a container for any state associated with initial onboarding to Cypress
|
|
"""
|
|
type Wizard {
|
|
"""All of the bundlers to choose from"""
|
|
allBundlers: [WizardBundler!]!
|
|
bundler: WizardBundler
|
|
|
|
"""
|
|
Framework definitions that had a package.json detected but could not be loaded due to an error
|
|
"""
|
|
erroredFrameworks: [WizardErroredFramework!]!
|
|
framework: WizardFrontendFramework
|
|
|
|
"""All of the component testing frameworks to choose from"""
|
|
frameworks: [WizardFrontendFramework!]!
|
|
|
|
"""Command to install required command"""
|
|
installDependenciesCommand: String
|
|
|
|
"""
|
|
A list of packages to install, null if we have not chosen both a framework and bundler
|
|
"""
|
|
packagesToInstall: [WizardNpmPackage!]!
|
|
}
|
|
|
|
"""Wizard bundler"""
|
|
type WizardBundler implements Node {
|
|
"""Relay style Node ID field for the WizardBundler field"""
|
|
id: ID!
|
|
|
|
"""Whether this is the detected bundler"""
|
|
isDetected: Boolean!
|
|
|
|
"""Display name of the bundler"""
|
|
name: String!
|
|
|
|
"""The name of the framework"""
|
|
type: SupportedBundlers!
|
|
}
|
|
|
|
enum WizardConfigFileStatusEnum {
|
|
changes
|
|
error
|
|
skipped
|
|
valid
|
|
}
|
|
|
|
"""Represents a Framework Definition that failed to load when detected"""
|
|
type WizardErroredFramework implements Node {
|
|
"""Relay style Node ID field for the WizardErroredFramework field"""
|
|
id: ID!
|
|
|
|
"""The location of the framework's package.json file"""
|
|
path: String
|
|
}
|
|
|
|
"""A frontend framework that we can setup within the app"""
|
|
type WizardFrontendFramework implements Node {
|
|
"""The category (framework, like react-scripts, or library, like react"""
|
|
category: String!
|
|
|
|
"""Raw SVG icon of framework"""
|
|
icon: String
|
|
|
|
"""Relay style Node ID field for the WizardFrontendFramework field"""
|
|
id: ID!
|
|
|
|
"""Whether this is the detected framework"""
|
|
isDetected: Boolean!
|
|
|
|
"""Whether this is the selected framework in the wizard"""
|
|
isSelected: Boolean!
|
|
|
|
"""The display name of the framework"""
|
|
name: String!
|
|
|
|
"""Current support status of the framework"""
|
|
supportStatus: SupportStatusEnum!
|
|
|
|
"""All of the supported bundlers for this framework"""
|
|
supportedBundlers: [WizardBundler!]!
|
|
|
|
"""The unique identifier for a framework or library"""
|
|
type: String!
|
|
}
|
|
|
|
"""Details about an NPM Package listed during the wizard install"""
|
|
type WizardNpmPackage implements Node {
|
|
"""Short description about the purpose of the package"""
|
|
description: String!
|
|
|
|
"""Version of the package the user has installed"""
|
|
detectedVersion: String
|
|
|
|
"""Relay style Node ID field for the WizardNpmPackage field"""
|
|
id: ID!
|
|
|
|
"""Minimum version of the package that Cypress works with"""
|
|
minVersion: String!
|
|
|
|
"""The package name that you would npm install"""
|
|
name: String!
|
|
|
|
"""Name of the package on npm"""
|
|
package: String!
|
|
|
|
"""
|
|
If the package is installed, does the version satisfy Cypress minimum requirements
|
|
"""
|
|
satisfied: Boolean!
|
|
}
|
|
|
|
input WizardUpdateInput {
|
|
bundler: SupportedBundlers
|
|
framework: String
|
|
}
|