rspec-request_describer 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 56cff985b6ca3e943ccf4eeb4e22442645cc39ff587e0ea91fe384274d6b9a30
4
- data.tar.gz: 2597ebc166da6f35b692e7faddd46b83a8a064ac6d9a2d452507d47f96edad81
3
+ metadata.gz: f663222473fe59484bc2e7b66a12a0f00edbd594fe8c7213b25e65c09e301b5e
4
+ data.tar.gz: ff27bc035f85f243c1fbd9724f215329b700cabb963e99a23d3a795226c5d868
5
5
  SHA512:
6
- metadata.gz: 79ee62dd7454fbd56c51c2b7ebbc39677c57228c1edc6943e3ceccc46f30f539d1a7165458a01a84270dee8ec07039ecc682a12ae5e9a5d827720714580cc72c
7
- data.tar.gz: dc22b1bf82374f5fddbc78655b7838ae064cf9155f2794929753e2c8e6cb039f81b02f06bda9e33abc653aae6428a8f0479bde3639736633cfb87deff616e8da
6
+ metadata.gz: f4f0580c22c26f5c1d3ce15f7f14d7e24fba46bfb7b471b5d84c7d634965f5d981e467740e1484e6bfc5a081176439e0e608fcd151de317c673c8870e9d7c535
7
+ data.tar.gz: 219b07cde7c240ba1a2b42cb5ba433c7fec176f5bc32397ca09389dd774a3b214539f5e35d03410b0a9bdeb902fe339c2513aa2a7696fc46f8b14bd103a43db9
@@ -0,0 +1,17 @@
1
+ name: test
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - master
8
+
9
+ jobs:
10
+ rspec:
11
+ uses: r7kamura/workflows/.github/workflows/ruby-rspec.yml@main
12
+ with:
13
+ ruby-version: 2.7.4
14
+ rubocop:
15
+ uses: r7kamura/workflows/.github/workflows/ruby-rubocop.yml@main
16
+ with:
17
+ ruby-version: 2.7.4
data/CHANGELOG.md CHANGED
@@ -1,15 +1,26 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to this project will be documented in this file.
3
+ ## Unreleased
4
4
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
+ ## 0.4.0 - 2023-07-10
7
6
 
8
- ## v0.3.1 - 2019-05-08
7
+ ### Added
8
+
9
+ - Support HEAD HTTP method.
10
+
11
+ ## 0.3.2 - 2020-02-15
12
+
13
+ ### Removed
14
+
15
+ - Remove runtime gem dependency on actionpack.
16
+
17
+ ## 0.3.1 - 2019-05-08
18
+
19
+ ### Fixed
9
20
 
10
21
  - Fix env calculation timing.
11
22
 
12
- ## v0.3.0 - 2019-05-05
23
+ ## 0.3.0 - 2019-05-05
13
24
 
14
25
  ### Added
15
26
 
data/Gemfile CHANGED
@@ -3,5 +3,6 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in rspec-request_describer.gemspec
4
4
  gemspec
5
5
 
6
+ gem 'rake'
6
7
  gem 'rspec'
7
8
  gem 'rubocop'
data/Gemfile.lock CHANGED
@@ -1,60 +1,20 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rspec-request_describer (0.2.2)
5
- actionpack (>= 5.0.0)
4
+ rspec-request_describer (0.4.0)
6
5
 
7
6
  GEM
8
7
  remote: https://rubygems.org/
9
8
  specs:
10
- actionpack (5.2.2)
11
- actionview (= 5.2.2)
12
- activesupport (= 5.2.2)
13
- rack (~> 2.0)
14
- rack-test (>= 0.6.3)
15
- rails-dom-testing (~> 2.0)
16
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
17
- actionview (5.2.2)
18
- activesupport (= 5.2.2)
19
- builder (~> 3.1)
20
- erubi (~> 1.4)
21
- rails-dom-testing (~> 2.0)
22
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
23
- activesupport (5.2.2)
24
- concurrent-ruby (~> 1.0, >= 1.0.2)
25
- i18n (>= 0.7, < 2)
26
- minitest (~> 5.1)
27
- tzinfo (~> 1.1)
28
9
  ast (2.4.0)
29
- builder (3.2.3)
30
- concurrent-ruby (1.1.3)
31
- crass (1.0.4)
32
10
  diff-lcs (1.3)
33
- erubi (1.7.1)
34
- i18n (1.1.1)
35
- concurrent-ruby (~> 1.0)
36
11
  jaro_winkler (1.5.1)
37
- loofah (2.2.3)
38
- crass (~> 1.0.2)
39
- nokogiri (>= 1.5.9)
40
- mini_portile2 (2.3.0)
41
- minitest (5.11.3)
42
- nokogiri (1.8.5)
43
- mini_portile2 (~> 2.3.0)
44
12
  parallel (1.12.1)
45
13
  parser (2.5.3.0)
46
14
  ast (~> 2.4.0)
47
15
  powerpack (0.1.2)
48
- rack (2.0.6)
49
- rack-test (1.1.0)
50
- rack (>= 1.0, < 3)
51
- rails-dom-testing (2.0.3)
52
- activesupport (>= 4.2.0)
53
- nokogiri (>= 1.6)
54
- rails-html-sanitizer (1.0.4)
55
- loofah (~> 2.2, >= 2.2.2)
56
16
  rainbow (3.0.0)
57
- rake (10.5.0)
17
+ rake (13.0.1)
58
18
  rspec (3.8.0)
59
19
  rspec-core (~> 3.8.0)
60
20
  rspec-expectations (~> 3.8.0)
@@ -77,20 +37,16 @@ GEM
77
37
  ruby-progressbar (~> 1.7)
78
38
  unicode-display_width (~> 1.4.0)
79
39
  ruby-progressbar (1.10.0)
80
- thread_safe (0.3.6)
81
- tzinfo (1.2.5)
82
- thread_safe (~> 0.1)
83
40
  unicode-display_width (1.4.0)
84
41
 
85
42
  PLATFORMS
86
43
  ruby
87
44
 
88
45
  DEPENDENCIES
89
- bundler (~> 1.7)
90
- rake (~> 10.0)
46
+ rake
91
47
  rspec
92
48
  rspec-request_describer!
93
49
  rubocop
94
50
 
95
51
  BUNDLED WITH
96
- 1.17.1
52
+ 2.2.29
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # RSpec::RequestDescriber
2
2
 
3
- [![CircleCI](https://circleci.com/gh/r7kamura/rspec-request_describer.svg?style=svg)](https://circleci.com/gh/r7kamura/rspec-request_describer)
3
+ [![test](https://github.com/r7kamura/rspec-request_describer/actions/workflows/test.yml/badge.svg)](https://github.com/r7kamura/rspec-request_describer/actions/workflows/test.yml)
4
4
  [![Gem Version](https://badge.fury.io/rb/rspec-request_describer.svg)](https://rubygems.org/gems/rspec-request_describer)
5
5
 
6
6
  An RSpec plugin to write self-documenting request-specs.
@@ -39,11 +39,15 @@ Include `RSpec::RequestDescriber` to your example groups like this:
39
39
  ```ruby
40
40
  require 'rspec/request_describer'
41
41
 
42
- RSpec.configuration.include RSpec::RequestDescriber, type: :request
42
+ RSpec.configure do |config|
43
+ config.include RSpec::RequestDescriber, type: :request
44
+ end
43
45
  ```
44
46
 
45
47
  ## Usage
46
48
 
49
+ Note that this is an example in a Rails app.
50
+
47
51
  ### subject
48
52
 
49
53
  `RSpec::RequestDescriber` provides `subject` from its top-level description.
@@ -51,7 +55,10 @@ RSpec.configuration.include RSpec::RequestDescriber, type: :request
51
55
  ```ruby
52
56
  # subject will be `get('/users')`.
53
57
  RSpec.describe 'GET /users' do
54
- it { is_expected.to eq(200) }
58
+ it 'returns 200' do
59
+ subject
60
+ expect(response).to have_http_status(200)
61
+ end
55
62
  end
56
63
  ```
57
64
 
@@ -66,7 +73,11 @@ RSpec.describe 'GET /users' do
66
73
  before do
67
74
  headers['Authorization'] = 'token 12345'
68
75
  end
69
- it { is_expected.to eq(200) }
76
+
77
+ it 'returns 200' do
78
+ subject
79
+ expect(response).to have_http_status(200)
80
+ end
70
81
  end
71
82
  end
72
83
  ```
@@ -83,21 +94,24 @@ RSpec.describe 'GET /users' do
83
94
  params['sort'] = 'id'
84
95
  end
85
96
 
86
- it 'returns users in ID order' do
87
- is_expected.to eq(200)
88
-
89
- users = JSON.parse(response.body)
90
- expect(users[0]['id']).to eq(1)
91
- expect(users[1]['id']).to eq(2)
97
+ it 'returns 200 with expected JSON body' do
98
+ subject
99
+ expect(response).to have_http_status(200)
100
+ expect(response.parsed_body).to match(
101
+ [
102
+ hash_including('id' => 1),
103
+ hash_including('id' => 2),
104
+ ]
105
+ )
92
106
  end
93
107
  end
94
108
  end
95
109
  ```
96
110
 
97
- ### variables in URL path
111
+ ### path parameters
98
112
 
99
- You can embed variables in URL path like `/users/:id`.
100
- In this example, the returned value of `id` method will be emobeded as its real value.
113
+ You can embed variables in URL path like `/users/:user_id`.
114
+ In this example, the returned value of `user_id` method will be emobeded as its real value.
101
115
 
102
116
  ```ruby
103
117
  # `subject` will be `get("/users/#{user_id}")`.
@@ -110,6 +124,9 @@ RSpec.describe 'GET /users/:user_id' do
110
124
  user.id
111
125
  end
112
126
 
113
- it { is_expected.to eq(200) }
127
+ it 'returns 200' do
128
+ subject
129
+ expect(response).to have_http_status(200)
130
+ end
114
131
  end
115
132
  ```
@@ -1,5 +1,5 @@
1
1
  module RSpec
2
2
  module RequestDescriber
3
- VERSION = '0.3.1'.freeze
3
+ VERSION = '0.4.0'.freeze
4
4
  end
5
5
  end
@@ -11,6 +11,7 @@ module RSpec
11
11
  SUPPORTED_METHODS = %w[
12
12
  DELETE
13
13
  GET
14
+ HEAD
14
15
  PATCH
15
16
  POST
16
17
  PUT
@@ -15,8 +15,4 @@ Gem::Specification.new do |spec|
15
15
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
17
  spec.require_paths = ['lib']
18
-
19
- spec.add_dependency 'actionpack', '>= 5.0.0'
20
- spec.add_development_dependency 'bundler', '~> 1.7'
21
- spec.add_development_dependency 'rake', '~> 10.0'
22
18
  end
metadata CHANGED
@@ -1,57 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-request_describer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-08 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: actionpack
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 5.0.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: 5.0.0
27
- - !ruby/object:Gem::Dependency
28
- name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '1.7'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '1.7'
41
- - !ruby/object:Gem::Dependency
42
- name: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '10.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '10.0'
11
+ date: 2023-07-10 00:00:00.000000000 Z
12
+ dependencies: []
55
13
  description:
56
14
  email:
57
15
  - r7kamura@gmail.com
@@ -59,7 +17,7 @@ executables: []
59
17
  extensions: []
60
18
  extra_rdoc_files: []
61
19
  files:
62
- - ".circleci/config.yml"
20
+ - ".github/workflows/test.yml"
63
21
  - ".gitignore"
64
22
  - ".rspec"
65
23
  - ".rubocop.yml"
@@ -93,8 +51,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
51
  - !ruby/object:Gem::Version
94
52
  version: '0'
95
53
  requirements: []
96
- rubyforge_project:
97
- rubygems_version: 2.7.6
54
+ rubygems_version: 3.3.26
98
55
  signing_key:
99
56
  specification_version: 4
100
57
  summary: An RSpec plugin to write self-documenting request-specs.
data/.circleci/config.yml DELETED
@@ -1,46 +0,0 @@
1
- jobs:
2
- rspec:
3
- docker:
4
- - image: ruby:2.5.3
5
- steps:
6
- - checkout
7
- - restore_cache:
8
- keys:
9
- - v1-dependencies-{{ checksum "Gemfile.lock" }}
10
- - v1-dependencies-
11
- - run:
12
- command: bundle install --jobs=4 --retry=3 --path vendor/bundle
13
- name: bundle install
14
- - save_cache:
15
- key: v1-dependencies-{{ checksum "Gemfile.lock" }}
16
- paths:
17
- - ./vendor/bundle
18
- - run:
19
- command: bundle exec rspec
20
- name: rspec
21
- rubocop:
22
- docker:
23
- - image: ruby:2.5.3
24
- steps:
25
- - checkout
26
- - restore_cache:
27
- keys:
28
- - v1-dependencies-{{ checksum "Gemfile.lock" }}
29
- - v1-dependencies-
30
- - run:
31
- command: bundle install --jobs=4 --retry=3 --path vendor/bundle
32
- name: bundle install
33
- - save_cache:
34
- key: v1-dependencies-{{ checksum "Gemfile.lock" }}
35
- paths:
36
- - ./vendor/bundle
37
- - run:
38
- command: bundle exec rubocop
39
- name: rubocop
40
- version: 2
41
- workflows:
42
- version: 2
43
- test:
44
- jobs:
45
- - rspec
46
- - rubocop