0
votes

I test React components with Mocha. Some of these components are connected to react-apollo store. So, I need to use GraphQL queries and mutations.

I use mocha-graphql-register. With this library, Mocha see GraphQl queries and mutation like strings.

This is my test file (flow-list.spec.js):

const data = {
  loading: false,
  "flows": [
    {
      "id": "Rmxvd05vZGU6MQ==",
      "name": "NameOfFlow",
    }
  ],
  "applications": [
    {
      "name": "NameofApp"
    }
  ],
  "flowModes": [
    {
      "name": "Flow Mode Foo"
    }
  ],
  "flowTypes": [
    {
      "name": "Flow Type Foo"
    }
  ],
  "bls": [
    {
      "name": "BL Foo"
    }
  ]
};

describe('<FlowList/>', () => {
  it('Must print table with 7 columns', () => {
    const wrapper = shallow(
      <FlowList data={data}/>
    );
    expect(tableHeaderColumns).to.have.length(7);

  });
});

However, I have an error when I run npm test. It seems to be an error in react-apollo... I can't understand it and don't know how to solve it.

Behind npm test, I run this command:

cross-env NODE_ENV=production mocha --compilers graphql:mocha-graphql-register,js:babel-register,:tools/style-and-images-compiler.js tests/index.js

Here the trace log of npm test:

> cross-env NODE_ENV=production mocha --compilers graphql:mocha-graphql-register,js:babel-register,:tools/style-and-images-compiler.js tests/index.js


ENV setup is done !!!
Warning - the `printer` exports from `graphql-tag` will be removed in the next major version.
See https://github.com/apollographql/graphql-tag/issues/54 for more information.
D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\react-apollo\parser.js:13
    fragments = document.definitions.filter(function (x) { return x.kind === 'FragmentDefinition'; });
                                    ^

TypeError: Cannot read property 'filter' of undefined
    at Object.parser (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\react-apollo\parser.js:13:37)
    at graphql (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\react-apollo\graphql.js:75:30)
    at Object.<anonymous> (new-development.js:35:49)
    at Module._compile (module.js:570:32)
    at loader (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:148:5)
    at Object.require.extensions.(anonymous function) [as .js] (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:158:7)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (development-list.js:4:1)
    at Module._compile (module.js:570:32)
    at loader (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:148:5)
    at Object.require.extensions.(anonymous function) [as .js] (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:158:7)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (main.js:4:1)
    at Module._compile (module.js:570:32)
    at loader (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:148:5)
    at Object.require.extensions.(anonymous function) [as .js] (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:158:7)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (flow-list.js:4:1)
    at Module._compile (module.js:570:32)
    at loader (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:148:5)
    at Object.require.extensions.(anonymous function) [as .js] (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:158:7)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (flow-list.spec.js:8:1)
    at Module._compile (module.js:570:32)
    at loader (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:148:5)
    at Object.require.extensions.(anonymous function) [as .js] (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:158:7)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (index.js:8:1)
    at Module._compile (module.js:570:32)
    at loader (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:148:5)
    at Object.require.extensions.(anonymous function) [as .js] (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\babel-register\lib\node.js:158:7)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\mocha\lib\mocha.js:220:27
    at Array.forEach (native)
    at Mocha.loadFiles (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\mocha\lib\mocha.js:217:14)
    at Mocha.run (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\mocha\lib\mocha.js:485:10)
    at Object.<anonymous> (D:\outils_dev\projet_pycharm\tibco_frontend\node_modules\mocha\bin\_mocha:403:18)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:393:7)
    at startup (bootstrap_node.js:150:9)
    at bootstrap_node.js:508:3
npm ERR! Test failed.  See above for more details.
1

1 Answers

0
votes

Uh... I missing to import 'gql' from graphql-tag library.

In my code I need to englobe GraphQL queries and mutations like this:

gql('my query')

It's works now.