I haven't found a good way of doing this so hoping someone has some ideas. Is there any way to seed the database with test data before running a E2E Protractor test?
Do people do this or do they just mock out the back end? Mocking out the back end for me is not an option so would appreciate ideas on how to seed the database. There are a few solutions out there using node but nothing conclusive.
The whole point of E2E testing for my case would be to go to the DB level
Thanks
Being in a NodeJs environment, you can connect to the database directly from Protractor, but I wouldn't go down that route. You'll have to update your SQL-setup-script along with your changes to your back-end.
There are other ways:
- Use your existing REST facade to populate your database - register a user, connect with another user, etc. If you set-up each of your tests with unique data you would be able to run them simultaneously that way.
- Expose to your test environment a special REST point that does all the clearing/setting-up for you between tests.
You can fire REST calls directly from the Protractor environment or use your browser for that.