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.