rspec-request_describer 0.3.1 → 0.4.0

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: 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