This week has been an interesting week as it was mostly debugging and fixing tests.
Our rails project runs on Rails 4.2 and we are now working n moving to Rails 5 on the sideline.
It was not obvious at first. However I was debugging the code and realize that we don’t properly destroy the CkEditor instance upon test completion.
As a result old CkEditor instances are still executed after we have cleared the DOM. Therefore we had to change the Jasmine tests to make sure the instance is properly destroyed.
The buggy behavior was in the code, we simply exit the destroy method if the CkEditor instance is not created. However because of that the CkEditor instance will still get created asynchronously.
To resolve it, in the destroy method, I wait until the CkEditor instance is ready, and then call destroy the instance.