load("//tools:defaults.bzl", "ts_library")
load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test")

ts_library(
    name = "mocks",
    testonly = 1,
    srcs = [
        "mocks.ts",
    ],
    deps = [
        "//packages:types",
        "//packages/compiler",
        "//packages/compiler-cli",
        "//packages/compiler-cli/test:test_utils",
        "//packages/core",
    ],
)

# check_types_spec
ts_library(
    name = "check_types_lib",
    testonly = 1,
    srcs = ["check_types_spec.ts"],
    deps = [
        ":mocks",
        "//packages/compiler-cli",
        "//packages/compiler-cli/test:test_utils",
    ],
)

jasmine_node_test(
    name = "check_types",
    bootstrap = ["angular/tools/testing/init_node_spec.js"],
    data = [
        "//packages/common:npm_package",
        "//packages/core:npm_package",
    ],
    deps = [
        ":check_types_lib",
        "//packages/core",
        "//tools/testing:node",
    ],
)

# expression_diagnostics_spec
ts_library(
    name = "expression_diagnostics_lib",
    testonly = 1,
    srcs = ["expression_diagnostics_spec.ts"],
    deps = [
        ":mocks",
        "//packages/compiler",
        "//packages/compiler-cli",
        "//packages/compiler-cli/test:test_utils",
        "//packages/language-service",
    ],
)

jasmine_node_test(
    name = "expression_diagnostics",
    bootstrap = ["angular/tools/testing/init_node_spec.js"],
    data = [
        "//packages/common:npm_package",
        "//packages/core:npm_package",
        "//packages/forms:npm_package",
    ],
    deps = [
        ":expression_diagnostics_lib",
        "//packages/core",
        "//tools/testing:node",
    ],
)

# typescript_symbols_spec
ts_library(
    name = "typescript_symbols_lib",
    testonly = 1,
    srcs = ["typescript_symbols_spec.ts"],
    deps = [
        ":mocks",
        "//packages/compiler",
        "//packages/compiler-cli",
        "//packages/compiler-cli/test:test_utils",
        "//packages/compiler/test:test_utils",
        "//packages/language-service",
    ],
)

jasmine_node_test(
    name = "typescript_symbols",
    bootstrap = ["angular/tools/testing/init_node_spec.js"],
    data = [
    ],
    deps = [
        ":typescript_symbols_lib",
        "//packages/core",
        "//tools/testing:node",
    ],
)

# typescript_version_spec
ts_library(
    name = "typescript_version_lib",
    testonly = 1,
    srcs = ["typescript_version_spec.ts"],
    deps = [
        "//packages/compiler-cli",
        "//packages/compiler-cli/test:test_utils",
    ],
)

jasmine_node_test(
    name = "typescript_version",
    bootstrap = ["angular/tools/testing/init_node_spec.js"],
    data = [
    ],
    deps = [
        ":typescript_version_lib",
        "//tools/testing:node",
    ],
)
