class TestDefaultAutosaveAssociationOnNewRecord

Public Instance Methods

test_autosave_new_record_on_belongs_to_can_be_disabled_per_relationship() click to toggle source
# File activerecord/test/cases/autosave_association_test.rb, line 656
def test_autosave_new_record_on_belongs_to_can_be_disabled_per_relationship
  new_account = Account.new("credit_limit" => 1000)
  new_firm = Firm.new("name" => "some firm")

  assert !new_firm.persisted?
  new_account.firm = new_firm
  new_account.save!

  assert new_firm.persisted?

  new_account = Account.new("credit_limit" => 1000)
  new_autosaved_firm = Firm.new("name" => "some firm")

  assert !new_autosaved_firm.persisted?
  new_account.unautosaved_firm = new_autosaved_firm
  new_account.save!

  assert !new_autosaved_firm.persisted?
end
test_autosave_new_record_on_has_many_can_be_disabled_per_relationship() click to toggle source
# File activerecord/test/cases/autosave_association_test.rb, line 698
def test_autosave_new_record_on_has_many_can_be_disabled_per_relationship
  firm = Firm.new("name" => "some firm")
  account = Account.new("credit_limit" => 1000)

  assert !account.persisted?
  firm.accounts << account

  firm.save!
  assert account.persisted?

  firm = Firm.new("name" => "some firm")
  account = Account.new("credit_limit" => 1000)

  assert !account.persisted?
  firm.unautosaved_accounts << account

  firm.save!
  assert !account.persisted?
end
test_autosave_new_record_on_has_one_can_be_disabled_per_relationship() click to toggle source
# File activerecord/test/cases/autosave_association_test.rb, line 676
def test_autosave_new_record_on_has_one_can_be_disabled_per_relationship
  firm = Firm.new("name" => "some firm")
  account = Account.new("credit_limit" => 1000)

  assert !account.persisted?
  firm.account = account
  firm.save!

  assert account.persisted?

  firm = Firm.new("name" => "some firm")
  account = Account.new("credit_limit" => 1000)

  firm.unautosaved_account = account

  assert !account.persisted?
  firm.unautosaved_account = account
  firm.save!

  assert !account.persisted?
end
test_autosave_new_record_with_after_create_callback() click to toggle source
# File activerecord/test/cases/autosave_association_test.rb, line 718
def test_autosave_new_record_with_after_create_callback
  post = PostWithAfterCreateCallback.new(title: "Captain Murphy", body: "is back")
  post.comments.build(body: "foo")
  post.save!

  assert_not_nil post.author_id
end