dima-exe-factory_girl 1.1.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/test/models.rb ADDED
@@ -0,0 +1,51 @@
1
+ ActiveRecord::Base.establish_connection(
2
+ :adapter => 'sqlite3',
3
+ :database => File.join(File.dirname(__FILE__), 'test.db')
4
+ )
5
+
6
+ class CreateSchema < ActiveRecord::Migration
7
+ def self.up
8
+ create_table :users, :force => true do |t|
9
+ t.string :first_name
10
+ t.string :last_name
11
+ t.string :email
12
+ t.boolean :admin, :default => false
13
+ end
14
+
15
+ create_table :posts, :force => true do |t|
16
+ t.string :name
17
+ t.integer :author_id
18
+ end
19
+
20
+ create_table :business, :force => true do |t|
21
+ t.string :name
22
+ t.integer :owner_id
23
+ end
24
+
25
+ create_table :stations, :force => true do |t|
26
+ t.integer :status
27
+ t.integer :rotations
28
+ t.string :broadcast
29
+ end
30
+ end
31
+ end
32
+
33
+ CreateSchema.suppress_messages { CreateSchema.migrate(:up) }
34
+
35
+ class User < ActiveRecord::Base
36
+ validates_presence_of :first_name, :last_name, :email
37
+ has_many :posts, :foreign_key => 'author_id'
38
+ end
39
+
40
+ class Business < ActiveRecord::Base
41
+ validates_presence_of :name, :owner_id
42
+ belongs_to :owner, :class_name => 'User'
43
+ end
44
+
45
+ class Post < ActiveRecord::Base
46
+ validates_presence_of :name, :author_id
47
+ belongs_to :author, :class_name => 'User'
48
+ end
49
+
50
+ class Station < ActiveRecord::Base
51
+ end
@@ -0,0 +1,76 @@
1
+ require(File.join(File.dirname(__FILE__), 'test_helper'))
2
+
3
+ class SequenceTest < Test::Unit::TestCase
4
+
5
+ context "a sequence" do
6
+
7
+ setup do
8
+ @sequence = Factory::Sequence.new {|n| "=#{n}" }
9
+ end
10
+
11
+ should "start with a value of 1" do
12
+ assert_equal "=1", @sequence.next
13
+ end
14
+
15
+ context "after being called" do
16
+
17
+ setup do
18
+ @sequence.next
19
+ end
20
+
21
+ should "use the next value" do
22
+ assert_equal "=2", @sequence.next
23
+ end
24
+
25
+ end
26
+
27
+ end
28
+
29
+ context "defining a sequence" do
30
+
31
+ setup do
32
+ @sequence = mock('sequence')
33
+ @name = :count
34
+ Factory::Sequence.stubs(:new).returns(@sequence)
35
+ end
36
+
37
+ should "create a new sequence" do
38
+ Factory::Sequence.expects(:new).with().returns(@sequence)
39
+ Factory.sequence(@name)
40
+ end
41
+
42
+ should "use the supplied block as the sequence generator" do
43
+ Factory::Sequence.stubs(:new).yields(1)
44
+ yielded = false
45
+ Factory.sequence(@name) {|n| yielded = true }
46
+ assert yielded
47
+ end
48
+
49
+ end
50
+
51
+ context "after defining a sequence" do
52
+
53
+ setup do
54
+ @sequence = mock('sequence')
55
+ @name = :test
56
+ @value = '1 2 5'
57
+
58
+ @sequence. stubs(:next).returns(@value)
59
+ Factory::Sequence.stubs(:new). returns(@sequence)
60
+
61
+ Factory.sequence(@name) {}
62
+ end
63
+
64
+ should "call next on the sequence when sent next" do
65
+ @sequence.expects(:next)
66
+
67
+ Factory.next(@name)
68
+ end
69
+
70
+ should "return the value from the sequence" do
71
+ assert_equal @value, Factory.next(@name)
72
+ end
73
+
74
+ end
75
+
76
+ end
@@ -0,0 +1,10 @@
1
+ $: << File.join(File.dirname(__FILE__), '..', 'lib')
2
+ $: << File.join(File.dirname(__FILE__))
3
+
4
+ require 'rubygems'
5
+ require 'test/unit'
6
+ require 'activerecord'
7
+ require 'factory_girl'
8
+ require 'shoulda'
9
+ require 'mocha'
10
+ require 'models'
metadata ADDED
@@ -0,0 +1,79 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dima-exe-factory_girl
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.5.0
5
+ platform: ruby
6
+ authors:
7
+ - Joe Ferris
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-12-11 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: factory_girl provides a framework and DSL for defining and using factories - less error-prone, more explicit, and all-around easier to work with than fixtures.
17
+ email: jferris@thoughtbot.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - README.textile
24
+ files:
25
+ - Changelog
26
+ - CONTRIBUTION_GUIDELINES.rdoc
27
+ - LICENSE
28
+ - Rakefile
29
+ - README.textile
30
+ - lib/factory_girl/aliases.rb
31
+ - lib/factory_girl/attribute.rb
32
+ - lib/factory_girl/attribute_proxy.rb
33
+ - lib/factory_girl/factory.rb
34
+ - lib/factory_girl/sequence.rb
35
+ - lib/factory_girl.rb
36
+ - test/aliases_test.rb
37
+ - test/attribute_proxy_test.rb
38
+ - test/attribute_test.rb
39
+ - test/factory_test.rb
40
+ - test/integration_test.rb
41
+ - test/models.rb
42
+ - test/sequence_test.rb
43
+ - test/test_helper.rb
44
+ has_rdoc: true
45
+ homepage:
46
+ post_install_message:
47
+ rdoc_options:
48
+ - --line-numbers
49
+ - --inline-source
50
+ - --main
51
+ - README.textile
52
+ require_paths:
53
+ - lib
54
+ required_ruby_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: "0"
59
+ version:
60
+ required_rubygems_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: "0"
65
+ version:
66
+ requirements: []
67
+
68
+ rubyforge_project:
69
+ rubygems_version: 1.2.0
70
+ signing_key:
71
+ specification_version: 2
72
+ summary: factory_girl provides a framework and DSL for defining and using model instance factories.
73
+ test_files:
74
+ - test/aliases_test.rb
75
+ - test/attribute_proxy_test.rb
76
+ - test/attribute_test.rb
77
+ - test/factory_test.rb
78
+ - test/integration_test.rb
79
+ - test/sequence_test.rb