test_seeds 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.4
@@ -83,7 +83,7 @@ module TestSeeds
83
83
 
84
84
  setup_seeds(nil)
85
85
  else
86
- Fixtures.reset_cache
86
+ fixtures_class_in_my_rails.reset_cache
87
87
  @@already_loaded_fixtures[self.class] = nil
88
88
  @loaded_fixtures = load_fixtures
89
89
  end
@@ -98,7 +98,7 @@ module TestSeeds
98
98
  return unless defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank?
99
99
 
100
100
  unless run_in_transaction?
101
- Fixtures.reset_cache
101
+ fixtures_class_in_my_rails.reset_cache
102
102
  end
103
103
 
104
104
  if run_in_transaction? && @created_save_point
@@ -113,7 +113,7 @@ module TestSeeds
113
113
  # Load fixture is called once for each test class which is a good place to inject db transactions
114
114
  # and to create the seeds.
115
115
  def load_fixtures
116
- if run_in_transaction? && ActiveRecord::Base.connection.open_transactions != 0
116
+ if ActiveRecord::Base.connection.open_transactions != 0
117
117
  ActiveRecord::Base.connection.decrement_open_transactions
118
118
  ActiveRecord::Base.connection.rollback_db_transaction
119
119
  end
@@ -169,4 +169,10 @@ module TestSeeds
169
169
  _run_seed_callbacks
170
170
  end
171
171
  end
172
+
173
+ private
174
+
175
+ def fixtures_class_in_my_rails
176
+ ActiveRecord.const_defined?(:Fixtures) ? ActiveRecord::Fixtures : Fixtures
177
+ end
172
178
  end
@@ -1,9 +1,8 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestTestSeeds < ActiveSupport::TestCase
4
- include TestSeeds
5
-
6
4
  fixtures :authors
5
+ include TestSeeds
7
6
 
8
7
  seeds do
9
8
  @default_1 = Author.create!(:name => 'default first')
@@ -67,13 +66,29 @@ class TestTestSeeds < ActiveSupport::TestCase
67
66
  assert_not_nil authors(:actual_fixture)
68
67
  assert_equal "Bob Dole", authors(:actual_fixture).name
69
68
  end
69
+
70
+ end
71
+
72
+ class TestTestSeeds2 < ActiveSupport::TestCase
73
+ self.use_transactional_fixtures = false
74
+
75
+ fixtures :authors
76
+ include TestSeeds
77
+
78
+ def test_is_not_affected_by_previous_tests
79
+ assert_equal [authors(:actual_fixture)], Author.all.to_a
80
+ end
70
81
 
71
82
  end
72
83
 
73
84
  class TestTestSeedsWithoutSeedSet < ActiveSupport::TestCase
85
+
86
+ fixtures :authors
74
87
  include TestSeeds
75
88
 
76
89
  def test_does_not_blow_up_when_test_seeds_is_not_used
77
90
  assert true
78
91
  end
79
- end
92
+ end
93
+
94
+
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{test_seeds}
8
- s.version = "0.0.3"
8
+ s.version = "0.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Paul Kmiec}]
12
- s.date = %q{2011-08-18}
12
+ s.date = %q{2011-08-19}
13
13
  s.description = %q{Test Seeds piggy backs on the transaction fixtures functionality. Test Seeds load fixtures into the database in the same way but then start a db transaction for the duration of the test file. Any objects for the common scenarios are then created and inserted into the database. Test Seeds then execute each test case within a context of a db savepoint (or nested db transactions). This allows test seeds to be inserted into the database once and then re-used for each test case that needs it.}
14
14
  s.email = %q{pkmiec@gmail.com}
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_seeds
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 3
10
- version: 0.0.3
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Paul Kmiec
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-18 00:00:00 Z
18
+ date: 2011-08-19 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  requirement: &id001 !ruby/object:Gem::Requirement