Skip to content
This repository was archived by the owner on Feb 25, 2020. It is now read-only.

Commit d839bed

Browse files
committed
upgrade: factory_girl -> factory_bot
1 parent ff8b263 commit d839bed

31 files changed

+134
-105
lines changed

Gemfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ group :test do
6666
gem 'minitest-stub-const' # why?
6767

6868
# generating test data
69-
gem 'factory_girl_rails' # test data factories
69+
gem 'factory_bot_rails' # test data factories
7070
gem 'faker' # names and numbers for test data
7171
gem 'psych', '~> 2.2.4' # needed by faker
7272

Gemfile.lock

+4-4
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,10 @@ GEM
129129
equalizer (0.0.11)
130130
erubis (2.7.0)
131131
execjs (2.7.0)
132-
factory_girl (4.9.0)
132+
factory_bot (4.8.2)
133133
activesupport (>= 3.0.0)
134-
factory_girl_rails (4.9.0)
135-
factory_girl (~> 4.9.0)
134+
factory_bot_rails (4.8.2)
135+
factory_bot (~> 4.8.2)
136136
railties (>= 3.0.0)
137137
fake_braintree (0.8.0)
138138
activesupport
@@ -359,7 +359,7 @@ DEPENDENCIES
359359
couchrest_session_store (~> 0.4.2)
360360
cucumber (~> 2.4.0)
361361
cucumber-rails
362-
factory_girl_rails
362+
factory_bot_rails
363363
fake_braintree
364364
faker
365365
haml-rails

engines/billing/test/broken/admin_customer_test.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
class AdminCustomerTest < BraintreeIntegrationTest
55

66
setup do
7-
@admin = User.find_by_login('admin') || FactoryGirl.create(:user, login: 'admin')
8-
@user = FactoryGirl.create(:user)
7+
@admin = User.find_by_login('admin') || FactoryBot.create(:user, login: 'admin')
8+
@user = FactoryBot.create(:user)
99
end
1010

1111
teardown do

engines/billing/test/broken/customer_creation_test.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
class CustomerCreationTest < BraintreeIntegrationTest
55

66
setup do
7-
@user = FactoryGirl.create(:user)
7+
@user = FactoryBot.create(:user)
88
login_as @user
99
end
1010

@@ -38,7 +38,7 @@ class CustomerCreationTest < BraintreeIntegrationTest
3838
# for a broken customer
3939
test "successfully confirms customer creation" do
4040
response = post_transparent_redirect :create_customer_data,
41-
customer: FactoryGirl.attributes_for(:braintree_customer),
41+
customer: FactoryBot.attributes_for(:braintree_customer),
4242
redirect_url: confirm_customer_url
4343

4444
assert_difference("Customer.count") do
@@ -57,7 +57,7 @@ class CustomerCreationTest < BraintreeIntegrationTest
5757
FakeBraintree.decline_all_cards!
5858

5959
response = post_transparent_redirect :create_customer_data,
60-
customer: FactoryGirl.attributes_for(:broken_customer),
60+
customer: FactoryBot.attributes_for(:broken_customer),
6161
redirect_url: confirm_customer_url
6262

6363
assert FakeBraintree.decline_all_cards?

engines/billing/test/broken/subscription_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class SubscriptionTest < BraintreeIntegrationTest
66
include StubRecordHelper
77

88
setup do
9-
@admin = User.find_by_login('admin') || FactoryGirl.create(:user, login: 'admin')
9+
@admin = User.find_by_login('admin') || FactoryBot.create(:user, login: 'admin')
1010
@customer = stub_customer
1111
@braintree_customer = @customer.braintree_customer
1212
response = Braintree::Subscription.create plan_id: '5',

engines/billing/test/factories.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FactoryGirl.define do
1+
FactoryBot.define do
22

33
TEST_CC_NUMBER = %w(4111 1111 1111 1111).join
44

engines/support/test/factories.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FactoryGirl.define do
1+
FactoryBot.define do
22

33
factory :ticket do
44
subject { Faker::Lorem.sentence }
@@ -14,7 +14,7 @@
1414
end
1515

1616
factory :ticket_with_creator do
17-
created_by { FactoryGirl.create(:user).id }
17+
created_by { FactoryBot.create(:user).id }
1818
end
1919

2020
end

engines/support/test/functional/ticket_comments_test.rb

+11-7
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class TicketsCommentsTest < ActionController::TestCase
99
end
1010

1111
test "add comment to unauthenticated ticket" do
12-
ticket = FactoryGirl.create :ticket, :created_by => nil
12+
ticket = create_ticket :created_by => nil
1313

1414
assert_difference('Ticket.find(ticket.id).comments.count') do
1515
put :update, :id => ticket.id,
@@ -25,7 +25,7 @@ class TicketsCommentsTest < ActionController::TestCase
2525
test "add comment to own authenticated ticket" do
2626

2727
login
28-
ticket = FactoryGirl.create :ticket, :created_by => @current_user.id
28+
ticket = create_ticket :created_by => @current_user.id
2929

3030
#they should be able to comment if it is their ticket:
3131
assert_difference('Ticket.find(ticket.id).comments.count') do
@@ -42,7 +42,7 @@ class TicketsCommentsTest < ActionController::TestCase
4242
test "cannot comment if it is another users ticket" do
4343
other_user = find_record :user
4444
login :is_admin? => false, :email => nil
45-
ticket = FactoryGirl.create :ticket, :created_by => other_user.id
45+
ticket = create_ticket :created_by => other_user.id
4646
# they should *not* be able to comment if it is not their ticket
4747
put :update, :id => ticket.id, :ticket => {:comments_attributes => {"0" => {"body" =>"not allowed comment"}} }
4848
assert_response :redirect
@@ -53,8 +53,8 @@ class TicketsCommentsTest < ActionController::TestCase
5353

5454
test "authenticated comment on an anonymous ticket adds to my tickets" do
5555
login
56-
ticket = FactoryGirl.create :ticket
57-
other_ticket = FactoryGirl.create :ticket
56+
ticket = create_ticket
57+
other_ticket = create_ticket
5858
put :update, :id => ticket.id,
5959
:ticket => {:comments_attributes => {"0" => {"body" =>"NEWER comment"}} }
6060
assert_not_nil assigns(:ticket).comments.last.posted_by
@@ -71,7 +71,7 @@ class TicketsCommentsTest < ActionController::TestCase
7171
admin = find_record :user, @current_user
7272
other_user = find_record :user
7373

74-
ticket = FactoryGirl.create :ticket, :created_by => other_user.id
74+
ticket = create_ticket :created_by => other_user.id
7575

7676
#admin should be able to comment:
7777
assert_difference('Ticket.find(ticket.id).comments.count') do
@@ -84,7 +84,7 @@ class TicketsCommentsTest < ActionController::TestCase
8484
end
8585

8686
test "commenting on a ticket adds to tickets that are mine" do
87-
testticket = FactoryGirl.create :ticket
87+
testticket = create_ticket
8888
user = find_record :admin_user
8989
login user
9090
get :index, {:user_id => user.id, :open_status => "open"}
@@ -98,4 +98,8 @@ class TicketsCommentsTest < ActionController::TestCase
9898
assert_equal assigns(:ticket).comments.last.posted_by, @current_user.id
9999
end
100100

101+
def create_ticket(attrs = {})
102+
FactoryBot.create :ticket, attrs
103+
end
104+
101105
end

engines/support/test/functional/tickets_controller_test.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -137,15 +137,15 @@ class TicketsControllerTest < ActionController::TestCase
137137

138138
test "close ticket" do
139139
login
140-
open_ticket = FactoryGirl.create :ticket_with_comment,
140+
open_ticket = FactoryBot.create :ticket_with_comment,
141141
created_by: @current_user.id
142142
post :close, id: open_ticket.id
143143
assert !open_ticket.reload.is_open
144144
end
145145

146146
test "reopen ticket" do
147147
login
148-
open_ticket = FactoryGirl.create :ticket_with_comment,
148+
open_ticket = FactoryBot.create :ticket_with_comment,
149149
created_by: @current_user.id, is_open: false
150150
post :open, id: open_ticket.id
151151
assert open_ticket.reload.is_open

engines/support/test/functional/tickets_list_test.rb

+24-23
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class TicketsListTest < ActionController::TestCase
1212

1313
test "tickets by admin" do
1414
other_user = find_record :user
15-
ticket = FactoryGirl.create :ticket, :created_by => other_user.id
15+
ticket = create_ticket :created_by => other_user.id
1616

1717
login :is_admin? => true
1818

@@ -29,7 +29,7 @@ class TicketsListTest < ActionController::TestCase
2929

3030

3131
test "admin_status mine vs all" do
32-
testticket = FactoryGirl.create :ticket
32+
testticket = create_ticket
3333
user = find_record :user
3434
login :is_admin? => true, :email => nil
3535

@@ -40,8 +40,7 @@ class TicketsListTest < ActionController::TestCase
4040
end
4141

4242
test "admin ticket ordering" do
43-
tickets = FactoryGirl.create_list :ticket, 2
44-
43+
2.times { create_ticket }
4544
login :is_admin? => true, :email => nil
4645
get :index, {:admin_status => "all", :open_status => "open", :sort_order => 'created_at_desc'}
4746

@@ -63,9 +62,9 @@ class TicketsListTest < ActionController::TestCase
6362

6463
test "own tickets include tickets commented upon" do
6564
login
66-
ticket = FactoryGirl.create :ticket
67-
other_ticket = FactoryGirl.create :ticket
68-
comment = FactoryGirl.build(:ticket_comment, posted_by: @current_user.id)
65+
ticket = create_ticket
66+
other_ticket = create_ticket
67+
comment = FactoryBot.build :ticket_comment, posted_by: @current_user.id
6968
ticket.comments << comment
7069
ticket.save
7170

@@ -77,20 +76,16 @@ class TicketsListTest < ActionController::TestCase
7776

7877
test "list all tickets created by user" do
7978
login
80-
ticket = FactoryGirl.create :ticket_with_comment,
81-
created_by: @current_user.id
82-
other_ticket = FactoryGirl.create :ticket_with_comment,
83-
created_by: @current_user.id
79+
ticket = create_ticket_with_comment created_by: @current_user.id
80+
other_ticket = create_ticket_with_comment created_by: @current_user.id
8481
get :index, {:open_status => "open"}
8582
assert_equal 2, assigns[:all_tickets].count
8683
end
8784

8885
test "closing ticket removes from open tickets list" do
8986
login
90-
ticket = FactoryGirl.create :ticket_with_comment,
91-
created_by: @current_user.id
92-
other_ticket = FactoryGirl.create :ticket_with_comment,
93-
created_by: @current_user.id
87+
ticket = create_ticket_with_comment created_by: @current_user.id
88+
other_ticket = create_ticket_with_comment created_by: @current_user.id
9489
other_ticket.reload
9590
other_ticket.close
9691
other_ticket.save
@@ -100,23 +95,29 @@ class TicketsListTest < ActionController::TestCase
10095

10196
test "list closed tickets only" do
10297
login
103-
open_ticket = FactoryGirl.create :ticket_with_comment,
104-
created_by: @current_user.id
105-
closed_ticket = FactoryGirl.create :ticket_with_comment,
106-
created_by: @current_user.id, is_open: false
98+
open_ticket = create_ticket_with_comment created_by: @current_user.id
99+
closed_ticket = create_ticket_with_comment created_by: @current_user.id,
100+
is_open: false
107101
get :index, {:open_status => "closed"}
108102
assert_equal [closed_ticket], assigns(:all_tickets).all
109103
end
110104

111105
test "list all tickets" do
112106
login
113-
open_ticket = FactoryGirl.create :ticket_with_comment,
114-
created_by: @current_user.id
115-
closed_ticket = FactoryGirl.create :ticket_with_comment,
116-
created_by: @current_user.id, is_open: false
107+
open_ticket = create_ticket_with_comment created_by: @current_user.id
108+
closed_ticket = create_ticket_with_comment created_by: @current_user.id,
109+
is_open: false
117110
get :index, {:open_status => "all"}
118111
assert_equal 2, assigns(:all_tickets).count
119112
assert assigns(:all_tickets).include?(open_ticket)
120113
assert assigns(:all_tickets).include?(closed_ticket)
121114
end
115+
116+
def create_ticket(attrs = {})
117+
FactoryBot.create :ticket, attrs
118+
end
119+
120+
def create_ticket_with_comment(attrs = {})
121+
FactoryBot.create :ticket_with_comment, attrs
122+
end
122123
end

engines/support/test/integration/create_ticket_test.rb

+6-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ class CreateTicketTest < BrowserIntegrationTest
3434
end
3535

3636
test "prefills fields" do
37-
login FactoryGirl.create(:premium_user, :invite_code => @testcode.invite_code)
37+
user = FactoryBot.create :premium_user,
38+
:invite_code => @testcode.invite_code
39+
login user
3840
visit '/'
3941
click_on "Support Tickets"
4042
click_on "New Ticket"
@@ -53,7 +55,9 @@ class CreateTicketTest < BrowserIntegrationTest
5355
end
5456

5557
test "cleared email field should remain clear" do
56-
login FactoryGirl.create(:premium_user, :invite_code => @testcode.invite_code)
58+
user = FactoryBot.create :premium_user,
59+
:invite_code => @testcode.invite_code
60+
login user
5761
visit '/'
5862
click_on "Support Tickets"
5963
click_on "New Ticket"

engines/support/test/unit/account_extension_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class AccountExtensionTest < ActiveSupport::TestCase
77
end
88

99
test "destroying an account triggers ticket destruction" do
10-
t = FactoryGirl.create :ticket_with_creator
10+
t = FactoryBot.create :ticket_with_creator
1111
u = t.created_by_user
1212
Account.new(u).destroy
1313
assert_nil Ticket.find(t.id)

engines/support/test/unit/ticket_test.rb

+15-6
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,22 @@ class TicketTest < ActiveSupport::TestCase
77
end
88

99
test "ticket with default attribs is valid" do
10-
t = FactoryGirl.build :ticket
10+
t = build_ticket
1111
assert t.valid?, t.errors.full_messages.to_sentence
1212
end
1313

1414
test "ticket without email is valid" do
15-
t = FactoryGirl.build :ticket, email: ""
15+
t = build_ticket email: ""
1616
assert t.valid?, t.errors.full_messages.to_sentence
1717
end
1818

1919
test "ticket validates email format" do
20-
t = FactoryGirl.build :ticket, email: "invalid email"
20+
t = build_ticket email: "invalid email"
2121
assert !t.valid?
2222
end
2323

2424
test "ticket open states" do
25-
t = FactoryGirl.build :ticket
25+
t = build_ticket
2626
assert t.is_open
2727
t.close
2828
assert !t.is_open
@@ -31,15 +31,15 @@ class TicketTest < ActiveSupport::TestCase
3131
end
3232

3333
test "creation validated" do
34-
user = FactoryGirl.create :user
34+
user = create_user
3535
@sample = Ticket.new
3636
assert !@sample.is_creator_validated?
3737
@sample.created_by = user.id
3838
assert @sample.is_creator_validated?
3939
end
4040

4141
test "destroy all tickets from a user" do
42-
t = FactoryGirl.create :ticket_with_creator
42+
t = FactoryBot.create :ticket_with_creator
4343
u = t.created_by_user
4444
Ticket.destroy_all_from(u)
4545
assert_nil Ticket.find(t.id)
@@ -89,4 +89,13 @@ class TicketTest < ActiveSupport::TestCase
8989
assert_equal [], Ticket.by_includes_post_by.key('123').all;
9090
end
9191

92+
protected
93+
94+
def build_ticket(attrs = {})
95+
FactoryBot.build :ticket, attrs
96+
end
97+
98+
def create_user
99+
FactoryBot.create :user
100+
end
92101
end

features/step_definitions/auth_steps.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Given /^I authenticated$/ do
22
@testcode = InviteCode.new
33
@testcode.save!
4-
@user = FactoryGirl.create(:user, :invite_code => @testcode.invite_code)
4+
@user = FactoryBot.create(:user, :invite_code => @testcode.invite_code)
55
@my_auth_token = Token.create user_id: @user.id
66
end
77

0 commit comments

Comments
 (0)