database_cleaner-active_record
database_cleaner-active_record copied to clipboard
truncation and deletion doesn't call after_commit
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.