database_cleaner-active_record icon indicating copy to clipboard operation
database_cleaner-active_record copied to clipboard

truncation and deletion doesn't call after_commit

Open tomocrafter opened this issue 1 year ago • 0 comments

Currently, I am using the deletion strategy in request testing. With the transaction strategy, I cannot access the models that the controller creates during the test (possibly because it's in a different thread?).

The models created during the test have an after_commit callback set, which includes a process to delete the index from Elasticsearch when the model is deleted. However, database_cleaner does perform the deletion but it does not call the after_commit callback.

https://github.com/DatabaseCleaner/database_cleaner-active_record/blob/1b4b4785da41ee910baed193da5d9d5f06a8ddbc/lib/database_cleaner/active_record/deletion.rb#L26

How can I get the after_commit callback to be called, or make the request test work with the transaction strategy?

Thank you.

tomocrafter avatar Jun 06 '23 13:06 tomocrafter