bts-cucumber 0.1.13.1 → 0.1.13.2
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.
- data/lib/cucumber/active_record/world.rb +53 -0
- metadata +2 -1
@@ -0,0 +1,53 @@
|
|
1
|
+
# Based on code from Brian Takita, Yurii Rashkovskii and Ben Mabey
|
2
|
+
# Adapted by Aslak Hellesøy
|
3
|
+
# Modified by Brian Schroeder to only use ActiveRecord (without ActionController or ActionMailer)
|
4
|
+
|
5
|
+
if defined?(ActiveRecord::Base)
|
6
|
+
throw "ActiveRecord::Base is not defined"
|
7
|
+
end
|
8
|
+
require 'test/unit/testresult'
|
9
|
+
|
10
|
+
# So that Test::Unit doesn't launch at the end - makes it think it has already been run.
|
11
|
+
Test::Unit.run = true if Test::Unit.respond_to?(:run=)
|
12
|
+
|
13
|
+
$main = self
|
14
|
+
|
15
|
+
module Cucumber #:nodoc:
|
16
|
+
module ActiveRecord
|
17
|
+
# All scenarios will execute in the context of a new instance of World.
|
18
|
+
class World
|
19
|
+
self.use_transactional_fixtures = false
|
20
|
+
|
21
|
+
def initialize #:nodoc:
|
22
|
+
@_result = Test::Unit::TestResult.new
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.use_transactional_fixtures
|
27
|
+
World.use_transactional_fixtures = true
|
28
|
+
|
29
|
+
$main.Before do
|
30
|
+
if ActiveRecord::Base.connection.respond_to?(:increment_open_transactions)
|
31
|
+
ActiveRecord::Base.connection.increment_open_transactions
|
32
|
+
else
|
33
|
+
ActiveRecord::Base.send :increment_open_transactions
|
34
|
+
end
|
35
|
+
ActiveRecord::Base.connection.begin_db_transaction
|
36
|
+
end
|
37
|
+
|
38
|
+
$main.After do
|
39
|
+
ActiveRecord::Base.connection.rollback_db_transaction
|
40
|
+
if ActiveRecord::Base.connection.respond_to?(:decrement_open_transactions)
|
41
|
+
ActiveRecord::Base.connection.decrement_open_transactions
|
42
|
+
else
|
43
|
+
ActiveRecord::Base.send :decrement_open_transactions
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
World do
|
52
|
+
Cucumber::ActiveRecord::World.new
|
53
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bts-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.13.
|
4
|
+
version: 0.1.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Aslak Helles\xC3\xB8y"
|
@@ -193,6 +193,7 @@ files:
|
|
193
193
|
- lib/cucumber.rb
|
194
194
|
- lib/cucumber/broadcaster.rb
|
195
195
|
- lib/cucumber/cli.rb
|
196
|
+
- lib/cucumber/active_record/world.rb
|
196
197
|
- lib/cucumber/core_ext/proc.rb
|
197
198
|
- lib/cucumber/core_ext/string.rb
|
198
199
|
- lib/cucumber/executor.rb
|