angular/integration/cli-elements-universal
Paul Gschwendtner 2664bc2b3e test: switch integration tests from puppeteer/webdriver-manager to Bazel-managed chromium (#44238)
Switches the integration tests form Puppeteer/webdriver-manager to the
Bazel-managed Chromium/Chromedriver. This is now possible with the new
integration test rule for which we can consult the
`dev-infra/bazel/browsers` toolchain and setup environment variables.
This has been configured already in a previous commit.

This commit also includes some additional small cleanups necessary for
the new integration test rule:

* The `test.sh` scripts have been renamed as they would conflict with
  the `test.sh` scripts generated by the integration test rule.
  Previously this was not an issue because tests were declared at a
  higher-level. As mentioned though this has other downsides and it is
  trivial to rename the file.

* Related to the point above, since tests are now declared witin the
  actual test folder (for perf e.g.), `package.json` files setting
  `"type": "module"` will accidentally cause the `nodejs_test`-generated
  files to be considered ESM. This is not correct and likely needs to be
  fixed upstream in `rules_nodejs` where explicit `.cjs` extensions
  should be used. This is only happening **once** in the `injectable-def`
  test so it is acceptable doing that for now.

PR Close #44238
2021-12-08 13:42:42 -05:00
..
e2e test: switch integration tests from puppeteer/webdriver-manager to Bazel-managed chromium (#44238) 2021-12-08 13:42:42 -05:00
src test: remove document-register-element from elements tests (#43975) 2021-10-29 15:43:55 -07:00
.browserslistrc test: update browserslist configuration to replace Angular CLI projects (#43417) 2021-09-24 10:49:39 -07:00
.editorconfig ci: add integration test for Angular Elemens with SSR (#40559) 2021-02-12 08:55:25 -08:00
.gitignore ci: add integration test for Angular Elemens with SSR (#40559) 2021-02-12 08:55:25 -08:00
angular.json ci: add integration test for Angular Elemens with SSR (#40559) 2021-02-12 08:55:25 -08:00
BUILD.bazel build: setup test targets for integration tests with new rule (#44238) 2021-12-08 13:42:41 -05:00
karma.conf.js test: switch integration tests from puppeteer/webdriver-manager to Bazel-managed chromium (#44238) 2021-12-08 13:42:42 -05:00
package.json test: switch integration tests from puppeteer/webdriver-manager to Bazel-managed chromium (#44238) 2021-12-08 13:42:42 -05:00
README.md ci: add integration test for Angular Elemens with SSR (#40559) 2021-02-12 08:55:25 -08:00
tsconfig.app.json ci: add integration test for Angular Elemens with SSR (#40559) 2021-02-12 08:55:25 -08:00
tsconfig.json ci: add integration test for Angular Elemens with SSR (#40559) 2021-02-12 08:55:25 -08:00
tsconfig.server.json ci: add integration test for Angular Elemens with SSR (#40559) 2021-02-12 08:55:25 -08:00
tsconfig.spec.json ci: add integration test for Angular Elemens with SSR (#40559) 2021-02-12 08:55:25 -08:00
tslint.json ci: add integration test for Angular Elemens with SSR (#40559) 2021-02-12 08:55:25 -08:00
yarn.lock test: switch integration tests from puppeteer/webdriver-manager to Bazel-managed chromium (#44238) 2021-12-08 13:42:42 -05:00

CliElementsUniversal

This project tests the integration of Angular Elements (@angular/elements) with SSR (via @angular/platform-server).

The project was generated with Angular CLI version 11.1.4. Support for Angular Elements was added with ng add @angular/elements and for SSR with ng generate app-shell.

What this project tests is that an app can be successfully SSR'd even when it uses @angular/elements, which relies on certain DOM built-ins being available as soon as it is imported. This is tested by generating the app-shell (using ng run cli-elements-universal:app-shell:production) and then verifying that the index.html file was generated correctly. (See, the test-ssr script in package.json.)

NOTE: Currently, domino (the server-side DOM implementation used by @angular/platform-server) does not support Web Components, so the Custom Elements functionality does not work on the server.