factory_girl 2.0.2 → 2.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.
data/README.md CHANGED
@@ -1,5 +1,4 @@
1
- factory_girl
2
- ============
1
+ # factory_girl [![Build Status](http://travis-ci.org/thoughtbot/factory_girl.png)](http://travis-ci.org/thoughtbot/factory_girl)
3
2
 
4
3
  factory_girl is a fixtures replacement with a straightforward definition syntax, support for multiple build strategies (saved instances, unsaved instances, attribute hashes, and stubbed objects), and support for multiple factories for the same class (user, admin_user, and so on), including factory inheritance.
5
4
 
@@ -3,7 +3,7 @@ Feature: Factory girl can find factory definitions correctly
3
3
  Given a file named "awesome_factories.rb" with:
4
4
  """
5
5
  FactoryGirl.define do
6
- factory :awesome_category, :parent => :category do
6
+ factory :awesome_category, :class => Category do
7
7
  name "awesome!!!"
8
8
  end
9
9
  end
@@ -18,13 +18,13 @@ Feature: Factory girl can find factory definitions correctly
18
18
  Given a file named "awesome_factories.rb" with:
19
19
  """
20
20
  FactoryGirl.define do
21
- factory :awesome_category, :parent => :category do
21
+ factory :another_awesome_category, :class => Category do
22
22
  name "awesome!!!"
23
23
  end
24
24
  end
25
25
  """
26
26
  When "awesome_factories.rb" is added to Factory Girl's file definitions path as an absolute path
27
- And I create a "awesome_category" instance from Factory Girl
27
+ And I create a "another_awesome_category" instance from Factory Girl
28
28
  Then I should find the following for the last category:
29
29
  | name |
30
30
  | awesome!!! |
@@ -33,7 +33,7 @@ Feature: Factory girl can find factory definitions correctly
33
33
  Given a file named "nested/great_factories.rb" with:
34
34
  """
35
35
  FactoryGirl.define do
36
- factory :great_category, :parent => :category do
36
+ factory :great_category, :class => Category do
37
37
  name "great!!!"
38
38
  end
39
39
  end
@@ -43,3 +43,20 @@ Feature: Factory girl can find factory definitions correctly
43
43
  Then I should find the following for the last category:
44
44
  | name |
45
45
  | great!!! |
46
+
47
+ Scenario: Find definitions after clearing loaded factories
48
+ Given a file named "nested/swell_factories.rb" with:
49
+ """
50
+ FactoryGirl.define do
51
+ factory :swell_category, :class => Category do
52
+ name "swell!!!"
53
+ end
54
+ end
55
+ """
56
+ When "nested" is added to Factory Girl's file definitions path
57
+ And I clear out the factories
58
+ And I find definitions
59
+ And I create a "swell_category" instance from Factory Girl
60
+ Then I should find the following for the last category:
61
+ | name |
62
+ | swell!!! |
@@ -1,16 +1,26 @@
1
+ module FactoryGirlDefinitionsHelper
2
+ def append_file_to_factory_girl_definitions_path(path_to_file)
3
+ FactoryGirl.definition_file_paths ||= []
4
+ FactoryGirl.definition_file_paths << path_to_file
5
+ end
6
+ end
7
+
8
+ World(FactoryGirlDefinitionsHelper)
9
+
1
10
  When /^"([^"]*)" is added to Factory Girl's file definitions path$/ do |file_name|
2
11
  new_factory_file = File.join(current_dir, file_name.gsub(".rb", ""))
3
- FactoryGirl.definition_file_paths ||= []
4
- FactoryGirl.definition_file_paths << new_factory_file
5
- FactoryGirl.find_definitions
12
+
13
+ append_file_to_factory_girl_definitions_path(new_factory_file)
14
+
15
+ When %{I find definitions}
6
16
  end
7
17
 
8
18
  When /^"([^"]*)" is added to Factory Girl's file definitions path as an absolute path$/ do |file_name|
9
19
  new_factory_file = File.expand_path(File.join(current_dir, file_name.gsub(".rb", "")))
10
20
 
11
- FactoryGirl.definition_file_paths ||= []
12
- FactoryGirl.definition_file_paths << new_factory_file
13
- FactoryGirl.find_definitions
21
+ append_file_to_factory_girl_definitions_path(new_factory_file)
22
+
23
+ When %{I find definitions}
14
24
  end
15
25
 
16
26
  When /^I create a "([^"]*)" instance from Factory Girl$/ do |factory_name|
@@ -23,3 +33,11 @@ Given /^these super users exist:$/ do |table|
23
33
  new_table = Cucumber::Ast::Table.new([headers] + rows)
24
34
  Given %{the following person exists:}, new_table
25
35
  end
36
+
37
+ When /^I clear out the factories$/ do
38
+ FactoryGirl.factories.clear
39
+ end
40
+
41
+ When /^I find definitions$/ do
42
+ FactoryGirl.find_definitions
43
+ end
Binary file
@@ -8,6 +8,7 @@ module FactoryGirl
8
8
  end
9
9
 
10
10
  class Attribute #:nodoc:
11
+ include Comparable
11
12
 
12
13
  attr_reader :name
13
14
 
@@ -28,6 +29,16 @@ module FactoryGirl
28
29
  def association?
29
30
  false
30
31
  end
32
+
33
+ def priority
34
+ 1
35
+ end
36
+
37
+ def <=>(another)
38
+ return nil unless another.is_a? Attribute
39
+ self.priority <=> another.priority
40
+ end
41
+
31
42
  end
32
43
 
33
44
  end
@@ -11,7 +11,10 @@ module FactoryGirl
11
11
  def add_to(proxy)
12
12
  proxy.set(name, @value)
13
13
  end
14
- end
15
14
 
15
+ def priority
16
+ 0
17
+ end
18
+ end
16
19
  end
17
20
  end
@@ -79,6 +79,8 @@ module FactoryGirl
79
79
  def method_missing(name, *args, &block)
80
80
  if args.empty? && block.nil?
81
81
  @factory.define_attribute(Attribute::Implicit.new(name))
82
+ elsif args.first.is_a?(Hash) && args.first.has_key?(:factory)
83
+ association(name, *args)
82
84
  else
83
85
  add_attribute(name, *args, &block)
84
86
  end
@@ -49,7 +49,9 @@ module FactoryGirl
49
49
  new_attributes << attribute.clone
50
50
  end
51
51
  end
52
- @attributes.unshift *new_attributes
52
+
53
+ @attributes += new_attributes
54
+ @attributes.sort!
53
55
  end
54
56
 
55
57
  def define_attribute(attribute)
@@ -10,14 +10,14 @@ module FactoryGirl
10
10
  self.definition_file_paths = %w(factories test/factories spec/factories)
11
11
 
12
12
  def self.find_definitions #:nodoc:
13
- definition_file_paths.each do |path|
14
- path = File.expand_path(path)
13
+ absolute_definition_file_paths = definition_file_paths.map {|path| File.expand_path(path) }
15
14
 
16
- require("#{path}.rb") if File.exists?("#{path}.rb")
15
+ absolute_definition_file_paths.uniq.each do |path|
16
+ load("#{path}.rb") if File.exists?("#{path}.rb")
17
17
 
18
18
  if File.directory? path
19
19
  Dir[File.join(path, '**', '*.rb')].sort.each do |file|
20
- require file
20
+ load file
21
21
  end
22
22
  end
23
23
  end
@@ -1,4 +1,4 @@
1
1
  module FactoryGirl
2
- VERSION = "2.0.2"
2
+ VERSION = "2.0.3"
3
3
  end
4
4
 
@@ -3,23 +3,44 @@ require 'acceptance/acceptance_helper'
3
3
 
4
4
  describe "attribute aliases" do
5
5
  before do
6
- define_model('User')
6
+ define_model('User', :name => :string, :age => :integer)
7
7
 
8
8
  define_model('Post', :user_id => :integer) do
9
9
  belongs_to :user
10
10
  end
11
11
 
12
12
  FactoryGirl.define do
13
- factory :user
13
+ factory :user do
14
+ factory :user_with_name do
15
+ name "John Doe"
16
+ end
17
+ end
14
18
 
15
19
  factory :post do
16
20
  user
17
21
  end
22
+
23
+ factory :post_with_named_user, :class => Post do
24
+ user :factory => :user_with_name, :age => 20
25
+ end
18
26
  end
19
27
  end
20
28
 
21
- it "doesn't assign both an association and its foreign key" do
22
- FactoryGirl.build(:post, :user_id => 1).user_id.should == 1
29
+ context "assigning an association by foreign key" do
30
+ subject { FactoryGirl.build(:post, :user_id => 1) }
31
+
32
+ it "doesn't assign both an association and its foreign key" do
33
+ subject.user_id.should == 1
34
+ end
35
+ end
36
+
37
+ context "assigning an association by passing factory" do
38
+ subject { FactoryGirl.create(:post_with_named_user).user }
39
+
40
+ it "assigns attributes correctly" do
41
+ subject.name.should == "John Doe"
42
+ subject.age.should == 20
43
+ end
23
44
  end
24
45
  end
25
46
 
@@ -8,11 +8,11 @@ describe "an instance generated by a factory that inherits from another factory"
8
8
  FactoryGirl.define do
9
9
  factory :user do
10
10
  name "John"
11
- email "john@example.com"
11
+ email { "#{name.downcase}@example.com" }
12
12
 
13
13
  factory :admin do
14
+ name "admin"
14
15
  admin true
15
- email "admin@example.com"
16
16
  end
17
17
 
18
18
  factory :guest do
@@ -28,16 +28,18 @@ describe "an instance generated by a factory that inherits from another factory"
28
28
  its(:email) { should == "john@example.com" }
29
29
  end
30
30
 
31
- describe "the child class" do
31
+ describe "the child class redefining parent's static method used by a dynamic method" do
32
32
  subject { FactoryGirl.create(:admin) }
33
33
  it { should be_kind_of(User) }
34
34
  it { should be_admin }
35
- its(:name) { should == "John" }
35
+ its(:name) { should == "admin" }
36
36
  its(:email) { should == "admin@example.com" }
37
37
  end
38
38
 
39
- describe "the child class with parent attribute" do
39
+ describe "the child class redefining parent's dynamic method" do
40
40
  subject { FactoryGirl.create(:guest) }
41
+ it { should_not be_admin }
42
+ its(:name) { should == "John" }
41
43
  its(:email) { should eql "John-guest@example.com" }
42
44
  end
43
45
  end
@@ -31,4 +31,13 @@ describe FactoryGirl::Attribute do
31
31
  it "should convert names to symbols" do
32
32
  FactoryGirl::Attribute.new('name').name.should == :name
33
33
  end
34
+
35
+ it "should return nil when is compared with a non-attribute object" do
36
+ (@attr <=> "foo").should == nil
37
+ end
38
+
39
+ it "should use priority to perform comparisons" do
40
+ attr2 = FactoryGirl::Attribute.new('name')
41
+ (@attr <=> attr2).should == 0
42
+ end
34
43
  end
@@ -135,6 +135,18 @@ describe FactoryGirl::DefinitionProxy do
135
135
  factory.attributes.should include(attr)
136
136
  end
137
137
 
138
+ it "adds an association when passed an undefined method with a hash including :factory key" do
139
+ name = :author
140
+ factory_name = :user
141
+ overrides = { :first_name => 'Ben' }
142
+ args = { :factory => factory_name }.merge(overrides)
143
+ attr = 'attribute'
144
+ stub(attr).name { name }
145
+ mock(FactoryGirl::Attribute::Association).new(name, factory_name, overrides) { attr }
146
+ subject.send(name, args)
147
+ factory.attributes.should include(attr)
148
+ end
149
+
138
150
  it "delegates to_create" do
139
151
  result = 'expected'
140
152
  mock(factory).to_create { result }
@@ -2,20 +2,20 @@ require 'spec_helper'
2
2
 
3
3
  share_examples_for "finds definitions" do
4
4
  before do
5
- stub(FactoryGirl).require
5
+ stub(FactoryGirl).load
6
6
  FactoryGirl.find_definitions
7
7
  end
8
8
  subject { FactoryGirl }
9
9
  end
10
10
 
11
- RSpec::Matchers.define :require_definitions_from do |file|
11
+ RSpec::Matchers.define :load_definitions_from do |file|
12
12
  match do |given|
13
- @has_received = have_received.method_missing(:require, File.expand_path(file))
13
+ @has_received = have_received.method_missing(:load, File.expand_path(file))
14
14
  @has_received.matches?(given)
15
15
  end
16
16
 
17
17
  description do
18
- "require definitions from #{file}"
18
+ "load definitions from #{file}"
19
19
  end
20
20
 
21
21
  failure_message_for_should do
@@ -47,7 +47,7 @@ describe "definition loading" do
47
47
  describe "with factories.rb" do
48
48
  in_directory_with_files 'factories.rb'
49
49
  it_should_behave_like "finds definitions" do
50
- it { should require_definitions_from('factories.rb') }
50
+ it { should load_definitions_from('factories.rb') }
51
51
  end
52
52
  end
53
53
 
@@ -55,14 +55,14 @@ describe "definition loading" do
55
55
  describe "with a factories file under #{dir}" do
56
56
  in_directory_with_files File.join(dir, 'factories.rb')
57
57
  it_should_behave_like "finds definitions" do
58
- it { should require_definitions_from("#{dir}/factories.rb") }
58
+ it { should load_definitions_from("#{dir}/factories.rb") }
59
59
  end
60
60
  end
61
61
 
62
62
  describe "with a factories file under #{dir}/factories" do
63
63
  in_directory_with_files File.join(dir, 'factories', 'post_factory.rb')
64
64
  it_should_behave_like "finds definitions" do
65
- it { should require_definitions_from("#{dir}/factories/post_factory.rb") }
65
+ it { should load_definitions_from("#{dir}/factories/post_factory.rb") }
66
66
  end
67
67
  end
68
68
 
@@ -70,8 +70,8 @@ describe "definition loading" do
70
70
  in_directory_with_files File.join(dir, 'factories', 'post_factory.rb'),
71
71
  File.join(dir, 'factories', 'person_factory.rb')
72
72
  it_should_behave_like "finds definitions" do
73
- it { should require_definitions_from("#{dir}/factories/post_factory.rb") }
74
- it { should require_definitions_from("#{dir}/factories/person_factory.rb") }
73
+ it { should load_definitions_from("#{dir}/factories/post_factory.rb") }
74
+ it { should load_definitions_from("#{dir}/factories/person_factory.rb") }
75
75
  end
76
76
  end
77
77
 
@@ -80,7 +80,7 @@ describe "definition loading" do
80
80
  File.join(dir, 'factories', 'a.rb')
81
81
  it "should load the files in the right order" do
82
82
  @loaded = []
83
- stub(FactoryGirl).require { |a| @loaded << File.split(a)[-1] }
83
+ stub(FactoryGirl).load { |a| @loaded << File.split(a)[-1] }
84
84
  FactoryGirl.find_definitions
85
85
  @loaded.should == ["a.rb", "b.rb"]
86
86
  end
@@ -91,9 +91,9 @@ describe "definition loading" do
91
91
  File.join(dir, 'factories', 'post_factory.rb'),
92
92
  File.join(dir, 'factories', 'person_factory.rb')
93
93
  it_should_behave_like "finds definitions" do
94
- it { should require_definitions_from("#{dir}/factories.rb") }
95
- it { should require_definitions_from("#{dir}/factories/post_factory.rb") }
96
- it { should require_definitions_from("#{dir}/factories/person_factory.rb") }
94
+ it { should load_definitions_from("#{dir}/factories.rb") }
95
+ it { should load_definitions_from("#{dir}/factories/post_factory.rb") }
96
+ it { should load_definitions_from("#{dir}/factories/person_factory.rb") }
97
97
  end
98
98
  end
99
99
 
@@ -101,8 +101,8 @@ describe "definition loading" do
101
101
  in_directory_with_files File.join(dir, 'factories', 'subdirectory', 'post_factory.rb'),
102
102
  File.join(dir, 'factories', 'subdirectory', 'person_factory.rb')
103
103
  it_should_behave_like "finds definitions" do
104
- it { should require_definitions_from("#{dir}/factories/subdirectory/post_factory.rb") }
105
- it { should require_definitions_from("#{dir}/factories/subdirectory/person_factory.rb") }
104
+ it { should load_definitions_from("#{dir}/factories/subdirectory/post_factory.rb") }
105
+ it { should load_definitions_from("#{dir}/factories/subdirectory/person_factory.rb") }
106
106
  end
107
107
  end
108
108
  end
metadata CHANGED
@@ -1,117 +1,113 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: factory_girl
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.3
4
5
  prerelease:
5
- version: 2.0.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Joe Ferris
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-07-28 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-08-05 00:00:00.000000000 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
16
  name: rcov
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &2152633400 !ruby/object:Gem::Requirement
19
18
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
24
23
  type: :development
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: rspec
28
24
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *2152633400
26
+ - !ruby/object:Gem::Dependency
27
+ name: rspec
28
+ requirement: &2152632980 !ruby/object:Gem::Requirement
30
29
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: "0"
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
35
34
  type: :development
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: cucumber
39
35
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *2152632980
37
+ - !ruby/object:Gem::Dependency
38
+ name: cucumber
39
+ requirement: &2152632560 !ruby/object:Gem::Requirement
41
40
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
46
45
  type: :development
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: activerecord
50
46
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *2152632560
48
+ - !ruby/object:Gem::Dependency
49
+ name: activerecord
50
+ requirement: &2152632040 !ruby/object:Gem::Requirement
52
51
  none: false
53
- requirements:
52
+ requirements:
54
53
  - - ~>
55
- - !ruby/object:Gem::Version
54
+ - !ruby/object:Gem::Version
56
55
  version: 2.3.5
57
56
  type: :development
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
60
- name: activerecord
61
57
  prerelease: false
62
- requirement: &id005 !ruby/object:Gem::Requirement
58
+ version_requirements: *2152632040
59
+ - !ruby/object:Gem::Dependency
60
+ name: activerecord
61
+ requirement: &2152631500 !ruby/object:Gem::Requirement
63
62
  none: false
64
- requirements:
63
+ requirements:
65
64
  - - ~>
66
- - !ruby/object:Gem::Version
65
+ - !ruby/object:Gem::Version
67
66
  version: 3.0.0.beta3
68
67
  type: :development
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
71
- name: rr
72
68
  prerelease: false
73
- requirement: &id006 !ruby/object:Gem::Requirement
69
+ version_requirements: *2152631500
70
+ - !ruby/object:Gem::Dependency
71
+ name: rr
72
+ requirement: &2152631080 !ruby/object:Gem::Requirement
74
73
  none: false
75
- requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: "0"
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
79
78
  type: :development
80
- version_requirements: *id006
81
- - !ruby/object:Gem::Dependency
82
- name: sqlite3
83
79
  prerelease: false
84
- requirement: &id007 !ruby/object:Gem::Requirement
80
+ version_requirements: *2152631080
81
+ - !ruby/object:Gem::Dependency
82
+ name: sqlite3
83
+ requirement: &2152630620 !ruby/object:Gem::Requirement
85
84
  none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: "0"
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
90
89
  type: :development
91
- version_requirements: *id007
92
- - !ruby/object:Gem::Dependency
93
- name: aruba
94
90
  prerelease: false
95
- requirement: &id008 !ruby/object:Gem::Requirement
91
+ version_requirements: *2152630620
92
+ - !ruby/object:Gem::Dependency
93
+ name: aruba
94
+ requirement: &2152621520 !ruby/object:Gem::Requirement
96
95
  none: false
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: "0"
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
101
100
  type: :development
102
- version_requirements: *id008
103
- description: |-
104
- factory_girl provides a framework and DSL for defining and
105
- using factories - less error-prone, more explicit, and
106
- all-around easier to work with than fixtures.
101
+ prerelease: false
102
+ version_requirements: *2152621520
103
+ description: ! "factory_girl provides a framework and DSL for defining and\n using
104
+ factories - less error-prone, more explicit, and\n all-around
105
+ easier to work with than fixtures."
107
106
  email: jferris@thoughtbot.com
108
107
  executables: []
109
-
110
108
  extensions: []
111
-
112
109
  extra_rdoc_files: []
113
-
114
- files:
110
+ files:
115
111
  - Appraisals
116
112
  - Changelog
117
113
  - CONTRIBUTION_GUIDELINES.md
@@ -199,34 +195,33 @@ files:
199
195
  - features/support/env.rb
200
196
  - features/support/factories.rb
201
197
  - features/support/test.db
198
+ has_rdoc: true
202
199
  homepage: https://github.com/thoughtbot/factory_girl
203
200
  licenses: []
204
-
205
201
  post_install_message:
206
202
  rdoc_options: []
207
-
208
- require_paths:
203
+ require_paths:
209
204
  - lib
210
- required_ruby_version: !ruby/object:Gem::Requirement
205
+ required_ruby_version: !ruby/object:Gem::Requirement
211
206
  none: false
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: "0"
216
- required_rubygems_version: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - ! '>='
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
211
+ required_rubygems_version: !ruby/object:Gem::Requirement
217
212
  none: false
218
- requirements:
219
- - - ">="
220
- - !ruby/object:Gem::Version
221
- version: "0"
213
+ requirements:
214
+ - - ! '>='
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
222
217
  requirements: []
223
-
224
218
  rubyforge_project:
225
- rubygems_version: 1.8.5
219
+ rubygems_version: 1.6.2
226
220
  signing_key:
227
221
  specification_version: 3
228
- summary: factory_girl provides a framework and DSL for defining and using model instance factories.
229
- test_files:
222
+ summary: factory_girl provides a framework and DSL for defining and using model instance
223
+ factories.
224
+ test_files:
230
225
  - spec/acceptance/attribute_aliases_spec.rb
231
226
  - spec/acceptance/attributes_for_spec.rb
232
227
  - spec/acceptance/build_list_spec.rb