While the purpose of unit tests is to verify units of code in isolation, end-to-end (E2E) tests are intended to validate the application as a whole. Those tests can go to various depths. Their scope may be limited to the client application itself. In such a case, any distant service used by the application needs be mocked one way or another.
They can also cover the whole system. Most of the time, this means that the services backing the application must be deployed to a test location and initialized with well-controlled test data.
Whatever your end-to-end test strategy is, the technology stays pretty much the same. In this section, we will see how to leverage Protractor to write functional test scenarios for our contact management ...