{"version":3,"file":"skyux-router-testing.mjs","sources":["../../../../../libs/components/router/testing/src/modules/href/href-harness.ts","../../../../../libs/components/router/testing/src/modules/href/href-resolver-mock.service.ts","../../../../../libs/components/router/testing/src/modules/href/href-testing.module.ts","../../../../../libs/components/router/testing/src/modules/href/provide-href-testing.ts","../../../../../libs/components/router/testing/src/skyux-router-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyHrefHarnessFilters } from './href-harness-filters';\n\n/**\n * Allows interaction with a SkyHref directive during testing.\n */\nexport class SkyHrefHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = '.sky-href';\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyHrefHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyHrefHarnessFilters,\n  ): HarnessPredicate<SkyHrefHarness> {\n    return this.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets the href attribute of the host element.\n   */\n  public async getHref(): Promise<string | null> {\n    return await (await this.host()).getAttribute('href');\n  }\n\n  /**\n   * Gets the visible text.\n   */\n  public async getText(): Promise<string> {\n    return await this.isVisible().then(async (visible) => {\n      if (visible) {\n        return await (await this.host()).text();\n      }\n      return '';\n    });\n  }\n\n  /**\n   * Returns true if the text is visible.\n   */\n  public async isVisible(): Promise<boolean> {\n    return await (await this.host())\n      .matchesSelector('[hidden]')\n      .then((hidden) => !hidden);\n  }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { SkyHref, SkyHrefResolver } from '@skyux/router';\n\nexport const MockUserHasAccess = new InjectionToken<boolean>(\n  'MockUserHasAccess',\n);\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyHrefResolverMockService implements SkyHrefResolver {\n  constructor(@Inject(MockUserHasAccess) private userHasAccess: boolean) {}\n\n  public resolveHref(param: { url: string }): Promise<SkyHref> {\n    return Promise.resolve({\n      url: param.url,\n      userHasAccess: this.userHasAccess,\n    });\n  }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { SkyHrefModule, SkyHrefResolverService } from '@skyux/router';\n\nimport {\n  MockUserHasAccess,\n  SkyHrefResolverMockService,\n} from './href-resolver-mock.service';\n\n/**\n * Testing module for the `SkyHref` directive and route resolver.\n */\n@NgModule({\n  exports: [SkyHrefModule],\n  providers: [\n    SkyHrefResolverMockService,\n    {\n      provide: SkyHrefResolverService,\n      useExisting: SkyHrefResolverMockService,\n    },\n    {\n      provide: MockUserHasAccess,\n      useValue: true,\n    },\n  ],\n})\nexport class SkyHrefTestingModule {\n  public static with(options: {\n    userHasAccess: boolean;\n  }): ModuleWithProviders<SkyHrefTestingModule> {\n    return {\n      ngModule: SkyHrefTestingModule,\n      providers: [\n        {\n          provide: MockUserHasAccess,\n          useValue: options.userHasAccess,\n        },\n      ],\n    };\n  }\n}\n","import { Provider } from '@angular/core';\nimport { SkyHrefResolverService } from '@skyux/router';\n\nimport {\n  MockUserHasAccess,\n  SkyHrefResolverMockService,\n} from './href-resolver-mock.service';\n\n/**\n * Provides testing services for the `SkyHref` directive and route resolver.\n * @param options Set whether the user has access to the route.\n */\nexport function provideHrefTesting(options?: {\n  userHasAccess: boolean;\n}): Provider[] {\n  return [\n    SkyHrefResolverMockService,\n    {\n      provide: SkyHrefResolverService,\n      useExisting: SkyHrefResolverMockService,\n    },\n    {\n      provide: MockUserHasAccess,\n      useValue: !!options?.userHasAccess,\n    },\n  ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}