instance-factory 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 38de1574164dd6508cfaad10e72c046dfb8e968b
4
- data.tar.gz: c69483f94484b76fa99dd0459210ae2541c4bdd3
3
+ metadata.gz: 5190080c4d583a326b020c1a35d5094c351301d4
4
+ data.tar.gz: bb6639728cc05f15e075f80d2ce1ab4d67d7df4b
5
5
  SHA512:
6
- metadata.gz: d39531e9ec418999fa03007d15d019291811b89470f54b7ae4fd24c0915d51799c8a82f84cfbf72d1b4a406219a8987087ed5e22f566d0bcce448e08a50379b3
7
- data.tar.gz: d9865df0abf30a32a8805c93f275dd576b78d03cdf3e5a596a40fe24609a91c633e25a56e477f4d38a8153276aefe25c1b050efbee225669f9a79989dde2b4ea
6
+ metadata.gz: 690d05a18adbdab3a4e3118bf9e46a54eeab3e0d36107986416c1e72a42625161ec6c86f603b984702126203076e982d86a4098ea5e14a6645f05d02231156be
7
+ data.tar.gz: a47cd969237d47472babad066abc3235f23e7bda735f786bcf2b0530113b9b96e7a3e4ac4ad226b02c62d2dbf40f18a87a27ba786f6509784c6906dd1fc745a2
data/Gemfile CHANGED
@@ -1,10 +1,13 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  group :development do
4
- gem "shoulda", ">= 0"
5
- gem "rdoc", "~> 3.12"
6
- gem "bundler", "~> 1.0"
7
- gem "jeweler", "~> 2.0.1"
8
- gem "simplecov", ">= 0"
4
+ gem "rails"
5
+ gem "sqlite3"
6
+ gem "shoulda"
7
+ gem "rdoc"
8
+ gem "bundler"
9
+ gem "jeweler"
10
+ gem "simplecov"
9
11
  gem "rspec-rails"
12
+ gem 'factory_girl_rails'
10
13
  end
data/Gemfile.lock CHANGED
@@ -1,45 +1,60 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- actionpack (4.1.1)
5
- actionview (= 4.1.1)
6
- activesupport (= 4.1.1)
4
+ actionmailer (4.1.5)
5
+ actionpack (= 4.1.5)
6
+ actionview (= 4.1.5)
7
+ mail (~> 2.5.4)
8
+ actionpack (4.1.5)
9
+ actionview (= 4.1.5)
10
+ activesupport (= 4.1.5)
7
11
  rack (~> 1.5.2)
8
12
  rack-test (~> 0.6.2)
9
- actionview (4.1.1)
10
- activesupport (= 4.1.1)
13
+ actionview (4.1.5)
14
+ activesupport (= 4.1.5)
11
15
  builder (~> 3.1)
12
16
  erubis (~> 2.7.0)
13
- activemodel (4.1.1)
14
- activesupport (= 4.1.1)
17
+ activemodel (4.1.5)
18
+ activesupport (= 4.1.5)
15
19
  builder (~> 3.1)
16
- activesupport (4.1.1)
20
+ activerecord (4.1.5)
21
+ activemodel (= 4.1.5)
22
+ activesupport (= 4.1.5)
23
+ arel (~> 5.0.0)
24
+ activesupport (4.1.5)
17
25
  i18n (~> 0.6, >= 0.6.9)
18
26
  json (~> 1.7, >= 1.7.7)
19
27
  minitest (~> 5.1)
20
28
  thread_safe (~> 0.1)
21
29
  tzinfo (~> 1.1)
22
30
  addressable (2.3.6)
31
+ arel (5.0.1.20140414130214)
23
32
  builder (3.2.2)
24
33
  descendants_tracker (0.0.4)
25
34
  thread_safe (~> 0.3, >= 0.3.1)
26
35
  diff-lcs (1.2.5)
27
- docile (1.1.3)
36
+ docile (1.1.5)
28
37
  erubis (2.7.0)
38
+ factory_girl (4.4.0)
39
+ activesupport (>= 3.0.0)
40
+ factory_girl_rails (4.4.1)
41
+ factory_girl (~> 4.4.0)
42
+ railties (>= 3.0.0)
29
43
  faraday (0.9.0)
30
44
  multipart-post (>= 1.2, < 3)
31
- git (1.2.6)
32
- github_api (0.11.3)
45
+ git (1.2.8)
46
+ github_api (0.12.1)
33
47
  addressable (~> 2.3)
34
- descendants_tracker (~> 0.0.1)
48
+ descendants_tracker (~> 0.0.4)
35
49
  faraday (~> 0.8, < 0.10)
36
- hashie (>= 1.2)
50
+ hashie (>= 3.2)
37
51
  multi_json (>= 1.7.5, < 2.0)
38
- nokogiri (~> 1.6.0)
52
+ nokogiri (~> 1.6.3)
39
53
  oauth2
40
- hashie (2.1.1)
54
+ hashie (3.2.0)
41
55
  highline (1.6.21)
42
- i18n (0.6.9)
56
+ hike (1.2.3)
57
+ i18n (0.6.11)
43
58
  jeweler (2.0.1)
44
59
  builder
45
60
  bundler (>= 1.0)
@@ -50,67 +65,102 @@ GEM
50
65
  rake
51
66
  rdoc
52
67
  json (1.8.1)
53
- jwt (0.1.13)
54
- multi_json (>= 1.5)
55
- mini_portile (0.5.3)
56
- minitest (5.3.3)
57
- multi_json (1.10.0)
68
+ jwt (1.0.0)
69
+ mail (2.5.4)
70
+ mime-types (~> 1.16)
71
+ treetop (~> 1.4.8)
72
+ mime-types (1.25.1)
73
+ mini_portile (0.6.0)
74
+ minitest (5.4.0)
75
+ multi_json (1.10.1)
58
76
  multi_xml (0.5.5)
59
77
  multipart-post (2.0.0)
60
- nokogiri (1.6.1)
61
- mini_portile (~> 0.5.0)
62
- oauth2 (0.9.3)
78
+ nokogiri (1.6.3.1)
79
+ mini_portile (= 0.6.0)
80
+ oauth2 (1.0.0)
63
81
  faraday (>= 0.8, < 0.10)
64
- jwt (~> 0.1.8)
82
+ jwt (~> 1.0)
65
83
  multi_json (~> 1.3)
66
84
  multi_xml (~> 0.5)
67
85
  rack (~> 1.2)
86
+ polyglot (0.3.5)
68
87
  rack (1.5.2)
69
88
  rack-test (0.6.2)
70
89
  rack (>= 1.0)
71
- railties (4.1.1)
72
- actionpack (= 4.1.1)
73
- activesupport (= 4.1.1)
90
+ rails (4.1.5)
91
+ actionmailer (= 4.1.5)
92
+ actionpack (= 4.1.5)
93
+ actionview (= 4.1.5)
94
+ activemodel (= 4.1.5)
95
+ activerecord (= 4.1.5)
96
+ activesupport (= 4.1.5)
97
+ bundler (>= 1.3.0, < 2.0)
98
+ railties (= 4.1.5)
99
+ sprockets-rails (~> 2.0)
100
+ railties (4.1.5)
101
+ actionpack (= 4.1.5)
102
+ activesupport (= 4.1.5)
74
103
  rake (>= 0.8.7)
75
104
  thor (>= 0.18.1, < 2.0)
76
- rake (10.3.1)
105
+ rake (10.3.2)
77
106
  rdoc (3.12.2)
78
107
  json (~> 1.4)
79
- rspec-core (2.14.8)
80
- rspec-expectations (2.14.5)
81
- diff-lcs (>= 1.1.3, < 2.0)
82
- rspec-mocks (2.14.6)
83
- rspec-rails (2.14.2)
108
+ rspec-core (3.0.4)
109
+ rspec-support (~> 3.0.0)
110
+ rspec-expectations (3.0.4)
111
+ diff-lcs (>= 1.2.0, < 2.0)
112
+ rspec-support (~> 3.0.0)
113
+ rspec-mocks (3.0.4)
114
+ rspec-support (~> 3.0.0)
115
+ rspec-rails (3.0.2)
84
116
  actionpack (>= 3.0)
85
- activemodel (>= 3.0)
86
117
  activesupport (>= 3.0)
87
118
  railties (>= 3.0)
88
- rspec-core (~> 2.14.0)
89
- rspec-expectations (~> 2.14.0)
90
- rspec-mocks (~> 2.14.0)
119
+ rspec-core (~> 3.0.0)
120
+ rspec-expectations (~> 3.0.0)
121
+ rspec-mocks (~> 3.0.0)
122
+ rspec-support (~> 3.0.0)
123
+ rspec-support (3.0.4)
91
124
  shoulda (3.5.0)
92
125
  shoulda-context (~> 1.0, >= 1.0.1)
93
126
  shoulda-matchers (>= 1.4.1, < 3.0)
94
127
  shoulda-context (1.2.1)
95
- shoulda-matchers (2.6.1)
128
+ shoulda-matchers (2.6.2)
96
129
  activesupport (>= 3.0.0)
97
- simplecov (0.8.2)
130
+ simplecov (0.9.0)
98
131
  docile (~> 1.1.0)
99
132
  multi_json
100
133
  simplecov-html (~> 0.8.0)
101
134
  simplecov-html (0.8.0)
135
+ sprockets (2.12.1)
136
+ hike (~> 1.2)
137
+ multi_json (~> 1.0)
138
+ rack (~> 1.0)
139
+ tilt (~> 1.1, != 1.3.0)
140
+ sprockets-rails (2.1.3)
141
+ actionpack (>= 3.0)
142
+ activesupport (>= 3.0)
143
+ sprockets (~> 2.8)
144
+ sqlite3 (1.3.9)
102
145
  thor (0.19.1)
103
- thread_safe (0.3.3)
104
- tzinfo (1.1.0)
146
+ thread_safe (0.3.4)
147
+ tilt (1.4.1)
148
+ treetop (1.4.15)
149
+ polyglot
150
+ polyglot (>= 0.3.1)
151
+ tzinfo (1.2.2)
105
152
  thread_safe (~> 0.1)
106
153
 
107
154
  PLATFORMS
108
155
  ruby
109
156
 
110
157
  DEPENDENCIES
111
- bundler (~> 1.0)
112
- jeweler (~> 2.0.1)
113
- rdoc (~> 3.12)
158
+ bundler
159
+ factory_girl_rails
160
+ jeweler
161
+ rails
162
+ rdoc
114
163
  rspec-rails
115
164
  shoulda
116
165
  simplecov
166
+ sqlite3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: instance-factory 0.0.2 ruby lib
5
+ # stub: instance-factory 0.0.3 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "instance-factory"
9
- s.version = "0.0.2"
9
+ s.version = "0.0.3"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Victor Antoniazzi"]
14
- s.date = "2014-08-25"
14
+ s.date = "2014-08-26"
15
15
  s.description = "Manage your FactoryGirl for create a unique instance of model associations and integrate with rspec"
16
16
  s.email = "vgsantoniazzi@gmail.com"
17
17
  s.extra_rdoc_files = [
@@ -45,7 +45,9 @@ Gem::Specification.new do |s|
45
45
  "spec/dummy/app/helpers/application_helper.rb",
46
46
  "spec/dummy/app/mailers/.keep",
47
47
  "spec/dummy/app/models/.keep",
48
+ "spec/dummy/app/models/adderess.rb",
48
49
  "spec/dummy/app/models/concerns/.keep",
50
+ "spec/dummy/app/models/user.rb",
49
51
  "spec/dummy/app/views/layouts/application.html.erb",
50
52
  "spec/dummy/bin/bundle",
51
53
  "spec/dummy/bin/rails",
@@ -69,6 +71,9 @@ Gem::Specification.new do |s|
69
71
  "spec/dummy/config/locales/en.yml",
70
72
  "spec/dummy/config/routes.rb",
71
73
  "spec/dummy/config/secrets.yml",
74
+ "spec/dummy/db/migrate/20140825230522_create_users.rb",
75
+ "spec/dummy/db/migrate/20140826004447_create_adderesses.rb",
76
+ "spec/dummy/db/schema.rb",
72
77
  "spec/dummy/db/seeds.rb",
73
78
  "spec/dummy/lib/assets/.keep",
74
79
  "spec/dummy/lib/tasks/.keep",
@@ -78,9 +83,14 @@ Gem::Specification.new do |s|
78
83
  "spec/dummy/public/500.html",
79
84
  "spec/dummy/public/favicon.ico",
80
85
  "spec/dummy/public/robots.txt",
86
+ "spec/dummy/spec/change_user_between_tests_spec.rb",
87
+ "spec/dummy/spec/factories/suite.rb",
88
+ "spec/dummy/spec/mantain_user_on_before_spec.rb",
89
+ "spec/dummy/spec/should_not_create_another_spec.rb",
90
+ "spec/dummy/spec/spec_helper.rb",
91
+ "spec/dummy/spec/support/instance_factory_configuration.rb",
81
92
  "spec/dummy/vendor/assets/javascripts/.keep",
82
- "spec/dummy/vendor/assets/stylesheets/.keep",
83
- "spec/spec_helper.rb"
93
+ "spec/dummy/vendor/assets/stylesheets/.keep"
84
94
  ]
85
95
  s.homepage = "http://github.com/vgsantoniazzi/instance-factory"
86
96
  s.licenses = ["MIT"]
@@ -91,27 +101,36 @@ Gem::Specification.new do |s|
91
101
  s.specification_version = 4
92
102
 
93
103
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
104
+ s.add_development_dependency(%q<rails>, [">= 0"])
105
+ s.add_development_dependency(%q<sqlite3>, [">= 0"])
94
106
  s.add_development_dependency(%q<shoulda>, [">= 0"])
95
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
96
- s.add_development_dependency(%q<bundler>, ["~> 1.0"])
97
- s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
107
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
108
+ s.add_development_dependency(%q<bundler>, [">= 0"])
109
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
98
110
  s.add_development_dependency(%q<simplecov>, [">= 0"])
99
111
  s.add_development_dependency(%q<rspec-rails>, [">= 0"])
112
+ s.add_development_dependency(%q<factory_girl_rails>, [">= 0"])
100
113
  else
114
+ s.add_dependency(%q<rails>, [">= 0"])
115
+ s.add_dependency(%q<sqlite3>, [">= 0"])
101
116
  s.add_dependency(%q<shoulda>, [">= 0"])
102
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
103
- s.add_dependency(%q<bundler>, ["~> 1.0"])
104
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
117
+ s.add_dependency(%q<rdoc>, [">= 0"])
118
+ s.add_dependency(%q<bundler>, [">= 0"])
119
+ s.add_dependency(%q<jeweler>, [">= 0"])
105
120
  s.add_dependency(%q<simplecov>, [">= 0"])
106
121
  s.add_dependency(%q<rspec-rails>, [">= 0"])
122
+ s.add_dependency(%q<factory_girl_rails>, [">= 0"])
107
123
  end
108
124
  else
125
+ s.add_dependency(%q<rails>, [">= 0"])
126
+ s.add_dependency(%q<sqlite3>, [">= 0"])
109
127
  s.add_dependency(%q<shoulda>, [">= 0"])
110
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
111
- s.add_dependency(%q<bundler>, ["~> 1.0"])
112
- s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
128
+ s.add_dependency(%q<rdoc>, [">= 0"])
129
+ s.add_dependency(%q<bundler>, [">= 0"])
130
+ s.add_dependency(%q<jeweler>, [">= 0"])
113
131
  s.add_dependency(%q<simplecov>, [">= 0"])
114
132
  s.add_dependency(%q<rspec-rails>, [">= 0"])
133
+ s.add_dependency(%q<factory_girl_rails>, [">= 0"])
115
134
  end
116
135
  end
117
136
 
@@ -6,7 +6,7 @@ module InstanceFactory
6
6
  end
7
7
 
8
8
  def instance_factory_clear!
9
- InstanceFactoryVariables.clear
9
+ InstanceFactoryVariables.clear!
10
10
  end
11
11
 
12
12
  private
@@ -32,7 +32,7 @@ end
32
32
  # Intern class for manage class variables
33
33
  #
34
34
  class InstanceFactoryVariables
35
- def self.clear
35
+ def self.clear!
36
36
  class_variables.each{|var| remove_class_variable(var) }
37
37
  end
38
38
  end
data/spec/dummy/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rails', '4.1.1'
4
- gem 'mysql2'
4
+ gem 'sqlite3'
5
5
  gem 'rspec-rails'
6
- gem 'factory_girl'
6
+ gem 'factory_girl_rails'
@@ -33,6 +33,9 @@ GEM
33
33
  erubis (2.7.0)
34
34
  factory_girl (4.4.0)
35
35
  activesupport (>= 3.0.0)
36
+ factory_girl_rails (4.4.1)
37
+ factory_girl (~> 4.4.0)
38
+ railties (>= 3.0.0)
36
39
  hike (1.2.3)
37
40
  i18n (0.6.9)
38
41
  json (1.8.1)
@@ -42,7 +45,6 @@ GEM
42
45
  mime-types (1.25.1)
43
46
  minitest (5.3.3)
44
47
  multi_json (1.10.0)
45
- mysql2 (0.3.15)
46
48
  polyglot (0.3.4)
47
49
  rack (1.5.2)
48
50
  rack-test (0.6.2)
@@ -84,6 +86,7 @@ GEM
84
86
  actionpack (>= 3.0)
85
87
  activesupport (>= 3.0)
86
88
  sprockets (~> 2.8)
89
+ sqlite3 (1.3.9)
87
90
  thor (0.19.1)
88
91
  thread_safe (0.3.3)
89
92
  tilt (1.4.1)
@@ -97,7 +100,7 @@ PLATFORMS
97
100
  ruby
98
101
 
99
102
  DEPENDENCIES
100
- factory_girl
101
- mysql2
103
+ factory_girl_rails
102
104
  rails (= 4.1.1)
103
105
  rspec-rails
106
+ sqlite3
@@ -0,0 +1,3 @@
1
+ class Adderess < ActiveRecord::Base
2
+ belongs_to :user
3
+ end
@@ -0,0 +1,3 @@
1
+ class User < ActiveRecord::Base
2
+ has_many :adderesses
3
+ end
@@ -1,54 +1,11 @@
1
- # MySQL. Versions 5.0+ are recommended.
2
- #
3
- # Install the MYSQL driver
4
- # gem install mysql2
5
- #
6
- # Ensure the MySQL gem is defined in your Gemfile
7
- # gem 'mysql2'
8
- #
9
- # And be sure to use new-style password hashing:
10
- # http://dev.mysql.com/doc/refman/5.0/en/old-client.html
11
- #
12
- default: &default
13
- adapter: mysql2
14
- encoding: utf8
1
+ test:
2
+ adapter: sqlite3
3
+ database: db/test.sqlite3
15
4
  pool: 5
16
- username: root
17
- password:
18
- socket: /tmp/mysql.sock
5
+ timeout: 5000
19
6
 
20
7
  development:
21
- <<: *default
22
- database: dummy_development
23
-
24
- # Warning: The database defined as "test" will be erased and
25
- # re-generated from your development database when you run "rake".
26
- # Do not set this db to the same as development or production.
27
- test:
28
- <<: *default
29
- database: dummy_test
30
-
31
- # As with config/secrets.yml, you never want to store sensitive information,
32
- # like your database password, in your source code. If your source code is
33
- # ever seen by anyone, they now have access to your database.
34
- #
35
- # Instead, provide the password as a unix environment variable when you boot
36
- # the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
37
- # for a full rundown on how to provide these environment variables in a
38
- # production deployment.
39
- #
40
- # On Heroku and other platform providers, you may have a full connection URL
41
- # available as an environment variable. For example:
42
- #
43
- # DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
44
- #
45
- # You can use this database configuration with:
46
- #
47
- # production:
48
- # url: <%= ENV['DATABASE_URL'] %>
49
- #
50
- production:
51
- <<: *default
52
- database: dummy_production
53
- username: dummy
54
- password: <%= ENV['DUMMY_DATABASE_PASSWORD'] %>
8
+ adapter: sqlite3
9
+ database: db/dev.sqlite3
10
+ pool: 5
11
+ timeout: 5000
@@ -0,0 +1,10 @@
1
+ class CreateUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table :users do |t|
4
+ t.string :name
5
+ t.integer :age
6
+ t.boolean :admin, default: false
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ class CreateAdderesses < ActiveRecord::Migration
2
+ def change
3
+ create_table :adderesses do |t|
4
+ t.references :user
5
+ t.string :name
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,31 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended that you check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(version: 20140826004447) do
15
+
16
+ create_table "adderesses", force: true do |t|
17
+ t.integer "user_id"
18
+ t.string "name"
19
+ t.datetime "created_at"
20
+ t.datetime "updated_at"
21
+ end
22
+
23
+ create_table "users", force: true do |t|
24
+ t.string "name"
25
+ t.integer "age"
26
+ t.boolean "admin", default: false
27
+ t.datetime "created_at"
28
+ t.datetime "updated_at"
29
+ end
30
+
31
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'mantain database clear' do
4
+
5
+ context 'can view @user' do
6
+ before do
7
+ @user = instance_factory(:user)
8
+ end
9
+
10
+ it '#count' do
11
+ expect(User.count).to eq(1)
12
+ end
13
+
14
+ it 'user should be avaliable here' do
15
+ expect(@user).to eq instance_factory(:user)
16
+ end
17
+ end
18
+
19
+ context 'cannot view @user' do
20
+
21
+ it '#count' do
22
+ expect(User.count).to eq(0)
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,18 @@
1
+ FactoryGirl.define do
2
+ factory :user do
3
+ sequence :id do |n|
4
+ n
5
+ end
6
+ name "Victor Antoniazzi"
7
+ age 20
8
+ admin false
9
+ end
10
+
11
+ factory :adderess do
12
+ sequence :id do |n|
13
+ n
14
+ end
15
+ name "Rua uruguai 1403"
16
+ user { instance_factory(:user) }
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'mantain same user' do
4
+
5
+ before do
6
+ @user = instance_factory(:user)
7
+ end
8
+
9
+ it 'true should be true' do
10
+ expect(@user).to eq instance_factory(:user)
11
+ end
12
+ end
@@ -0,0 +1,43 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'mantain database clear' do
4
+
5
+ context 'can view @user' do
6
+ before do
7
+ @user = instance_factory(:user)
8
+ @adderess = instance_factory(:adderess)
9
+ end
10
+
11
+ it 'same adderess' do
12
+ expect(@user.adderesses.first).to eq(instance_factory(:adderess))
13
+ end
14
+
15
+ it 'same user' do
16
+ expect(@adderess.user).to eq instance_factory(:user)
17
+ end
18
+ end
19
+
20
+ context 'should create user' do
21
+
22
+ before do
23
+ @adderess = instance_factory(:adderess)
24
+ end
25
+
26
+ it 'user' do
27
+ expect(@adderess.user).to eq instance_factory(:user)
28
+ end
29
+
30
+ end
31
+
32
+ context 'should create user' do
33
+
34
+ before do
35
+ @adderess = FactoryGirl.create(:adderess)
36
+ end
37
+
38
+ it 'user' do
39
+ expect(@adderess.user).to eq instance_factory(:user)
40
+ end
41
+
42
+ end
43
+ end
@@ -1,8 +1,9 @@
1
1
  # This file is copied to spec/ when you run 'rails generate rspec:install'
2
2
  ENV["RAILS_ENV"] ||= 'test'
3
- require File.expand_path("../dummy/config/environment", __FILE__)
3
+ require File.expand_path("../../config/environment", __FILE__)
4
4
  require 'rspec/rails'
5
5
  require 'rspec/autorun'
6
+ require_relative '../../../lib/instance_factory'
6
7
 
7
8
  # Requires supporting ruby files with custom matchers and macros, etc,
8
9
  # in spec/support/ and its subdirectories.
@@ -0,0 +1,9 @@
1
+ RSpec.configure do |config|
2
+ config.include InstanceFactory
3
+
4
+ config.after(:each) do
5
+ instance_factory_clear!
6
+ end
7
+ end
8
+
9
+ FactoryGirl::SyntaxRunner.send(:include, InstanceFactory)
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instance-factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Antoniazzi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-25 00:00:00.000000000 Z
11
+ date: 2014-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sqlite3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: shoulda
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -28,44 +56,44 @@ dependencies:
28
56
  name: rdoc
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
- - - "~>"
59
+ - - ">="
32
60
  - !ruby/object:Gem::Version
33
- version: '3.12'
61
+ version: '0'
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
- - - "~>"
66
+ - - ">="
39
67
  - !ruby/object:Gem::Version
40
- version: '3.12'
68
+ version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: bundler
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
- - - "~>"
73
+ - - ">="
46
74
  - !ruby/object:Gem::Version
47
- version: '1.0'
75
+ version: '0'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
- - - "~>"
80
+ - - ">="
53
81
  - !ruby/object:Gem::Version
54
- version: '1.0'
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: jeweler
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
- - - "~>"
87
+ - - ">="
60
88
  - !ruby/object:Gem::Version
61
- version: 2.0.1
89
+ version: '0'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
- - - "~>"
94
+ - - ">="
67
95
  - !ruby/object:Gem::Version
68
- version: 2.0.1
96
+ version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: simplecov
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +122,20 @@ dependencies:
94
122
  - - ">="
95
123
  - !ruby/object:Gem::Version
96
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: factory_girl_rails
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
97
139
  description: Manage your FactoryGirl for create a unique instance of model associations
98
140
  and integrate with rspec
99
141
  email: vgsantoniazzi@gmail.com
@@ -129,7 +171,9 @@ files:
129
171
  - spec/dummy/app/helpers/application_helper.rb
130
172
  - spec/dummy/app/mailers/.keep
131
173
  - spec/dummy/app/models/.keep
174
+ - spec/dummy/app/models/adderess.rb
132
175
  - spec/dummy/app/models/concerns/.keep
176
+ - spec/dummy/app/models/user.rb
133
177
  - spec/dummy/app/views/layouts/application.html.erb
134
178
  - spec/dummy/bin/bundle
135
179
  - spec/dummy/bin/rails
@@ -153,6 +197,9 @@ files:
153
197
  - spec/dummy/config/locales/en.yml
154
198
  - spec/dummy/config/routes.rb
155
199
  - spec/dummy/config/secrets.yml
200
+ - spec/dummy/db/migrate/20140825230522_create_users.rb
201
+ - spec/dummy/db/migrate/20140826004447_create_adderesses.rb
202
+ - spec/dummy/db/schema.rb
156
203
  - spec/dummy/db/seeds.rb
157
204
  - spec/dummy/lib/assets/.keep
158
205
  - spec/dummy/lib/tasks/.keep
@@ -162,9 +209,14 @@ files:
162
209
  - spec/dummy/public/500.html
163
210
  - spec/dummy/public/favicon.ico
164
211
  - spec/dummy/public/robots.txt
212
+ - spec/dummy/spec/change_user_between_tests_spec.rb
213
+ - spec/dummy/spec/factories/suite.rb
214
+ - spec/dummy/spec/mantain_user_on_before_spec.rb
215
+ - spec/dummy/spec/should_not_create_another_spec.rb
216
+ - spec/dummy/spec/spec_helper.rb
217
+ - spec/dummy/spec/support/instance_factory_configuration.rb
165
218
  - spec/dummy/vendor/assets/javascripts/.keep
166
219
  - spec/dummy/vendor/assets/stylesheets/.keep
167
- - spec/spec_helper.rb
168
220
  homepage: http://github.com/vgsantoniazzi/instance-factory
169
221
  licenses:
170
222
  - MIT