Class ComponentHarnessSuperclass

Provides some shorthand utilities that component harnesses may want.

Hierarchy

  • ContentContainerComponentHarness
    • ComponentHarnessSuperclass

Constructors

  • Parameters

    • locatorFactory: LocatorFactory

    Returns ComponentHarnessSuperclass

Properties

locatorFactory: LocatorFactory

Methods

  • Gets a LocatorFactory for the document root element. This factory can be used to create locators for elements that a component creates outside of its own root element. (e.g. by appending to document.body).

    Returns LocatorFactory

  • Flushes change detection and async tasks in the Angular zone. In most cases it should not be necessary to call this manually. However, there may be some edge cases where it is needed to fully flush animation events.

    Returns Promise<void>

  • Parameters

    • selector: string

    Returns Promise<HarnessLoader[]>

  • Type Parameters

    • T extends ComponentHarness

    Parameters

    • query: HarnessQuery<T>

    Returns Promise<T[]>

  • Searches for all instances of the component corresponding to the given harness type under the document root element, and returns a list ComponentHarness for each instance.

    Type Parameters

    • T extends ComponentHarness

    Parameters

    • predicate: HarnessQuery<T>

    Returns Promise<T[]>

  • Parameters

    • selector: string

    Returns Promise<HarnessLoader>

  • Type Parameters

    • T extends ComponentHarness

    Parameters

    • query: HarnessQuery<T>

    Returns Promise<T>

  • Type Parameters

    • T extends ComponentHarness

    Parameters

    • query: HarnessQuery<T>

    Returns Promise<null | T>

  • Gets the root harness loader from which to start searching for content contained by this harness.

    Returns Promise<HarnessLoader>

  • Searches for an instance of the component corresponding to the given harness type under the document root element, and returns a ComponentHarness for that instance. If multiple matching components are found, a harness for the first one is returned. If no matching component is found, an error is thrown.

    Type Parameters

    • T extends ComponentHarness

    Parameters

    • predicate: HarnessQuery<T>

    Returns Promise<T>

  • Type Parameters

    • T extends ComponentHarness

    Parameters

    • query: HarnessQuery<T>

    Returns Promise<boolean>

  • Gets a Promise for the TestElement representing the host element of the component.

    Returns Promise<TestElement>

  • Creates an asynchronous locator function that can be used to find a ComponentHarness instance or element under the host element of this ComponentHarness.

    Type Parameters

    • T extends (string | HarnessQuery<any>)[]

    Parameters

    • Rest ...queries: T

      A list of queries specifying which harnesses and elements to search for:

      • A string searches for elements matching the CSS selector specified by the string.
      • A ComponentHarness constructor searches for ComponentHarness instances matching the given class.
      • A HarnessPredicate searches for ComponentHarness instances matching the given predicate.

    Returns AsyncFactoryFn<LocatorFnResult<T>>

    An asynchronous locator function that searches for and returns a Promise for the first element or harness matching the given search criteria. Matches are ordered first by order in the DOM, and second by order in the queries list. If no matches are found, the Promise rejects. The type that the Promise resolves to is a union of all result types for each query.

    e.g. Given the following DOM: <div id="d1" /><div id="d2" />, and assuming DivHarness.hostSelector === 'div':

    • await ch.locatorFor(DivHarness, 'div')() gets a DivHarness instance for #d1
    • await ch.locatorFor('div', DivHarness)() gets a TestElement instance for #d1
    • await ch.locatorFor('span')() throws because the Promise rejects.
  • Creates an asynchronous locator function that can be used to find ComponentHarness instances or elements under the host element of this ComponentHarness.

    Type Parameters

    • T extends (string | HarnessQuery<any>)[]

    Parameters

    • Rest ...queries: T

      A list of queries specifying which harnesses and elements to search for:

      • A string searches for elements matching the CSS selector specified by the string.
      • A ComponentHarness constructor searches for ComponentHarness instances matching the given class.
      • A HarnessPredicate searches for ComponentHarness instances matching the given predicate.

    Returns AsyncFactoryFn<LocatorFnResult<T>[]>

    An asynchronous locator function that searches for and returns a Promise for all elements and harnesses matching the given search criteria. Matches are ordered first by order in the DOM, and second by order in the queries list. If an element matches more than one ComponentHarness class, the locator gets an instance of each for the same element. If an element matches multiple string selectors, only one TestElement instance is returned for that element. The type that the Promise resolves to is an array where each element is the union of all result types for each query.

    e.g. Given the following DOM: <div id="d1" /><div id="d2" />, and assuming DivHarness.hostSelector === 'div' and IdIsD1Harness.hostSelector === '#d1':

    • await ch.locatorForAll(DivHarness, 'div')() gets [ DivHarness, // for #d1 TestElement, // for #d1 DivHarness, // for #d2 TestElement // for #d2 ]
    • await ch.locatorForAll('div', '#d1')() gets [ TestElement, // for #d1 TestElement // for #d2 ]
    • await ch.locatorForAll(DivHarness, IdIsD1Harness)() gets [ DivHarness, // for #d1 IdIsD1Harness, // for #d1 DivHarness // for #d2 ]
    • await ch.locatorForAll('span')() gets [].
  • Creates an asynchronous locator function that can be used to find a ComponentHarness instance or element under the host element of this ComponentHarness.

    Type Parameters

    • T extends (string | HarnessQuery<any>)[]

    Parameters

    • Rest ...queries: T

      A list of queries specifying which harnesses and elements to search for:

      • A string searches for elements matching the CSS selector specified by the string.
      • A ComponentHarness constructor searches for ComponentHarness instances matching the given class.
      • A HarnessPredicate searches for ComponentHarness instances matching the given predicate.

    Returns AsyncFactoryFn<null | LocatorFnResult<T>>

    An asynchronous locator function that searches for and returns a Promise for the first element or harness matching the given search criteria. Matches are ordered first by order in the DOM, and second by order in the queries list. If no matches are found, the Promise is resolved with null. The type that the Promise resolves to is a union of all result types for each query or null.

    e.g. Given the following DOM: <div id="d1" /><div id="d2" />, and assuming DivHarness.hostSelector === 'div':

    • await ch.locatorForOptional(DivHarness, 'div')() gets a DivHarness instance for #d1
    • await ch.locatorForOptional('div', DivHarness)() gets a TestElement instance for #d1
    • await ch.locatorForOptional('span')() gets null.
  • Waits for all scheduled or running async tasks to complete. This allows harness authors to wait for async tasks outside of the Angular zone.

    Returns Promise<void>