diff options
Diffstat (limited to 'spec/initializers/postgresql_cte_spec.rb')
-rw-r--r-- | spec/initializers/postgresql_cte_spec.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/initializers/postgresql_cte_spec.rb b/spec/initializers/postgresql_cte_spec.rb new file mode 100644 index 00000000000..66dcb905491 --- /dev/null +++ b/spec/initializers/postgresql_cte_spec.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'ActiveRecord::Relation patch for PostgreSQL WITH statements', feature_category: :database do + describe 'ActiveRecord::Relation::WithChain#recursive' do + subject(:relation) { User.with.recursive } + + it 'sets recursive value flag on the relation' do + expect(relation.recursive_value).to eq(true) + end + + it 'raises an error when #update_all is called' do + expect { relation.update_all(attribute: 42) }.to raise_exception(ActiveRecord::ReadOnlyRecord) + end + end +end |