rubocop-discourse 2.3.0 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 954b3ae3f59036a9880d2d055c37e97e5bbc0d454207638cc390efb41cfde649
4
- data.tar.gz: 7b5607256ae2d3190a9d7d1ef7d95f73deb23964139a8a10c3fb628663912d96
3
+ metadata.gz: a72b547f01dafa6cb189e9bfa4478817b6235ae725707b36e4b7f692351c3707
4
+ data.tar.gz: 2bfc96ac97e72886e781ddf5bc94f38c04a6f7ce45946dea2823f35d8db8e798
5
5
  SHA512:
6
- metadata.gz: 4916ff3fcd7569705f59ced1716acbbeec52d763eff392e6eb148d5bc72d4fe6cff5644a0dfedc89353b4f856d77e609159d178b2b2d9643f904bed88d59cb4a
7
- data.tar.gz: 8c1a20229b96ef6b69085147c95c5b799c6f7c9b0d38e8dc63c5cb5dc07931a332c231771f45fe656bd03c563fd3fa85f8f1c2bf79d9d64ad96415ce6ce764e3
6
+ metadata.gz: cbcd4c1f22751539ee6a1c9550a08170d91f92b26e7098362bcf3039f0d3658b5df789c72b947e857fa38ba7523ca53b5061feff1b9bd6135940db61ce6baef6
7
+ data.tar.gz: 1f1d6460703cf74e03ce57ac50deed273f7a1a0f2df3d8a1ab9d6a9d0ec18aa53be63ad442c79dd08cfbf664811ea79caa02ae65127b23ae78a14c1c8721d71f
@@ -19,7 +19,6 @@ jobs:
19
19
  uses: actions/setup-ruby@v1
20
20
  with:
21
21
  ruby-version: 2.6
22
- architecture: 'x64'
23
22
 
24
23
  - name: Setup bundler
25
24
  run: gem install bundler
@@ -29,7 +28,7 @@ jobs:
29
28
 
30
29
  - name: Rubocop
31
30
  run: bundle exec rubocop
32
-
31
+
33
32
  - name: Rspec
34
33
  run: bundle exec rspec spec
35
34
 
@@ -42,6 +41,6 @@ jobs:
42
41
  - uses: actions/checkout@v2
43
42
 
44
43
  - name: Release Gem
45
- uses: CvX/publish-rubygems-action@master
44
+ uses: discourse/publish-rubygems-action@main
46
45
  env:
47
46
  RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
data/.gitignore CHANGED
@@ -1,3 +1 @@
1
- .rubocop-http*
2
1
  Gemfile.lock
3
- .byebug_history
data/default.yml CHANGED
@@ -15,6 +15,7 @@ AllCops:
15
15
  - "**/node_modules/**/*"
16
16
  - "public/**/*"
17
17
  - "plugins/**/gems/**/*"
18
+ - "plugins/**/vendor/**/*"
18
19
 
19
20
  Discourse:
20
21
  Enabled: true
@@ -4,15 +4,20 @@ module RuboCop
4
4
  module Cop
5
5
  module Discourse
6
6
  class NoMockingJobs < Cop
7
- MSG = "Use the test helpers provided by Sidekiq instead of mocking `Jobs`."
7
+ MSG = "Use the test helpers provided by Sidekiq instead of mocking `Jobs.expects(:enqueue)`."
8
8
 
9
- def_node_matcher :mocking_jobs?, <<~MATCHER
10
- (send (const nil? :Jobs) :expects ...)
9
+ def_node_matcher :mocking_jobs_enqueue?, <<~MATCHER
10
+ (send (const nil? :Jobs) :expects (:sym :enqueue))
11
+ MATCHER
12
+
13
+ def_node_matcher :mocking_jobs_enqueue_in?, <<~MATCHER
14
+ (send (const nil? :Jobs) :expects (:sym :enqueue_in))
11
15
  MATCHER
12
16
 
13
17
  def on_send(node)
14
- return unless mocking_jobs?(node)
15
- add_offense(node, message: MSG)
18
+ if mocking_jobs_enqueue?(node) || mocking_jobs_enqueue_in?(node)
19
+ add_offense(node, message: MSG)
20
+ end
16
21
  end
17
22
  end
18
23
  end
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Discourse
6
- # Use `time_eq` matcher with timestamps in specs.
6
+ # Use `eq_time` matcher with timestamps in specs.
7
7
  #
8
8
  # @example
9
9
  # # bad
@@ -12,7 +12,7 @@ module RuboCop
12
12
  # # good
13
13
  # expect(user.created_at).to eq_time(Time.zone.now)
14
14
  class TimeEqMatcher < Cop
15
- MSG = "Use time_eq when testing timestamps"
15
+ MSG = "Use eq_time when testing timestamps"
16
16
 
17
17
  def_node_matcher :using_eq_matcher_with_timestamp?, <<-MATCHER
18
18
  (send
@@ -2,15 +2,17 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubocop-discourse"
5
- s.version = "2.3.0"
5
+ s.version = "2.4.2"
6
6
  s.summary = "Custom rubocop cops used by Discourse"
7
7
  s.authors = ["David Taylor"]
8
- s.files = `git ls-files`.split($/)
9
- s.license = "MIT"
8
+ s.license = "MIT"
9
+ s.homepage = "https://github.com/discourse/rubocop-discourse"
10
+
11
+ s.files = `git ls-files`.split($/)
10
12
  s.require_paths = ["lib"]
11
13
 
12
- s.add_runtime_dependency "rubocop", ">= 0.69.0"
13
- s.add_runtime_dependency "rubocop-rspec", ">= 1.39.0"
14
+ s.add_runtime_dependency "rubocop", ">= 1.1.0"
15
+ s.add_runtime_dependency "rubocop-rspec", ">= 2.0.0"
14
16
 
15
17
  s.add_development_dependency "rake", "~> 13.0"
16
18
  s.add_development_dependency "rspec"
data/rubocop-rspec.yml CHANGED
@@ -99,9 +99,6 @@ RSpec/InstanceSpy:
99
99
  RSpec/InstanceVariable:
100
100
  Enabled: false # TODO
101
101
 
102
- RSpec/InvalidPredicateMatcher:
103
- Enabled: true
104
-
105
102
  RSpec/ItBehavesLike:
106
103
  Enabled: true
107
104
 
@@ -192,20 +189,20 @@ RSpec/VoidExpect:
192
189
  RSpec/Yield:
193
190
  Enabled: true
194
191
 
195
- Capybara/CurrentPathExpectation:
192
+ RSpec/Capybara/CurrentPathExpectation:
196
193
  Enabled: true
197
194
 
198
- Capybara/FeatureMethods:
195
+ RSpec/Capybara/FeatureMethods:
199
196
  Enabled: true
200
197
 
201
- FactoryBot/AttributeDefinedStatically:
198
+ RSpec/FactoryBot/AttributeDefinedStatically:
202
199
  Enabled: true
203
200
 
204
- FactoryBot/CreateList:
201
+ RSpec/FactoryBot/CreateList:
205
202
  Enabled: true
206
203
 
207
- FactoryBot/FactoryClassName:
204
+ RSpec/FactoryBot/FactoryClassName:
208
205
  Enabled: true
209
206
 
210
- Rails/HttpStatus:
207
+ RSpec/Rails/HttpStatus:
211
208
  Enabled: true
@@ -9,7 +9,7 @@ describe RuboCop::Cop::Discourse::NoMockingJobs, :config do
9
9
  RuboCop::Config.new
10
10
  end
11
11
 
12
- it "raises an offense if Jobs is mocked" do
12
+ it "raises an offense if Jobs is mocked with :enqueue" do
13
13
  inspect_source(<<~RUBY)
14
14
  Jobs.expects(:enqueue)
15
15
  RUBY
@@ -17,7 +17,15 @@ describe RuboCop::Cop::Discourse::NoMockingJobs, :config do
17
17
  expect(cop.offenses.first.message).to eq(described_class::MSG)
18
18
  end
19
19
 
20
- it "does not raise an offense if Jobs is not mocked" do
20
+ it "raises an offense if Jobs is mocked with :enqueue_in" do
21
+ inspect_source(<<~RUBY)
22
+ Jobs.expects(:enqueue_in)
23
+ RUBY
24
+
25
+ expect(cop.offenses.first.message).to eq(described_class::MSG)
26
+ end
27
+
28
+ it "does not raise an offense if Jobs is not mocked with :enqueue or :enqueue_in" do
21
29
  inspect_source(<<~RUBY)
22
30
  Jobs.enqueue(:some_job)
23
31
  RUBY
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-discourse
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Taylor
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-21 00:00:00.000000000 Z
11
+ date: 2021-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.69.0
19
+ version: 1.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.69.0
26
+ version: 1.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubocop-rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.39.0
33
+ version: 2.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.39.0
40
+ version: 2.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -99,10 +99,10 @@ files:
99
99
  - rubocop-discourse.gemspec
100
100
  - rubocop-rspec.yml
101
101
  - spec/lib/rubocop/cop/no_add_reference_active_record_migrations_spec.rb
102
- - spec/lib/rubocop/cop/no_mocking_jobs_spec.rb
102
+ - spec/lib/rubocop/cop/no_mocking_jobs_enqueue_spec.rb
103
103
  - spec/lib/rubocop/cop/no_reset_column_information_migrations_spec.rb
104
104
  - spec/spec_helper.rb
105
- homepage:
105
+ homepage: https://github.com/discourse/rubocop-discourse
106
106
  licenses:
107
107
  - MIT
108
108
  metadata: {}