Sha256: 2e0463ac3d05fc387ef79b7fd00405ed93635f1ee2a52a034eed2da228b80158
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
# frozen_string_literal: true # encoding: utf-8 require 'spec_helper' require 'mongoid/association/referenced/has_many_models' describe 'has_many associations' do context 'destroying parent in transaction with dependent child' do require_transaction_support let(:company) { HmmCompany.create! } let(:address) { HmmAddress.create!(company: company) } before do Company.delete_all Address.delete_all end context 'dependent: :destroy' do before do HmmCompany.class_eval do has_one :address, class_name: 'HmmAddress', dependent: :destroy end end it 'destroys' do address HmmCompany.count.should == 1 HmmAddress.count.should == 1 company.with_session do |session| session.with_transaction do company.destroy! end end HmmCompany.count.should == 0 HmmAddress.count.should == 0 end end context 'dependent: :restrict_with_error' do before do HmmCompany.class_eval do has_one :address, class_name: 'HmmAddress', dependent: :restrict_with_error end end it 'destroys' do address HmmCompany.count.should == 1 HmmAddress.count.should == 1 lambda do company.with_session do |session| session.with_transaction do company.destroy! end end end.should raise_error(Mongoid::Errors::DocumentNotDestroyed) HmmCompany.count.should == 1 HmmAddress.count.should == 1 end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongoid-7.2.0.rc1 | spec/integration/associations/has_many_spec.rb |