{"version":3,"file":"skyux-progress-indicator-testing.mjs","sources":["../../../../../libs/components/progress-indicator/testing/src/modules/progress-indicator/progress-indicator-item-harness.ts","../../../../../libs/components/progress-indicator/testing/src/modules/progress-indicator/progress-indicator-harness.ts","../../../../../libs/components/progress-indicator/testing/src/skyux-progress-indicator-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\n\nimport { SkyProgressIndicatorItemFilters } from './progress-indicator-item-harness-filters';\n\n/**\n * Harness for interacting with a progress indicator item component in tests.\n */\nexport class SkyProgressIndicatorItemHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-progress-indicator-item';\n\n  #getHeading = this.locatorFor('.sky-progress-indicator-item-heading');\n  #getIndicator = this.locatorFor('.sky-progress-indicator-status-marker');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyProgressIndicatorItemHarness` that meets certain criteria\n   */\n  public static with(\n    filters: SkyProgressIndicatorItemFilters,\n  ): HarnessPredicate<SkyProgressIndicatorItemHarness> {\n    return SkyProgressIndicatorItemHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Clicks the help inline button.\n   */\n  public async clickHelpInline(): Promise<void> {\n    await (await this.#getHelpInline()).click();\n  }\n\n  /**\n   * Gets the help inline popover content.\n   */\n  public async getHelpPopoverContent(): Promise<string | undefined> {\n    return await (await this.#getHelpInline()).getPopoverContent();\n  }\n\n  /**\n   * Gets the help inline popover title.\n   */\n  public async getHelpPopoverTitle(): Promise<string | undefined> {\n    return await (await this.#getHelpInline()).getPopoverTitle();\n  }\n\n  /**\n   * Gets the progress indicator item's title text.\n   */\n  public async getTitle(): Promise<string> {\n    const title = await (await this.#getHeading()).text();\n    return title.substring(title.indexOf('-') + 1).trim();\n  }\n\n  /**\n   * Whether the indicator item step is completed.\n   */\n  public async isCompleted(): Promise<boolean> {\n    return await (\n      await this.#getIndicator()\n    ).hasClass('sky-progress-indicator-status-marker-status-complete');\n  }\n\n  async #getHelpInline(): Promise<SkyHelpInlineHarness> {\n    const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n\n    if (harness) {\n      return harness;\n    }\n\n    throw Error('No help inline found.');\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyProgressIndicatorFilters } from './progress-indicator-harness-filters';\nimport { SkyProgressIndicatorItemHarness } from './progress-indicator-item-harness';\nimport { SkyProgressIndicatorItemFilters } from './progress-indicator-item-harness-filters';\n\n/**\n * Harness for interacting with a progress indicator component in tests.\n */\nexport class SkyProgressIndicatorHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-progress-indicator';\n\n  #getProgressIndicator = this.locatorFor('.sky-progress-indicator');\n  #getResetButton = this.locatorFor(\n    'sky-progress-indicator-reset-button > .sky-btn-link',\n  );\n  #getTitle = this.locatorFor('.sky-progress-indicator-title');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyProgressIndicatorHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyProgressIndicatorFilters,\n  ): HarnessPredicate<SkyProgressIndicatorHarness> {\n    return SkyProgressIndicatorHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Clicks the reset button.\n   */\n  public async clickResetButton(): Promise<void> {\n    try {\n      await (await this.#getResetButton()).click();\n    } catch {\n      throw new Error('Unable to find reset button.');\n    }\n  }\n\n  /**\n   * Gets a specific progress indicator item based on the filter criteria.\n   * @param filter The filter criteria.\n   */\n  public async getItem(\n    filter: SkyProgressIndicatorItemFilters,\n  ): Promise<SkyProgressIndicatorItemHarness> {\n    return await this.locatorFor(\n      SkyProgressIndicatorItemHarness.with(filter),\n    )();\n  }\n\n  /**\n   * Gets an array of progress indicator items based on the filter criteria.\n   * If no filter is provided, returns all progress indicator items.\n   * @param filters The optional filter criteria.\n   */\n  public async getItems(\n    filters?: SkyProgressIndicatorItemFilters,\n  ): Promise<SkyProgressIndicatorItemHarness[]> {\n    return await this.locatorForAll(\n      SkyProgressIndicatorItemHarness.with(filters || {}),\n    )();\n  }\n\n  /**\n   * Gets the progress indicator title.\n   */\n  public async getTitle(): Promise<string> {\n    try {\n      return (await (await this.#getTitle()).text()).trim();\n    } catch {\n      throw new Error('Unable to find title.');\n    }\n  }\n\n  /**\n   * Whether the progress indicator is passive.\n   */\n  public async isPassive(): Promise<boolean> {\n    return await (\n      await this.#getProgressIndicator()\n    ).hasClass('sky-progress-indicator-passive');\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}