rspec-example_steps 3.0.2 → 3.1.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
- SHA1:
3
- metadata.gz: 489096c9a1854033941f9011671224109ba01512
4
- data.tar.gz: 3e60360c4d30279ed99788e14155957ffb9c90ca
2
+ SHA256:
3
+ metadata.gz: b8172abd39b0b7013b32df9b0975101cf9f40928b02b3be3a88e4abbcbe3b4f2
4
+ data.tar.gz: d69aa231297cefa1b45ee6fbbe7bbccc16572117f9bf066f20ad3eed50aaedd1
5
5
  SHA512:
6
- metadata.gz: 27690c06fa608053e3667440b604f5f9fab8170a5c98284e649f19759f4a731af287359c636ca532dfe58b688974ac264c0d3c76d389537a81d89a874a8b5d19
7
- data.tar.gz: a83438d88b9168dad1fcb861ed5dafb50ea25d8d8a459ffde849e4a8b5da157630b766e160160e52d82fc4e0bfc70b5a8a418e38b5fed76bb3cc18d61196594e
6
+ metadata.gz: 7dc7552ba3b6cc78140942dec817cb323a5721ebf920e344b9f61405bd4ea6e99e380ca4e68665a56a1a9672446150482790f60437d20efc5fe31b9a46c6829b
7
+ data.tar.gz: a06829b9fb3749a89c50abbd335f13ba3c7c1ff0d555a7bbc78aa980e43fc5cd81d50340fc1f3b0d4cde820636873a69d83b4384d5b65a8dcfbb9ab75335c542
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ # Changelog
2
+
3
+ ## 3.1.0
4
+
5
+ * Removed shared_steps feature
data/README.md CHANGED
@@ -12,7 +12,7 @@ This gem brings two major functionality to your `spec/features`
12
12
  ### Installation
13
13
 
14
14
  * For rspec v2 use gem **v0.2.x** or rspec2 branch
15
- * For rspec v3 user gem **v3.x.x** or master branch
15
+ * For rspec v3 use gem **v3.x.x** or master branch
16
16
 
17
17
  ```ruby
18
18
  gem 'rspec-example_steps'
@@ -60,86 +60,6 @@ Searching
60
60
  Then I should see result
61
61
  </pre>
62
62
 
63
- ### Shared steps
64
-
65
- Use _shared_steps_ do define block that will be evaluated in the context of example using _include_steps_.
66
-
67
- Shared _steps_ behavior is simular to shared _example_ but context is example nor example_group.
68
-
69
- ### Example with shared steps
70
-
71
- ```ruby
72
- shared_steps 'login' do
73
- When 'I go to login page' do
74
- visit '/login'
75
- end
76
- When 'I put credentials' do
77
- fill_in 'Login', with: 'jack@example.com'
78
- fill_in 'Password', with: 'password'
79
- end
80
- Then 'I should be logged in' do
81
- expect(page).to have_content('Welcome jack@example.com')
82
- end
83
- end
84
-
85
- shared_steps 'logout' do
86
- visit '/logout'
87
- expect(page.status_code).to eq(200)
88
- end
89
-
90
- context 'user flow'
91
- Steps 'User updates profile description' do
92
- include_steps 'login'
93
- When 'I update profile description' do
94
- ...
95
- end
96
- include_steps 'logout'
97
- end
98
-
99
- Steps 'User updates profile avatar' do
100
- include_steps 'login'
101
- When 'I update profile avatar' do
102
- ...
103
- end
104
- include_steps 'logout'
105
- end
106
- end
107
- ```
108
-
109
- ### Passing arguments to shared steps
110
-
111
- It's possible to customize shared steps. See example
112
-
113
- ### Example with shared steps with arguments
114
-
115
- ```ruby
116
- shared_steps 'login' do |email, password|
117
- When 'I go to login page' do
118
- page.visit '/login'
119
- end
120
- When 'I put credentials' do
121
- fill_in 'Login', with: email
122
- fill_in 'Password', with: password
123
- end
124
- end
125
-
126
- shared_steps 'invalid login' do
127
- Then 'I should see login error' do
128
- ...
129
- end
130
- end
131
-
132
- Steps 'User provides wrong email' do
133
- include_steps 'login', 'jack', 'qwerty'
134
- include_steps 'invalid login'
135
- end
136
-
137
- Steps 'User provides wrong password' do
138
- include_steps 'login', 'jack@example.com', 'bla'
139
- include_steps 'invalid login'
140
- end
141
- ```
142
-
143
63
  ### Pending steps
144
64
 
145
65
  Simular to Example :pending behavior:
@@ -23,6 +23,3 @@ if formatter = RSpec.world.reporter.find_registered_formatter(RSpec::Core::Forma
23
23
  RSpec.world.reporter.register_listener formatter,
24
24
  :example_started, :example_step_passed, :example_step_pending, :example_step_failed
25
25
  end
26
-
27
- require 'rspec/example_steps/shared_steps'
28
- include RSpec::ExampleSteps::SharedSteps
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'rspec-example_steps'
6
- s.version = '3.0.2'
6
+ s.version = '3.1.0'
7
7
  s.authors = ['Andriy Yanko']
8
8
  s.email = ['andriy.yanko@gmail.com']
9
9
  s.homepage = 'https://github.com/railsware/rspec-example_steps'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-example_steps
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andriy Yanko
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-18 00:00:00.000000000 Z
11
+ date: 2021-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec-core
@@ -24,7 +24,7 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.0.0
27
- description:
27
+ description:
28
28
  email:
29
29
  - andriy.yanko@gmail.com
30
30
  executables: []
@@ -32,6 +32,7 @@ extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
34
  - ".gitignore"
35
+ - CHANGELOG.md
35
36
  - Gemfile
36
37
  - LICENSE
37
38
  - README.md
@@ -41,18 +42,16 @@ files:
41
42
  - lib/rspec/example_steps/example_group.rb
42
43
  - lib/rspec/example_steps/notification.rb
43
44
  - lib/rspec/example_steps/reporter.rb
44
- - lib/rspec/example_steps/shared_steps.rb
45
45
  - lib/rspec/example_steps/world.rb
46
46
  - rspec-example_steps.gemspec
47
47
  - spec/example_steps_spec.rb
48
48
  - spec/regression_spec.rb
49
- - spec/shared_steps_spec.rb
50
49
  - spec/spec_helper.rb
51
50
  homepage: https://github.com/railsware/rspec-example_steps
52
51
  licenses:
53
52
  - MIT
54
53
  metadata: {}
55
- post_install_message:
54
+ post_install_message:
56
55
  rdoc_options: []
57
56
  require_paths:
58
57
  - lib
@@ -67,13 +66,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
67
66
  - !ruby/object:Gem::Version
68
67
  version: '0'
69
68
  requirements: []
70
- rubyforge_project: rspec_example_steps
71
- rubygems_version: 2.2.2
72
- signing_key:
69
+ rubygems_version: 3.1.4
70
+ signing_key:
73
71
  specification_version: 4
74
72
  summary: Given/When/Then steps for RSpec examples
75
73
  test_files:
76
74
  - spec/example_steps_spec.rb
77
75
  - spec/regression_spec.rb
78
- - spec/shared_steps_spec.rb
79
76
  - spec/spec_helper.rb
@@ -1,20 +0,0 @@
1
- module RSpec
2
- module ExampleSteps
3
- module SharedSteps
4
-
5
- def shared_steps(name, &block)
6
- ensure_shared_example_steps_name_not_taken(name)
7
- RSpec.world.shared_example_steps[name] = block
8
- end
9
-
10
- private
11
-
12
- def ensure_shared_example_steps_name_not_taken(name)
13
- if RSpec.world.shared_example_steps.has_key?(name)
14
- raise ArgumentError.new("Shared example steps '#{name}' already exists")
15
- end
16
- end
17
-
18
- end
19
- end
20
- end
@@ -1,78 +0,0 @@
1
- require 'spec_helper'
2
-
3
- shared_steps "push steps" do
4
- Given "empty pipe" do
5
- pipe.clear
6
- end
7
-
8
- When "push data" do
9
- pipe.push "hello"
10
- end
11
-
12
- Then "pipe should have data" do
13
- expect(pipe.items).to eq(["hello"])
14
- end
15
- end
16
-
17
- shared_steps "push with arguments steps" do |value|
18
- When "push data" do
19
- pipe.push value
20
- end
21
- end
22
-
23
- shared_steps "pull steps" do
24
- When "pull data" do
25
- pipe.pull
26
- end
27
-
28
- Then "pipe should be empty" do
29
- expect(pipe.items).to eq([])
30
- end
31
- end
32
-
33
- describe "shared steps" do
34
-
35
- let(:pipe) do
36
- Class.new do
37
- def initialize
38
- @values = []
39
- end
40
-
41
- def items
42
- @values
43
- end
44
-
45
- def clear
46
- @values = []
47
- end
48
-
49
- def push(value)
50
- @values << value
51
- end
52
-
53
- def pull
54
- @values.shift
55
- end
56
-
57
- end.new
58
- end
59
-
60
- Steps "push and pull steps" do
61
- include_steps "push steps"
62
- include_steps "pull steps"
63
- end
64
-
65
- Steps "push, count and pull" do
66
- include_steps "push steps"
67
- Then "pipe should have 1 item" do
68
- expect(pipe.items.size).to eq(1)
69
- end
70
- include_steps "pull steps"
71
- end
72
-
73
- Steps "push with arguments and pull" do
74
- include_steps "push with arguments steps", "hi"
75
- expect(pipe.items).to eq(["hi"])
76
- include_steps "pull steps"
77
- end
78
- end