We have a mission critical AngularJS application which we extensively test with e2e tests using Protractor/WebdriverJS. At the current state, we have ~30000 lines of existing e2e tests which are executed daily multiple times either fully or partially for multiple different reasons (e.g. daily or smoke tests).
The application itself is in the beginning stages of "migrating" to ReactJS and the biggest question our QA department is facing is whether we can keep the existing set of e2e tests. As you probably inferred from the size of the test code, we've been investing in e2e tests a lot.
We've been following Page Object pattern and try to keep the page definitions separated from the logic of the tests.
One of the issues that will arise if we try to adopt Protractor test codebase to work against a React-based app is that Protractor would not be able to "sync" with Angular on every selenium command breaking the current natural flow of the e2e tests - I would imagine we would need to put explicit and implicit waits all over the codebase to make sure desired pre-conditions are met before any actions are applied.
What are the pros and cons of adjusting the existing test codebase to work with a ReactJS based application vs starting with e2e tests from scratch with, probably, a better "React-friendly" test framework? What things we should consider to make this decision?