test-utils icon indicating copy to clipboard operation
test-utils copied to clipboard

Bug: Props in child component defined in mixin are missing with `shallowMount` on @vue/compat

Open cody-collins opened this issue 2 years ago • 5 comments

Describe the bug With shallowMount on Vue 3 + @vue/compat, properties of a child component are undefined when using them through a mixin.

If the property is moved from the mixin directly to the component, then the property is defined.

Also if the shallowMount is switched to mount, the property is defined.

To Reproduce

I created a demo repo where this issue can be reproduced, with tags for various working and not working states. It includes the following important files:

git clone https://github.com/cody-collins/vue-compat-mixin-demo.git
cd vue-compat-mixin-demo
npm install
npm test

And the following tags:

Expected behavior The second assertion should pass in the broken case

cody-collins avatar Feb 09 '24 18:02 cody-collins

Hi @cody-collins

Thanks for the repros. compat mode is the realm of @xanf , so let's ping him

cexbrayat avatar Feb 12 '24 13:02 cexbrayat

I do not doubt this is a bug, but I suspect fixing this will be quite complex. It may be a good time to attempt to move your test to use mount, which is a lot less complexity and more in parity with both Test Utils v1 and production in general.

lmiller1990 avatar Feb 14 '24 23:02 lmiller1990