diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-19 09:08:42 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-19 09:08:42 +0000 |
commit | b76ae638462ab0f673e5915986070518dd3f9ad3 (patch) | |
tree | bdab0533383b52873be0ec0eb4d3c66598ff8b91 /spec/rubocop/cop/graphql/descriptions_spec.rb | |
parent | 434373eabe7b4be9593d18a585fb763f1e5f1a6f (diff) | |
download | gitlab-ce-14.2.0-rc42.tar.gz |
Add latest changes from gitlab-org/gitlab@14-2-stable-eev14.2.0-rc42
Diffstat (limited to 'spec/rubocop/cop/graphql/descriptions_spec.rb')
-rw-r--r-- | spec/rubocop/cop/graphql/descriptions_spec.rb | 118 |
1 files changed, 98 insertions, 20 deletions
diff --git a/spec/rubocop/cop/graphql/descriptions_spec.rb b/spec/rubocop/cop/graphql/descriptions_spec.rb index 9709a253bdc..84520a89b08 100644 --- a/spec/rubocop/cop/graphql/descriptions_spec.rb +++ b/spec/rubocop/cop/graphql/descriptions_spec.rb @@ -12,8 +12,8 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeType < BaseObject field :a_thing, - ^^^^^^^^^^^^^^^ Please add a `description` property. - GraphQL::STRING_TYPE, + ^^^^^^^^^^^^^^^ #{described_class::MSG_NO_DESCRIPTION} + GraphQL::Types::String, null: false end end @@ -25,10 +25,38 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeType < BaseObject field :a_thing, - ^^^^^^^^^^^^^^^ `description` strings must end with a `.`. - GraphQL::STRING_TYPE, + ^^^^^^^^^^^^^^^ #{described_class::MSG_NO_PERIOD} + GraphQL::Types::String, null: false, - description: 'A descriptive description' + description: 'Description of a thing' + end + end + TYPE + end + + it 'adds an offense when description begins with "A"' do + expect_offense(<<~TYPE) + module Types + class FakeType < BaseObject + field :a_thing, + ^^^^^^^^^^^^^^^ #{described_class::MSG_BAD_START} + GraphQL::Types::String, + null: false, + description: 'A description of the thing.' + end + end + TYPE + end + + it 'adds an offense when description begins with "The"' do + expect_offense(<<~TYPE) + module Types + class FakeType < BaseObject + field :a_thing, + ^^^^^^^^^^^^^^^ #{described_class::MSG_BAD_START} + GraphQL::Types::String, + null: false, + description: 'The description of the thing.' end end TYPE @@ -39,9 +67,9 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeType < BaseObject field :a_thing, - GraphQL::STRING_TYPE, + GraphQL::Types::String, null: false, - description: 'A descriptive description.' + description: 'Description of a thing.' end end TYPE @@ -64,8 +92,8 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeType < BaseObject argument :a_thing, - ^^^^^^^^^^^^^^^^^^ Please add a `description` property. - GraphQL::STRING_TYPE, + ^^^^^^^^^^^^^^^^^^ #{described_class::MSG_NO_DESCRIPTION} + GraphQL::Types::String, null: false end end @@ -77,8 +105,8 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeType < BaseObject argument :a_thing, - ^^^^^^^^^^^^^^^^^^ `description` strings must end with a `.`. - GraphQL::STRING_TYPE, + ^^^^^^^^^^^^^^^^^^ #{described_class::MSG_NO_PERIOD} + GraphQL::Types::String, null: false, description: 'Behold! A description' end @@ -86,12 +114,40 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do TYPE end + it 'adds an offense when description begins with "A"' do + expect_offense(<<~TYPE) + module Types + class FakeType < BaseObject + argument :a_thing, + ^^^^^^^^^^^^^^^^^^ #{described_class::MSG_BAD_START} + GraphQL::Types::String, + null: false, + description: 'A description.' + end + end + TYPE + end + + it 'adds an offense when description begins with "The"' do + expect_offense(<<~TYPE) + module Types + class FakeType < BaseObject + argument :a_thing, + ^^^^^^^^^^^^^^^^^^ #{described_class::MSG_BAD_START} + GraphQL::Types::String, + null: false, + description: 'The description.' + end + end + TYPE + end + it 'does not add an offense when description is correct' do expect_no_offenses(<<~TYPE.strip) module Types class FakeType < BaseObject argument :a_thing, - GraphQL::STRING_TYPE, + GraphQL::Types::String, null: false, description: 'Behold! A description.' end @@ -106,7 +162,7 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeEnum < BaseEnum value 'FOO', value: 'foo' - ^^^^^^^^^^^^^^^^^^^^^^^^^ Please add a `description` property. + ^^^^^^^^^^^^^^^^^^^^^^^^^ #{described_class::MSG_NO_DESCRIPTION} end end TYPE @@ -117,7 +173,29 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeEnum < BaseEnum value 'FOO', value: 'foo', description: 'bar' - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `description` strings must end with a `.`. + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #{described_class::MSG_NO_PERIOD} + end + end + TYPE + end + + it 'adds an offense when description begins with "The"' do + expect_offense(<<~TYPE.strip) + module Types + class FakeEnum < BaseEnum + value 'FOO', value: 'foo', description: 'The description.' + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #{described_class::MSG_BAD_START} + end + end + TYPE + end + + it 'adds an offense when description begins with "A"' do + expect_offense(<<~TYPE.strip) + module Types + class FakeEnum < BaseEnum + value 'FOO', value: 'foo', description: 'A description.' + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #{described_class::MSG_BAD_START} end end TYPE @@ -150,8 +228,8 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeType < BaseObject field :a_thing, - ^^^^^^^^^^^^^^^ `description` strings must end with a `.`. - GraphQL::STRING_TYPE, + ^^^^^^^^^^^^^^^ #{described_class::MSG_NO_PERIOD} + GraphQL::Types::String, null: false, description: 'Behold! A description' end @@ -162,7 +240,7 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeType < BaseObject field :a_thing, - GraphQL::STRING_TYPE, + GraphQL::Types::String, null: false, description: 'Behold! A description.' end @@ -175,8 +253,8 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeType < BaseObject field :a_thing, - ^^^^^^^^^^^^^^^ `description` strings must end with a `.`. - GraphQL::STRING_TYPE, + ^^^^^^^^^^^^^^^ #{described_class::MSG_NO_PERIOD} + GraphQL::Types::String, null: false, description: <<~DESC Behold! A description @@ -189,7 +267,7 @@ RSpec.describe RuboCop::Cop::Graphql::Descriptions do module Types class FakeType < BaseObject field :a_thing, - GraphQL::STRING_TYPE, + GraphQL::Types::String, null: false, description: <<~DESC Behold! A description. |