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

Can't Handle Functional Components #49

Open
candyapplecorn opened this issue Mar 9, 2018 · 6 comments
Open

Can't Handle Functional Components #49

candyapplecorn opened this issue Mar 9, 2018 · 6 comments

Comments

@candyapplecorn
Copy link
Contributor

I'm submitting a ... (check one with "x")

[ x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request

Current behavior
functional components error out with error ‘No script available to transform’.

Expected behavior
Should not try to read a script tag from a functional component since they don't have script tags

Minimal reproduction of the problem with instructions

Try to test a functional component with jest.

What is the motivation / use case for changing the behavior?
My build system won't let me push my code because these functional components are failing tests

Please tell us about your environment:
node version 8.9.4 latest jest and related utils, max osx

  • jest-vue-preprocessor: 1.1.X
    The latest version

  • Node version : [ OSX | Linux | Windows ]
    8.9.4

  • Platform: [ OSX | Linux | Windows ]
    osx

@ronald-d-rogers
Copy link

We're having the same issue with single page components that do not have script tags.

@TakahiRoyte
Copy link

@ronald-d-rogers
I faced the same problem when I was integrating tests on the project based on nuxt-community/starter-template, where AppLogo.vue does not have <script></script>.

Adding empty <script></script> was needed to avoid this error.

@ddosdor
Copy link

ddosdor commented Jun 14, 2018

@TakahiRoyte unfortunately, it did not help me :( When I add empty <string></string>, it receives an error:

  ● Test suite failed to run

    TypeError: Path must be a string. Received undefined

      at extractScriptContent (node_modules/jest-vue-preprocessor/index.js:34:43)
      at Object.process (node_modules/jest-vue-preprocessor/index.js:63:21)

@gangsthub
Copy link

Solved by @TakahiRoyte's solution. Remember that is needed in every component, even children components.

@daltojohnso
Copy link

@ddosdor -- in case you haven't yet found a solution, adding export default {}; to my empty script tag fixed that error.

@ewmiller
Copy link

ewmiller commented Aug 8, 2018

Confirmed, this fixed it for me:

<script>
export default {};
</script>

Thank you @TakahiRoyte and @daltojohnso!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants