angular-cn/aio/content/examples/upgrade-phonecat-2-hybrid
George Kalpakas 5a7ac8c3b9 build(docs-infra): avoid Karma error when loading scripts from code.angularjs.org (#36015)
In the example apps used in the `ngUpgrade` guide, the AngularJS files
are loaded in `index.html` from `https://code.angularjs.org/`. Latest
browsers prevent loading the scripts from a page running on localhost
due to CORS:

```
Access to script at 'https://code.angularjs.org/1.5.5/angular.js' from origin
'http://localhost:9876' has been blocked by CORS policy: No 'Access-Control-Allow-Origin'
header is present on the requested resource.
```

NOTE:
Loading the files from `code.angularjs.org` is not mentioned in the
guide, therefore it is not needed to mention this config change there.

PR Close #36015
2020-03-18 10:00:01 -07:00
..
2019-03-14 11:38:12 -04:00

This is the Angular Phonecat application adjusted to fit our boilerplate project structure.

The following changes from vanilla Phonecat are applied:

  • Karma config for unit tests is in karma.conf.ajs.js because the boilerplate Karma config is not compatible with the way AngularJS tests need to be run. The shell script run-unit-tests.sh can be used to run the unit tests.
  • Also for the Karma shim, there is a karma-test-shim.1.js file which isn't used but is shown in the test appendix.
  • Instead of using Bower, AngularJS and its dependencies are fetched from a CDN in index.html and karma.conf.ajs.js.
  • E2E tests have been moved to the parent directory, where run-e2e-tests can discover and run them along with all the other examples.
  • Most of the phone JSON and image data removed in the interest of keeping repo weight down. Keeping enough to retain testability of the app.

Running the app

Start like any example

npm run start

Running unit tests

./run-unit-tests.sh

Running E2E tests

Like for any example (at the project root):

gulp run-e2e-tests --filter=phonecat-2