Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: $instanceValue$ undefined in unit tests with ion-item #30136

Open
3 tasks done
RasmusKjeldgaard opened this issue Jan 16, 2025 · 0 comments
Open
3 tasks done

bug: $instanceValue$ undefined in unit tests with ion-item #30136

RasmusKjeldgaard opened this issue Jan 16, 2025 · 0 comments
Labels

Comments

@RasmusKjeldgaard
Copy link

RasmusKjeldgaard commented Jan 16, 2025

Prerequisites

Ionic Framework Version

v8.x

Current Behavior

When running unit tests with any Angular-component that has an ion-item in its template, I am seeing TypeError: Cannot read properties of undefined (reading '$instanceValues$').

The issue only occurs if the currently newest version of @stencil/core (v4.23.2) is installed. That version is only possible to install with Ionic Angular v8.2.9 or lower, because this PR (released in v8.3.0) pins the stencil dependency to v4.20.0 for unrelated reasons.

The issue therefore currently surfaces for version v8.2.9 and below, and I suspect this issue will re-surface in a future version once the version pinning is relaxed again.

Expected Behavior

I expect no errors to be thrown by the component under test.

Steps to Reproduce

Following steps was reproduced here: https://github.com/RasmusKjeldgaard/item-instance-value-repro

  1. Create a blank starter app with @ionic/[email protected] and @stencil/[email protected]
  2. Replace the app component template contents with <ion-item></ion-item>.
  3. Edit the spec file to run multiple tests, e.g. repeat expect(app).toBeTruthy(); 5-10 times.
    a. Important: I can only reproduce the error when a test suite contains multiple tests running after each other.
  4. run npm run test and see test succeeding, but often multiple TypeError: Cannot read properties of undefined (reading '$instanceValues$') will be thrown.
  5. If no errors are observed, try re-running the tests.

Code Reproduction URL

https://github.com/RasmusKjeldgaard/item-instance-value-repro

Ionic Info

Ionic:

Ionic CLI : 7.2.0
Ionic Framework : @ionic/angular 8.2.7
@angular-devkit/build-angular : 18.2.12
@angular-devkit/schematics : 18.2.12
@angular/cli : 18.2.12
@ionic/angular-toolkit : 12.1.1

Additional Information

No response

@ionitron-bot ionitron-bot bot added the triage label Jan 16, 2025
@RasmusKjeldgaard RasmusKjeldgaard changed the title bug: $instanceValue$ undefined in unit tests bug: $instanceValue$ undefined in unit tests with ion-item Jan 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant