Skip to content

Commit

Permalink
feat(material/slide-toggle): Add disabled predicate to MatSlideTogg…
Browse files Browse the repository at this point in the history
…leHarness

- Add `disabled` predicate to MatMdcSlideToggleHarness

- Update tests for new `disabled` predicate

- Update golden
  • Loading branch information
richieforeman committed Apr 12, 2022
1 parent 87e0dc7 commit 3f0b534
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ export class MatSlideToggleHarness extends _MatSlideToggleHarnessBase {
options.checked,
async (harness, checked) => (await harness.isChecked()) == checked,
)
.addOption(
'disabled',
options.disabled,
async (harness, disabled) => (await harness.isDisabled()) == disabled,
)
);
}

Expand Down
12 changes: 12 additions & 0 deletions src/material/slide-toggle/testing/shared.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,18 @@ export function runHarnessTests(
expect(await slideToggles[0].getLabelText()).toBe('First');
});

it('should load slide-toggle with disabled=true predicate', async () => {
const slideToggles = await loader.getAllHarnesses(slideToggleHarness.with({disabled: true}));
expect(slideToggles.length).toBe(1);
expect(await slideToggles[0].isDisabled()).toBe(true);
});

it('should load slide-toggle with disabled=false predicate', async () => {
const slideToggles = await loader.getAllHarnesses(slideToggleHarness.with({disabled: false}));
expect(slideToggles.length).toBe(1);
expect(await slideToggles[0].isDisabled()).toBe(false);
});

it('should load slide-toggle with regex label match', async () => {
const slideToggles = await loader.getAllHarnesses(slideToggleHarness.with({label: /^s/i}));
expect(slideToggles.length).toBe(1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,6 @@ export interface SlideToggleHarnessFilters extends BaseHarnessFilters {
name?: string;
/** Only find instances with the given checked value. */
checked?: boolean;
/** Only find instances that are disabled */
disabled?: boolean;
}
5 changes: 5 additions & 0 deletions src/material/slide-toggle/testing/slide-toggle-harness.ts
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,11 @@ export class MatSlideToggleHarness extends _MatSlideToggleHarnessBase {
options.checked,
async (harness, checked) => (await harness.isChecked()) == checked,
)
.addOption(
'disabled',
options.disabled,
async (harness, disabled) => (await harness.isDisabled()) == disabled,
)
);
}

Expand Down
1 change: 1 addition & 0 deletions tools/public_api_guard/material/slide-toggle-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ export abstract class _MatSlideToggleHarnessBase extends ComponentHarness {
// @public
export interface SlideToggleHarnessFilters extends BaseHarnessFilters {
checked?: boolean;
disabled?: boolean;
label?: string | RegExp;
name?: string;
}
Expand Down

0 comments on commit 3f0b534

Please sign in to comment.