Skip to content

Unable to run unittest that contain ValidationRules #94

@JordyThien

Description

@JordyThien

I'm submitting a bug report

  • Library Version:
    1.0.0

Please tell us about your environment:

  • Operating System:
    Windows 10

  • Node Version:
    V10.16.0

  • NPM Version:
    6.9.0
  • JSPM OR Webpack AND Version
    webpack 4.34.0
  • Browser:
    n/a

  • Language:
    TypeScript 3.1.2

Current behavior:
When running a test that tests a component which uses ValidationRules, the following error pops up:

    ------------------------------------------------
    Inner Error:
    Message: Unable to parse accessor function:
    function (a) {
          /* istanbul ignore next */
          cov_q8rv1u7dl.f[2]++;
          cov_q8rv1u7dl.s[5]++;
          return a.message;
        }
    Inner Error Stack:
    Error: Unable to parse accessor function:
    function (a) {
          /* istanbul ignore next */
          cov_q8rv1u7dl.f[2]++;
          cov_q8rv1u7dl.s[5]++;
          return a.message;
        }

      at getAccessorExpression (node_modules/aurelia-validation/dist/commonjs/aurelia-validation.js:113:15)
      at PropertyAccessorParser.Object.<anonymous>.PropertyAccessorParser.parse (node_modules/aurelia-validation/dist/commonjs/aurelia-validation.js:95:28)
      at FluentEnsure.Object.<anonymous>.FluentEnsure.ensure (node_modules/aurelia-validation/dist/commonjs/aurelia-validation.js:1703:42)
      at Function.Object.<anonymous>.ValidationRules.ensure (node_modules/aurelia-validation/dist/commonjs/aurelia-validation.js:1770:58)
      at new App (src/app.ts:219:42)
      at Object.invoke (node_modules/aurelia-dependency-injection/dist/commonjs/aurelia-dependency-injection.js:379:24)
      at InvocationHandler.Object.<anonymous>.InvocationHandler.invoke (node_modules/aurelia-dependency-injection/dist/commonjs/aurelia-dependency-injection.js:352:28)
      at Container.Object.<anonymous>.Container.invoke (node_modules/aurelia-dependency-injection/dist/commonjs/aurelia-dependency-injection.js:538:28)
      at ProviderResolver.get (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:2305:72)
      at Container.Object.<anonymous>.Container.get (node_modules/aurelia-dependency-injection/dist/commonjs/aurelia-dependency-injection.js:493:28)
      End Inner Error Stack
      ------------------------------------------------
      at new AggregateError (node_modules/aurelia-pal/dist/commonjs/aurelia-pal.js:37:11)
      at Container.Object.<anonymous>.Container.invoke (node_modules/aurelia-dependency-injection/dist/commonjs/aurelia-dependency-injection.js:541:19)
      at ProviderResolver.get (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:2305:72)
      at Container.Object.<anonymous>.Container.get (node_modules/aurelia-dependency-injection/dist/commonjs/aurelia-dependency-injection.js:493:28)
      at Container.elementContainerGet [as get] (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:2360:15)
      at HtmlBehaviorResource.create (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:4379:56)
      at applyInstructions (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:2470:31)
      at ViewFactory.create (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:2691:7)
      at TemplatingEngine.enhance (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:5227:24)
      at node_modules/aurelia-framework/dist/commonjs/aurelia-framework.js:176:28

I have searched for a proper way to unittest this, but I'm unable to find a solution. Hopefully the community can help me out.

What is the expected behavior?
A possibility to run unittest that contains ValidationRules without it throwing an exception.

I have created a public repo where you can find all the files necessary: https://github.com/JordyThien/aurelia-unittest-validation-rules
Basically I created a new aurelia project using the aurelia CLI: au new aurelia-testing --unattended --select typescript,jest,vscode --here

I've updated the https://github.com/JordyThien/aurelia-unittest-validation-rules/blob/master/src/app.ts to contain ValidationRules
And I updated the spec to add aurelia-validation
Where running the tests using au test the exception will be thrown.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions