Skip to content

bug(MatSnackBarHarness): Testing a snack bar with a duration #19290

@ersimont

Description

@ersimont

Reproduction

https://stackblitz.com/edit/components-issue-v9512z?file=src%2Fapp%2Fexample-test.spec.ts

Steps to reproduce:

  1. Try to e.g. await harness.getMessage() a snack bar that was opened with a duration. You can see this simply by following the link above, which will run that automatically.

Expected Behavior

The harness returns the message in the snack bar.

Actual Behavior

The test hangs for the duration that the snack bar is open, then fails with "Failed to find element".

Environment

  • Angular: 9.1.5
  • CDK/Material: 9.2.2
  • Browser(s): Chrome
  • Operating System (e.g. Windows, macOS, Ubuntu): Windows

Commentary

Using the same test code, I can test a snack bar that was opened without a duration. But if my production code does use a duration it does not appear possible to test it with the harness. Am I missing something? I assume assigning a duration is a common use-case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3An issue that is relevant to core functions, but does not impede progress. Important, but not urgentarea: material/snack-bar

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions