Commit f68b51aa authored by lauraMon's avatar lauraMon

Updates docs for consistency

* Changes description
* Removes destroyable field
parent 72a8a9e0
...@@ -49,17 +49,13 @@ module Types ...@@ -49,17 +49,13 @@ module Types
description: 'Pipeline user', description: 'Pipeline user',
resolve: -> (pipeline, _args, _context) { Gitlab::Graphql::Loaders::BatchModelLoader.new(User, pipeline.user_id).find } resolve: -> (pipeline, _args, _context) { Gitlab::Graphql::Loaders::BatchModelLoader.new(User, pipeline.user_id).find }
field :retryable, GraphQL::BOOLEAN_TYPE, field :retryable, GraphQL::BOOLEAN_TYPE,
description: 'Specifies if a pipeline is retryable', description: 'Specifies if a pipeline can be retried',
method: :retryable?, method: :retryable?,
null: false null: false
field :cancelable, GraphQL::BOOLEAN_TYPE, field :cancelable, GraphQL::BOOLEAN_TYPE,
description: 'Specifies if a pipeline is cancelable', description: 'Specifies if a pipeline can be canceled',
method: :cancelable?, method: :cancelable?,
null: false null: false
field :destroyable, GraphQL::BOOLEAN_TYPE,
description: 'Specifies if a pipeline can be destroyed',
null: false,
resolve: -> (pipeline, _args, context) { Ability.allowed?(context[:current_user], :destroy_pipeline, pipeline) }
end end
end end
end end
......
...@@ -10698,7 +10698,7 @@ type Pipeline { ...@@ -10698,7 +10698,7 @@ type Pipeline {
beforeSha: String beforeSha: String
""" """
Specifies if a pipeline is cancelable Specifies if a pipeline can be canceled
""" """
cancelable: Boolean! cancelable: Boolean!
...@@ -10724,11 +10724,6 @@ type Pipeline { ...@@ -10724,11 +10724,6 @@ type Pipeline {
""" """
createdAt: Time! createdAt: Time!
"""
Specifies if a pipeline can be destroyed
"""
destroyable: Boolean!
""" """
Detailed status of the pipeline Detailed status of the pipeline
""" """
...@@ -10755,7 +10750,7 @@ type Pipeline { ...@@ -10755,7 +10750,7 @@ type Pipeline {
iid: String! iid: String!
""" """
Specifies if a pipeline is retryable Specifies if a pipeline can be retried
""" """
retryable: Boolean! retryable: Boolean!
......
...@@ -32017,7 +32017,7 @@ ...@@ -32017,7 +32017,7 @@
}, },
{ {
"name": "cancelable", "name": "cancelable",
"description": "Specifies if a pipeline is cancelable", "description": "Specifies if a pipeline can be canceled",
"args": [ "args": [
], ],
...@@ -32093,24 +32093,6 @@ ...@@ -32093,24 +32093,6 @@
"isDeprecated": false, "isDeprecated": false,
"deprecationReason": null "deprecationReason": null
}, },
{
"name": "destroyable",
"description": "Specifies if a pipeline can be destroyed",
"args": [
],
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
"name": "Boolean",
"ofType": null
}
},
"isDeprecated": false,
"deprecationReason": null
},
{ {
"name": "detailedStatus", "name": "detailedStatus",
"description": "Detailed status of the pipeline", "description": "Detailed status of the pipeline",
...@@ -32195,7 +32177,7 @@ ...@@ -32195,7 +32177,7 @@
}, },
{ {
"name": "retryable", "name": "retryable",
"description": "Specifies if a pipeline is retryable", "description": "Specifies if a pipeline can be retried",
"args": [ "args": [
], ],
...@@ -1650,18 +1650,17 @@ Information about pagination in a connection. ...@@ -1650,18 +1650,17 @@ Information about pagination in a connection.
| Name | Type | Description | | Name | Type | Description |
| --- | ---- | ---------- | | --- | ---- | ---------- |
| `beforeSha` | String | Base SHA of the source branch | | `beforeSha` | String | Base SHA of the source branch |
| `cancelable` | Boolean! | Specifies if a pipeline is cancelable | | `cancelable` | Boolean! | Specifies if a pipeline can be canceled |
| `committedAt` | Time | Timestamp of the pipeline's commit | | `committedAt` | Time | Timestamp of the pipeline's commit |
| `configSource` | PipelineConfigSourceEnum | Config source of the pipeline (UNKNOWN_SOURCE, REPOSITORY_SOURCE, AUTO_DEVOPS_SOURCE, WEBIDE_SOURCE, REMOTE_SOURCE, EXTERNAL_PROJECT_SOURCE, BRIDGE_SOURCE, PARAMETER_SOURCE) | | `configSource` | PipelineConfigSourceEnum | Config source of the pipeline (UNKNOWN_SOURCE, REPOSITORY_SOURCE, AUTO_DEVOPS_SOURCE, WEBIDE_SOURCE, REMOTE_SOURCE, EXTERNAL_PROJECT_SOURCE, BRIDGE_SOURCE, PARAMETER_SOURCE) |
| `coverage` | Float | Coverage percentage | | `coverage` | Float | Coverage percentage |
| `createdAt` | Time! | Timestamp of the pipeline's creation | | `createdAt` | Time! | Timestamp of the pipeline's creation |
| `destroyable` | Boolean! | Specifies if a pipeline can be destroyed |
| `detailedStatus` | DetailedStatus! | Detailed status of the pipeline | | `detailedStatus` | DetailedStatus! | Detailed status of the pipeline |
| `duration` | Int | Duration of the pipeline in seconds | | `duration` | Int | Duration of the pipeline in seconds |
| `finishedAt` | Time | Timestamp of the pipeline's completion | | `finishedAt` | Time | Timestamp of the pipeline's completion |
| `id` | ID! | ID of the pipeline | | `id` | ID! | ID of the pipeline |
| `iid` | String! | Internal ID of the pipeline | | `iid` | String! | Internal ID of the pipeline |
| `retryable` | Boolean! | Specifies if a pipeline is retryable | | `retryable` | Boolean! | Specifies if a pipeline can be retried |
| `securityReportSummary` | SecurityReportSummary | Vulnerability and scanned resource counts for each security scanner of the pipeline | | `securityReportSummary` | SecurityReportSummary | Vulnerability and scanned resource counts for each security scanner of the pipeline |
| `sha` | String! | SHA of the pipeline's commit | | `sha` | String! | SHA of the pipeline's commit |
| `startedAt` | Time | Timestamp when the pipeline was started | | `startedAt` | Time | Timestamp when the pipeline was started |
......
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'destroyable' do
include GraphqlHelpers
let_it_be(:project) { create(:project) }
let_it_be(:user) { create(:user) }
let_it_be(:project_owner) { project.owner }
let_it_be(:pipeline) { create(:ci_pipeline, project: project) }
let(:query) do
%(
query {
project(fullPath: "#{project.full_path}") {
pipeline(iid: "#{pipeline.iid}") {
destroyable
}
}
}
)
end
let(:pipeline_graphql_data) { graphql_data.dig('project', 'pipeline', 'destroyable') }
context 'when user does not have the permission' do
before do
project.add_developer(user)
post_graphql(query, current_user: user)
end
it 'returns false' do
allow(Ability).to receive(:allowed?).with(user, :destroy_pipline, pipeline).and_return(false)
expect(pipeline_graphql_data).to be(false)
end
end
context 'when user is owner and therefore has the permission' do
before do
post_graphql(query, current_user: project_owner)
end
it 'returns true' do
allow(Ability).to receive(:allowed?).with(project_owner, :destroy_pipline, pipeline).and_return(true)
expect(pipeline_graphql_data).to be(true)
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment