@@ -361,32 +361,35 @@ describe Crecto do
361361 end
362362 {% end % }
363363
364- it " allows nesting transactions" do
365- Repo .delete_all(Post )
366- Repo .delete_all(User )
364+ # Sqlite doesn't support nesting transactions
365+ {% unless flag?(:sqlite ) % }
366+ it " allows nesting transactions" do
367+ Repo .delete_all(Post )
368+ Repo .delete_all(User )
367369
368- insert_user = User .new
369- insert_user.name = " nested_transactions_insert_user"
370- invalid_user = User .new
371- delete_user = quick_create_user(" nested_transactions_delete_user" )
370+ insert_user = User .new
371+ insert_user.name = " nested_transactions_insert_user"
372+ invalid_user = User .new
373+ delete_user = quick_create_user(" nested_transactions_delete_user" )
372374
373- Repo .transaction! do |tx |
374- tx.insert!(insert_user)
375+ Repo .transaction! do |tx |
376+ tx.insert!(insert_user)
375377
376- expect_raises Crecto ::InvalidChangeset do
377- Repo .transaction! do |inner_tx |
378- inner_tx.delete!(delete_user)
379- inner_tx.insert!(invalid_user)
378+ expect_raises Crecto ::InvalidChangeset do
379+ Repo .transaction! do |inner_tx |
380+ inner_tx.delete!(delete_user)
381+ inner_tx.insert!(invalid_user)
382+ end
380383 end
381384 end
382- end
383385
384- # check insert happened
385- Repo .all(User , Query .where(name: " nested_transactions_insert_user" )).size.should eq 1
386+ # check insert happened
387+ Repo .all(User , Query .where(name: " nested_transactions_insert_user" )).size.should eq 1
386388
387- # check delete didn't happen
388- Repo .all(User , Query .where(name: " nested_transactions_delete_user" )).size.should eq 1
389- end
389+ # check delete didn't happen
390+ Repo .all(User , Query .where(name: " nested_transactions_delete_user" )).size.should eq 1
391+ end
392+ {% end % }
390393 end
391394 end
392395end
0 commit comments