fixture_replacement 3.0.1
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/.gitignore +2 -0
- data/CHANGELOG.rdoc +720 -0
- data/GPL_LICENSE +674 -0
- data/MIT_LICENSE +22 -0
- data/README.rdoc +154 -0
- data/Rakefile +8 -0
- data/TODO.rdoc +22 -0
- data/VERSION +1 -0
- data/contributions.rdoc +48 -0
- data/etc/bug_reports/2007_09_28_linoj.txt +51 -0
- data/etc/google_analytics +6 -0
- data/etc/patches/2007_09_14_default_model_name_with_arguments.diff +26 -0
- data/etc/patches/2007_10_14_active_record_specs.diff +396 -0
- data/etc/patches/2007_10_14_protected_attributes.diff +26 -0
- data/etc/patches/2007_10_14_send_patch.diff +79 -0
- data/etc/patches/2007_10_14_spelling_error_in_comments.diff +13 -0
- data/etc/patches/2007_10_17_protected_attributes_second_go.diff +212 -0
- data/etc/patches/2007_10_18_README.diff +137 -0
- data/etc/patches/2007_10_19_readme_tweak.diff +12 -0
- data/etc/patches/2007_10_19_silence_migration.diff +12 -0
- data/etc/patches/2007_10_25_changed_classify_to_camelize.diff +38 -0
- data/etc/patches/2007_11_20_fixture_replacement_generator_should_not_reload_environment_or_boot.patch +13 -0
- data/etc/patches/2007_11_20_string_random_refactor_and_extension.patch +104 -0
- data/etc/patches/2007_11_20_string_random_refactor_and_extension_v2.patch +108 -0
- data/fixture_replacement.gemspec +126 -0
- data/lib/fixture_replacement.rb +16 -0
- data/lib/fixture_replacement/attribute_builder.rb +129 -0
- data/lib/fixture_replacement/class_methods.rb +45 -0
- data/lib/fixture_replacement/method_generator.rb +38 -0
- data/lib/fixture_replacement/version.rb +13 -0
- data/lib/fr.rb +1 -0
- data/philosophy_and_bugs.rdoc +128 -0
- data/rake_tasks/code_quality.rb +37 -0
- data/rake_tasks/docs.rb +59 -0
- data/rake_tasks/gem.rb +27 -0
- data/rake_tasks/specs.rb +7 -0
- data/rake_tasks/tests.rb +7 -0
- data/rake_tasks/website.rb +11 -0
- data/spec/fixture_replacement/attribute_builder_spec.rb +162 -0
- data/spec/fixture_replacement/fixture_replacement_spec.rb +96 -0
- data/spec/fixture_replacement/fixtures/classes.rb +78 -0
- data/spec/fixture_replacement/fr_spec.rb +7 -0
- data/spec/fixture_replacement/integration/attr_protected_attributes_spec.rb +71 -0
- data/spec/fixture_replacement/integration/attributes_for_with_invalid_keys_spec.rb +14 -0
- data/spec/fixture_replacement/integration/attributes_from_spec_without_block.rb +52 -0
- data/spec/fixture_replacement/integration/create_method_spec.rb +61 -0
- data/spec/fixture_replacement/integration/cyclic_dependency_spec.rb +32 -0
- data/spec/fixture_replacement/integration/default_warnings_spec.rb +29 -0
- data/spec/fixture_replacement/integration/extend_spec.rb +37 -0
- data/spec/fixture_replacement/integration/has_and_belongs_to_many_spec.rb +64 -0
- data/spec/fixture_replacement/integration/new_method_spec.rb +96 -0
- data/spec/fixture_replacement/integration/private_methods_spec.rb +43 -0
- data/spec/fixture_replacement/integration/public_methods_spec.rb +21 -0
- data/spec/fixture_replacement/integration/valid_attributes_spec.rb +41 -0
- data/spec/fixture_replacement/integration/validation_spec.rb +54 -0
- data/spec/fixture_replacement/regressions/2008_01_21_random_string_with_sti_spec.rb +71 -0
- data/spec/fixture_replacement/version_spec.rb +7 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/spec_helpers.rb +117 -0
- data/test/test_helper.rb +21 -0
- data/test/unit/user_test.rb +57 -0
- metadata +143 -0
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/spec_helpers"
|
2
|
+
include SpecHelperFunctions
|
3
|
+
setup_database_connection
|
4
|
+
|
5
|
+
require File.dirname(__FILE__) + "/../lib/fixture_replacement"
|
6
|
+
require File.dirname(__FILE__) + "/fixture_replacement/fixtures/classes"
|
7
|
+
|
8
|
+
Spec::Runner.configure do |config|
|
9
|
+
config.prepend_before(:each) do
|
10
|
+
FixtureReplacement::AttributeBuilder.clear_out_instances!
|
11
|
+
end
|
12
|
+
|
13
|
+
config.prepend_after(:each) do
|
14
|
+
FixtureReplacement::AttributeBuilder.clear_out_instances!
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
module SpecHelperFunctions
|
2
|
+
def setup_database_connection
|
3
|
+
require 'rubygems'
|
4
|
+
require 'sqlite3'
|
5
|
+
require 'active_record'
|
6
|
+
|
7
|
+
ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => ':memory:'
|
8
|
+
ActiveRecord::Migration.verbose = false
|
9
|
+
|
10
|
+
ActiveRecord::Schema.define do
|
11
|
+
create_table :users, :force => true do |t|
|
12
|
+
t.column :key, :string
|
13
|
+
t.column :other_key, :string
|
14
|
+
t.column :gender_id, :integer
|
15
|
+
t.column :username, :string
|
16
|
+
end
|
17
|
+
|
18
|
+
create_table :players, :force => true do |t|
|
19
|
+
t.column :username, :string
|
20
|
+
t.column :key, :string
|
21
|
+
end
|
22
|
+
|
23
|
+
create_table :genders, :force => true do |t|
|
24
|
+
t.column :sex, :string
|
25
|
+
end
|
26
|
+
|
27
|
+
create_table :aliens, :force => true do |t|
|
28
|
+
t.column :gender_id, :string
|
29
|
+
end
|
30
|
+
|
31
|
+
create_table :admins, :force => true do |t|
|
32
|
+
t.column :admin_status, :boolean
|
33
|
+
t.column :name, :string
|
34
|
+
t.column :username, :string
|
35
|
+
t.column :key, :string
|
36
|
+
t.column :other_key, :string
|
37
|
+
end
|
38
|
+
|
39
|
+
create_table :items, :force => true do |t|
|
40
|
+
t.column :category, :integer
|
41
|
+
t.column :type, :string
|
42
|
+
t.column :name, :string
|
43
|
+
end
|
44
|
+
|
45
|
+
create_table :categories, :force => true do |t|
|
46
|
+
t.column :name, :string
|
47
|
+
end
|
48
|
+
|
49
|
+
create_table :subscribers, :force => true do |t|
|
50
|
+
t.column :first_name, :string
|
51
|
+
end
|
52
|
+
|
53
|
+
create_table :subscriptions, :force => true do |t|
|
54
|
+
t.column :name, :string
|
55
|
+
end
|
56
|
+
|
57
|
+
create_table :subscribers_subscriptions, :force => true, :id => false do |t|
|
58
|
+
t.column :subscriber_id, :integer
|
59
|
+
t.column :subscription_id, :integer
|
60
|
+
end
|
61
|
+
|
62
|
+
create_table :events do |t|
|
63
|
+
t.column :created_at, :datetime
|
64
|
+
t.column :updated_at, :datetime
|
65
|
+
end
|
66
|
+
|
67
|
+
create_table :schedules do |t|
|
68
|
+
t.integer :event_id
|
69
|
+
end
|
70
|
+
|
71
|
+
create_table :posts do |t|
|
72
|
+
t.timestamps
|
73
|
+
end
|
74
|
+
|
75
|
+
create_table :comments do |t|
|
76
|
+
t.integer :post_id
|
77
|
+
t.timestamps
|
78
|
+
end
|
79
|
+
|
80
|
+
create_table :no_validations do |t|
|
81
|
+
t.timestamps
|
82
|
+
end
|
83
|
+
|
84
|
+
create_table :validate_names do |t|
|
85
|
+
t.string :name
|
86
|
+
end
|
87
|
+
|
88
|
+
create_table :validate_name_twos do |t|
|
89
|
+
t.string :name
|
90
|
+
end
|
91
|
+
|
92
|
+
create_table :address_with_valid_cities do |t|
|
93
|
+
t.string :city
|
94
|
+
end
|
95
|
+
|
96
|
+
create_table :address_with_valid_city_and_states do |t|
|
97
|
+
t.string :city
|
98
|
+
t.string :state
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
def mock_fr_module(&block)
|
103
|
+
mod = Module.new
|
104
|
+
mod.extend(FixtureReplacement::ClassMethods)
|
105
|
+
mod.instance_eval(&block)
|
106
|
+
mod
|
107
|
+
end
|
108
|
+
|
109
|
+
def use_module(&block)
|
110
|
+
mod = mock_fr_module(&block)
|
111
|
+
|
112
|
+
obj = Object.new
|
113
|
+
obj.extend mod
|
114
|
+
obj
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
|
2
|
+
require 'rubygems'
|
3
|
+
require 'sqlite3'
|
4
|
+
require 'active_record'
|
5
|
+
require 'active_support'
|
6
|
+
|
7
|
+
require 'test/unit'
|
8
|
+
|
9
|
+
RAILS_ROOT = "."
|
10
|
+
|
11
|
+
require File.dirname(__FILE__) + "/../spec/spec_helpers"
|
12
|
+
include SpecHelperFunctions
|
13
|
+
|
14
|
+
setup_database_connection
|
15
|
+
|
16
|
+
require File.dirname(__FILE__) + "/../lib/fixture_replacement"
|
17
|
+
require File.dirname(__FILE__) + "/../spec/fixture_replacement/fixtures/classes"
|
18
|
+
|
19
|
+
|
20
|
+
class Test::Unit::TestCase
|
21
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
module ::FixtureReplacement
|
4
|
+
|
5
|
+
attributes_for :gender do |g|
|
6
|
+
g.sex = "male"
|
7
|
+
end
|
8
|
+
|
9
|
+
attributes_for :user do |u|
|
10
|
+
u.username = scott
|
11
|
+
u.key = "something"
|
12
|
+
u.gender = new_gender
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
def scott
|
17
|
+
"Scott Taylor"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
class UserTest < Test::Unit::TestCase
|
23
|
+
|
24
|
+
def setup
|
25
|
+
extend FixtureReplacement
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_true_should_be_true
|
29
|
+
assert_equal true, true
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_be_able_to_create_with_create_user
|
33
|
+
assert_equal create_user.class, User
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_user_has_default_gender_with_create_user
|
37
|
+
assert create_user.gender.kind_of?(Gender)
|
38
|
+
assert_equal create_user.gender.sex, "male"
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_user_has_default_gender_with_new_user
|
42
|
+
assert new_user.gender.kind_of?(Gender)
|
43
|
+
assert_equal new_user.gender.sex, "male"
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_create_user_should_have_user_key_something
|
47
|
+
assert_equal create_user.key, "something"
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_new_user_should_have_user_key_something
|
51
|
+
assert_equal new_user.key, "something"
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_testcase_should_not_raise_an_error_when_sending_new_user
|
55
|
+
assert self.send(:new_user)
|
56
|
+
end
|
57
|
+
end
|
metadata
ADDED
@@ -0,0 +1,143 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fixture_replacement
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Scott Taylor
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-11-21 00:00:00 -05:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: |
|
17
|
+
FixtureReplacement is a Rails plugin that provides a simple way to
|
18
|
+
quickly populate your test database with model objects without having to manage multiple,
|
19
|
+
brittle fixture files. You can easily set up complex object graphs (with models which
|
20
|
+
reference other models) and add new objects on the fly.
|
21
|
+
|
22
|
+
email: scott@railsnewbie.com
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions: []
|
26
|
+
|
27
|
+
extra_rdoc_files:
|
28
|
+
- README.rdoc
|
29
|
+
files:
|
30
|
+
- .gitignore
|
31
|
+
- CHANGELOG.rdoc
|
32
|
+
- GPL_LICENSE
|
33
|
+
- MIT_LICENSE
|
34
|
+
- README.rdoc
|
35
|
+
- Rakefile
|
36
|
+
- TODO.rdoc
|
37
|
+
- VERSION
|
38
|
+
- contributions.rdoc
|
39
|
+
- etc/bug_reports/2007_09_28_linoj.txt
|
40
|
+
- etc/google_analytics
|
41
|
+
- etc/patches/2007_09_14_default_model_name_with_arguments.diff
|
42
|
+
- etc/patches/2007_10_14_active_record_specs.diff
|
43
|
+
- etc/patches/2007_10_14_protected_attributes.diff
|
44
|
+
- etc/patches/2007_10_14_send_patch.diff
|
45
|
+
- etc/patches/2007_10_14_spelling_error_in_comments.diff
|
46
|
+
- etc/patches/2007_10_17_protected_attributes_second_go.diff
|
47
|
+
- etc/patches/2007_10_18_README.diff
|
48
|
+
- etc/patches/2007_10_19_readme_tweak.diff
|
49
|
+
- etc/patches/2007_10_19_silence_migration.diff
|
50
|
+
- etc/patches/2007_10_25_changed_classify_to_camelize.diff
|
51
|
+
- etc/patches/2007_11_20_fixture_replacement_generator_should_not_reload_environment_or_boot.patch
|
52
|
+
- etc/patches/2007_11_20_string_random_refactor_and_extension.patch
|
53
|
+
- etc/patches/2007_11_20_string_random_refactor_and_extension_v2.patch
|
54
|
+
- fixture_replacement.gemspec
|
55
|
+
- lib/fixture_replacement.rb
|
56
|
+
- lib/fixture_replacement/attribute_builder.rb
|
57
|
+
- lib/fixture_replacement/class_methods.rb
|
58
|
+
- lib/fixture_replacement/method_generator.rb
|
59
|
+
- lib/fixture_replacement/version.rb
|
60
|
+
- lib/fr.rb
|
61
|
+
- philosophy_and_bugs.rdoc
|
62
|
+
- rake_tasks/code_quality.rb
|
63
|
+
- rake_tasks/docs.rb
|
64
|
+
- rake_tasks/gem.rb
|
65
|
+
- rake_tasks/specs.rb
|
66
|
+
- rake_tasks/tests.rb
|
67
|
+
- rake_tasks/website.rb
|
68
|
+
- spec/fixture_replacement/attribute_builder_spec.rb
|
69
|
+
- spec/fixture_replacement/fixture_replacement_spec.rb
|
70
|
+
- spec/fixture_replacement/fixtures/classes.rb
|
71
|
+
- spec/fixture_replacement/fr_spec.rb
|
72
|
+
- spec/fixture_replacement/integration/attr_protected_attributes_spec.rb
|
73
|
+
- spec/fixture_replacement/integration/attributes_for_with_invalid_keys_spec.rb
|
74
|
+
- spec/fixture_replacement/integration/attributes_from_spec_without_block.rb
|
75
|
+
- spec/fixture_replacement/integration/create_method_spec.rb
|
76
|
+
- spec/fixture_replacement/integration/cyclic_dependency_spec.rb
|
77
|
+
- spec/fixture_replacement/integration/default_warnings_spec.rb
|
78
|
+
- spec/fixture_replacement/integration/extend_spec.rb
|
79
|
+
- spec/fixture_replacement/integration/has_and_belongs_to_many_spec.rb
|
80
|
+
- spec/fixture_replacement/integration/new_method_spec.rb
|
81
|
+
- spec/fixture_replacement/integration/private_methods_spec.rb
|
82
|
+
- spec/fixture_replacement/integration/public_methods_spec.rb
|
83
|
+
- spec/fixture_replacement/integration/valid_attributes_spec.rb
|
84
|
+
- spec/fixture_replacement/integration/validation_spec.rb
|
85
|
+
- spec/fixture_replacement/regressions/2008_01_21_random_string_with_sti_spec.rb
|
86
|
+
- spec/fixture_replacement/version_spec.rb
|
87
|
+
- spec/spec.opts
|
88
|
+
- spec/spec_helper.rb
|
89
|
+
- spec/spec_helpers.rb
|
90
|
+
- test/test_helper.rb
|
91
|
+
- test/unit/user_test.rb
|
92
|
+
has_rdoc: true
|
93
|
+
homepage: http://replacefixtures.rubyforge.org
|
94
|
+
licenses: []
|
95
|
+
|
96
|
+
post_install_message:
|
97
|
+
rdoc_options:
|
98
|
+
- --charset=UTF-8
|
99
|
+
require_paths:
|
100
|
+
- lib
|
101
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: "0"
|
106
|
+
version:
|
107
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: "0"
|
112
|
+
version:
|
113
|
+
requirements: []
|
114
|
+
|
115
|
+
rubyforge_project:
|
116
|
+
rubygems_version: 1.3.5
|
117
|
+
signing_key:
|
118
|
+
specification_version: 3
|
119
|
+
summary: The original fixture replacement solution for rails
|
120
|
+
test_files:
|
121
|
+
- spec/fixture_replacement/attribute_builder_spec.rb
|
122
|
+
- spec/fixture_replacement/fixture_replacement_spec.rb
|
123
|
+
- spec/fixture_replacement/fixtures/classes.rb
|
124
|
+
- spec/fixture_replacement/fr_spec.rb
|
125
|
+
- spec/fixture_replacement/integration/attr_protected_attributes_spec.rb
|
126
|
+
- spec/fixture_replacement/integration/attributes_for_with_invalid_keys_spec.rb
|
127
|
+
- spec/fixture_replacement/integration/attributes_from_spec_without_block.rb
|
128
|
+
- spec/fixture_replacement/integration/create_method_spec.rb
|
129
|
+
- spec/fixture_replacement/integration/cyclic_dependency_spec.rb
|
130
|
+
- spec/fixture_replacement/integration/default_warnings_spec.rb
|
131
|
+
- spec/fixture_replacement/integration/extend_spec.rb
|
132
|
+
- spec/fixture_replacement/integration/has_and_belongs_to_many_spec.rb
|
133
|
+
- spec/fixture_replacement/integration/new_method_spec.rb
|
134
|
+
- spec/fixture_replacement/integration/private_methods_spec.rb
|
135
|
+
- spec/fixture_replacement/integration/public_methods_spec.rb
|
136
|
+
- spec/fixture_replacement/integration/valid_attributes_spec.rb
|
137
|
+
- spec/fixture_replacement/integration/validation_spec.rb
|
138
|
+
- spec/fixture_replacement/regressions/2008_01_21_random_string_with_sti_spec.rb
|
139
|
+
- spec/fixture_replacement/version_spec.rb
|
140
|
+
- spec/spec_helper.rb
|
141
|
+
- spec/spec_helpers.rb
|
142
|
+
- test/test_helper.rb
|
143
|
+
- test/unit/user_test.rb
|