pickle 0.1.18 → 0.1.19

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,14 +1,13 @@
1
- == 0.1.16 - 13 Oct 2009
1
+ == 0.1.19
2
2
 
3
3
  * 1 minor enhancement
4
- * release gem only on gemcutter
5
-
4
+ * Add support for Cucumber tables [Tobi Knaup]
5
+
6
6
 
7
- == 0.1.16 - 13 Oct 2009
7
+ == 0.1.16, 0.1.17, 0.1.18 - 13 Oct 2009
8
8
 
9
9
  * 1 minor enhancement
10
- * release gem on gemcutter and rubyforge
11
-
10
+ * release gem on gemcutter and code on github
12
11
 
13
12
  == 0.1.15 - 28 Aug 2009
14
13
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.18
1
+ 0.1.19
@@ -10,6 +10,12 @@ Given(/^(\d+) #{capture_plural_factory} exist(?: with #{capture_fields})?$/) do
10
10
  count.to_i.times { create_model(plural_factory.singularize, fields) }
11
11
  end
12
12
 
13
+ # create models from a table
14
+ Given /^the following #{capture_plural_factory} exist$/ do |plural_factory, table|
15
+ name = plural_factory.singularize
16
+ table.hashes.each { |hash| create_model(name, hash) }
17
+ end
18
+
13
19
  # find a model
14
20
  Then(/^#{capture_model} should exist(?: with #{capture_fields})?$/) do |name, fields|
15
21
  find_model(name, fields).should_not be_nil
@@ -11,10 +11,13 @@ Webrat.configure do |config|
11
11
  config.mode = :rails
12
12
  end
13
13
 
14
+
14
15
  # Comment out the next line if you're not using RSpec's matchers (should / should_not) in your steps.
15
16
  require 'cucumber/rails/rspec'
16
17
  require 'webrat/core/matchers'
17
18
 
19
+ Cucumber::Rails::World.use_transactional_fixtures = true
20
+
18
21
  # Pickle
19
22
  require 'pickle/world'
20
23
  require 'pickle/path/world'
@@ -23,7 +23,8 @@ module Pickle
23
23
  def create_model(a_model_name, fields = nil)
24
24
  factory, label = *parse_model(a_model_name)
25
25
  raise ArgumentError, "Can't create with an ordinal (e.g. 1st user)" if label.is_a?(Integer)
26
- record = pickle_config.factories[factory].create(parse_fields(fields))
26
+ fields = fields.instance_of?(Hash) ? fields.dup : parse_fields(fields)
27
+ record = pickle_config.factories[factory].create(fields)
27
28
  store_model(factory, label, record)
28
29
  end
29
30
 
data/pickle.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{pickle}
8
- s.version = "0.1.18"
8
+ s.version = "0.1.19"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ian White"]
12
- s.date = %q{2009-10-15}
12
+ s.date = %q{2009-10-20}
13
13
  s.description = %q{Easy model creation and reference in your cucumber features}
14
14
  s.email = %q{ian.w.white@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -10,6 +10,12 @@ Given(/^(\d+) #{capture_plural_factory} exist(?: with #{capture_fields})?$/) do
10
10
  count.to_i.times { create_model(plural_factory.singularize, fields) }
11
11
  end
12
12
 
13
+ # create models from a table
14
+ Given /^the following #{capture_plural_factory} exist$/ do |plural_factory, table|
15
+ name = plural_factory.singularize
16
+ table.hashes.each { |hash| create_model(name, hash) }
17
+ end
18
+
13
19
  # find a model
14
20
  Then(/^#{capture_model} should exist(?: with #{capture_fields})?$/) do |name, fields|
15
21
  find_model(name, fields).should_not be_nil
@@ -147,7 +147,25 @@ describe Pickle::Session do
147
147
  model?('the user: "shirl"').should == false
148
148
  end
149
149
  end
150
- end
150
+ end
151
+
152
+ describe "with hash" do
153
+ def do_create_model
154
+ create_model('a user', {'foo' => 'bar'})
155
+ end
156
+
157
+ it "should call Factory.create('user', {'foo' => 'bar'})" do
158
+ Factory.should_receive(:create).with('user', {'foo' => 'bar'}).and_return(@user)
159
+ do_create_model
160
+ end
161
+
162
+ describe "after create," do
163
+ before { do_create_model }
164
+
165
+ it_should_behave_like "after storing a single user"
166
+ end
167
+ end
168
+
151
169
  end
152
170
 
153
171
  describe '#find_model' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pickle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.18
4
+ version: 0.1.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian White
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-15 00:00:00 +01:00
12
+ date: 2009-10-20 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies: []
15
15