2019-11-01 18:17:10 +00:00
|
|
|
load("//tools:defaults.bzl", "protractor_web_test_suite", "ts_library")
|
2019-02-01 13:46:38 +00:00
|
|
|
|
2022-07-19 09:52:03 +00:00
|
|
|
def example_test(name, srcs, server, data = [], deps = [], use_legacy_webdriver_types = True, **kwargs):
|
|
|
|
|
ts_deps = [
|
2022-07-27 08:03:49 +00:00
|
|
|
"@npm//@angular/build-tooling/bazel/benchmark/driver-utilities",
|
2022-07-19 09:52:03 +00:00
|
|
|
"//packages/private/testing",
|
|
|
|
|
"@npm//@types/selenium-webdriver",
|
|
|
|
|
"@npm//protractor",
|
|
|
|
|
] + deps
|
|
|
|
|
|
|
|
|
|
# Reliance on the Control Flow in Selenium Webdriver is not recommended long-term,
|
|
|
|
|
# especially with the deprecation of Protractor. New tests should not use the legacy
|
|
|
|
|
# webdriver types but rather use the actual `@types/jasmine` types.
|
|
|
|
|
if use_legacy_webdriver_types:
|
|
|
|
|
ts_deps.append("@npm//@types/jasminewd2")
|
|
|
|
|
|
2019-02-01 13:46:38 +00:00
|
|
|
ts_library(
|
|
|
|
|
name = "%s_lib" % name,
|
|
|
|
|
testonly = True,
|
|
|
|
|
srcs = srcs,
|
|
|
|
|
tsconfig = "//modules/playground:tsconfig-e2e.json",
|
2022-07-19 09:52:03 +00:00
|
|
|
deps = ts_deps,
|
2019-02-01 13:46:38 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
protractor_web_test_suite(
|
|
|
|
|
name = "protractor_tests",
|
2019-07-24 15:52:26 +00:00
|
|
|
data = data,
|
2019-02-01 13:46:38 +00:00
|
|
|
on_prepare = "//modules/playground/e2e_test:start-server.js",
|
|
|
|
|
server = server,
|
|
|
|
|
deps = [
|
|
|
|
|
":%s_lib" % name,
|
2019-02-20 17:54:42 +00:00
|
|
|
"@npm//selenium-webdriver",
|
|
|
|
|
"@npm//yargs",
|
|
|
|
|
"@npm//source-map",
|
2019-02-01 13:46:38 +00:00
|
|
|
],
|
2019-02-08 00:02:25 +00:00
|
|
|
**kwargs
|
2019-02-01 13:46:38 +00:00
|
|
|
)
|