cucumber-persona 0.2.1 → 0.3.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: 07da4369efbe48f49d405f0cd9b3e1da5512ddb79b9174e01d1bd24ac2f2e482
4
- data.tar.gz: 70acbc4c6cfc9bcb524fe1241ff82a1e6ea5570ce8412cf12de257ae57ab1044
3
+ metadata.gz: 8223c975c32da3cc19873502f77d4ea8559f5dee398f77511a968f0572129b44
4
+ data.tar.gz: 4f7fa3140587190eda6e037f92399dea61a6cf58bd1754d762a48225d4620940
5
5
  SHA512:
6
- metadata.gz: '08cb2da14d2423e75eea3e2bdefa44318be06cb7ab0abf5cdc7e9b8df18f08978e989833839e84a3bc288cefd33e54e82fefc612a19da4cc1efdd15af1de5f91'
7
- data.tar.gz: 7cbd48fd758e9c5ef6df1fb56f7a9f5771fd224a8a9a34e3bb0d5f7dca73e108fcd30274af2d4563f1a89bd36900a3f91dfc6bfca08bfe7b82e479074ad9df82
6
+ metadata.gz: e9667eb8de6c1e3fb680199f6d20e05b4aca03b8c8f31b1117561c5025a723fb870daa5a2adc0431ce5509d8e0b37466864e3bdbfcc0be1c51e72eafa46693de
7
+ data.tar.gz: da8dfa02f71c4342730df2625b7e839ba646b012c823fc024e4b8a45bf38f28c1ebd01985cd8a0819dd0fc2996068b0b465bbacf8bfa4d881d54f47648858220
@@ -0,0 +1 @@
1
+ 2.6.3
data/README.md CHANGED
@@ -1,12 +1,27 @@
1
1
  # Cucumber::Persona
2
2
 
3
3
  [![Code Climate](https://codeclimate.com/github/starfighterheavy/cucumber-persona/badges/gpa.svg)](https://codeclimate.com/github/starfighterheavy/cucumber-persona)
4
- [![Dependency Status](https://gemnasium.com/starfighterheavy/cucumber-persona.svg)](https://gemnasium.com/starfighterheavy/cucumber-persona)
5
4
  [![Gem Version](https://badge.fury.io/rb/cucumber-persona.svg)](https://badge.fury.io/rb/cucumber-persona)
6
5
 
7
6
  One of the hardest things to do in Cucumber is define the state of the world, from a data perspective, that a test should be run in. Gems like [cucumber_factory](https://github.com/makandra/cucumber_factory) try to make this easier, but can introduce more complexity rather than less, as even simple tests can require extensive background data to be run well. Cucumber::Persona attempts to solve this by completely removing data setup from your cucumber feature scripts and allowing total flexibility in how you create your data.
8
7
 
9
- To use Cucumber::Persona, take the persona's you have already created for various user types (you've done that, right? ;), and create a Cucumber::Persona for each. Then, in your feature test setup, instantiate the Cucumber::Persona you need by adding a `Given` statement in the form:
8
+ To create your first Persona, create add a `personas` directory to your `features` directory (or wherever you'd like to place it) and create a `.rb` new file, typically named after a Persona, e.g. `han_solo.rb`, or a category of personas, e.g. `customers.rb`, similar to how you would define a model with FactoryGirl. That file will look something like this:
9
+
10
+ ```
11
+ Cucumber::Persona.define "Han Solo" do
12
+ # Create the user
13
+ user = User.create!(first_name: "Han", last_name: "Solo", email: "han@solo.com", password: "Password1")
14
+ # Create any additional data needed to flesh out the user's state of the world at the time of the test.
15
+ # Example below is for a todo list application where our user Han has 3 tasks and completed 1.
16
+ user.tasks.create!(title: "First task", completed: Time.now)
17
+ user.tasks.create!(title: "Second task")
18
+ user.tasks.create!(title: "Third task")
19
+ end
20
+ ```
21
+
22
+ In your `features/support/env.rb` file, add `require 'cucumber/persona'`.
23
+
24
+ Then, in your feature test setup, instantiate the Cucumber::Persona you need by adding a `Given` statement in the form:
10
25
 
11
26
  ```
12
27
  Given I am "Han Solo"
@@ -22,40 +37,6 @@ Given "Han Solo" exists
22
37
 
23
38
  And wala! All the data you need is ready to go.
24
39
 
25
- ## Installation
26
-
27
- Add this line to your application's Gemfile:
28
-
29
- ```ruby
30
- gem 'cucumber-persona'
31
- ```
32
-
33
- And then execute:
34
-
35
- $ bundle
36
-
37
- Or install it yourself as:
38
-
39
- $ gem install cucumber-persona
40
-
41
- ## Usage
42
-
43
- In your `features/support/env.rb` file, add `require 'cucumber/persona'`.
44
-
45
- To create your first Persona, create add a `personas` directory to your `features` directory (or wherever you'd like to place it) and create a `.rb` new file, typically named after a Persona, e.g. `han_solo.rb`, or a category of personas, e.g. `customers.rb`, similar to how you would define a model with FactoryGirl. That file will look something like this:
46
-
47
- ```
48
- Cucumber::Persona.define "Han Solo" do
49
- # Create the user
50
- user = User.create!(first_name: "Han", last_name: "Solo", email: "han@solo.com", password: "Password1")
51
- # Create any additional data needed to flesh out the user's state of the world at the time of the test.
52
- # Example below is for a todo list application where our user Han has 3 tasks and completed 1.
53
- user.tasks.create!(title: "First task", completed: Time.now)
54
- user.tasks.create!(title: "Second task")
55
- user.tasks.create!(title: "Third task")
56
- end
57
- ```
58
-
59
40
  To use your persona in your tests, you can create your own persona related step definition, or use the default ones provided by including the requiring in your `env.rb` file:
60
41
 
61
42
  ```
@@ -79,6 +60,22 @@ require_relative '../features/personas'
79
60
  Cucumber::Persona.create_all
80
61
  ```
81
62
 
63
+ ## Installation
64
+
65
+ Add this line to your application's Gemfile:
66
+
67
+ ```ruby
68
+ gem 'cucumber-persona'
69
+ ```
70
+
71
+ And then execute:
72
+
73
+ $ bundle
74
+
75
+ Or install it yourself as:
76
+
77
+ $ gem install cucumber-persona
78
+
82
79
  ## Examples
83
80
 
84
81
  ### Edward
@@ -87,9 +84,9 @@ This project was originally extracted from [Edward](https://github.com/starfight
87
84
 
88
85
  See: https://github.com/starfighterheavy/edward/tree/master/features/personas
89
86
 
90
- ### BridgeCare Finance
87
+ ### BridgeCare
91
88
 
92
- [BridgeCare Finance](https://www.bridgecarefinance.com) uses Cucumber::Persona to create tests centered around common user personas that have their own quirks and history, rather than nameless data objects.
89
+ [BridgeCare](https://www.getbridgecare.com) uses Cucumber::Persona to create tests centered around common user personas that have their own quirks and history, rather than nameless data objects.
93
90
 
94
91
  #### Are you using Cucumber::Persona?
95
92
 
@@ -24,8 +24,7 @@ Gem::Specification.new do |spec|
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ["lib"]
26
26
 
27
- spec.add_development_dependency "bundler", "~> 1.14"
28
- spec.add_development_dependency "cucumber"
29
- spec.add_development_dependency "pry"
30
- spec.add_development_dependency "rake", "~> 10.0"
27
+ spec.add_development_dependency "bundler", "~> 2.0"
28
+ spec.add_development_dependency "cucumber", "~> 3.1"
29
+ spec.add_development_dependency "rake", "~> 12.3"
31
30
  end
@@ -1,5 +1,5 @@
1
1
  module Cucumber
2
2
  module Persona
3
- VERSION = "0.2.1"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-persona
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Kirst
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-05 00:00:00.000000000 Z
11
+ date: 2019-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,56 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.14'
19
+ version: '2.0'
20
20
  type: :development
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: '1.14'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cucumber
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: pry
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
31
+ - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '0'
33
+ version: '3.1'
48
34
  type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - ">="
38
+ - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: '0'
40
+ version: '3.1'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rake
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '10.0'
47
+ version: '12.3'
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: '10.0'
54
+ version: '12.3'
69
55
  description: Cucumber Persona makes BDD easier by allowing you to define Personas
70
56
  that match real life user data.
71
57
  email:
@@ -75,6 +61,7 @@ extensions: []
75
61
  extra_rdoc_files: []
76
62
  files:
77
63
  - ".gitignore"
64
+ - ".ruby-version"
78
65
  - CODE_OF_CONDUCT.md
79
66
  - Gemfile
80
67
  - LICENSE.txt
@@ -105,8 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
92
  - !ruby/object:Gem::Version
106
93
  version: '0'
107
94
  requirements: []
108
- rubyforge_project:
109
- rubygems_version: 2.7.6
95
+ rubygems_version: 3.0.3
110
96
  signing_key:
111
97
  specification_version: 4
112
98
  summary: Easily create data models for use in testing and development.