Open msteller-connyun opened 5 years ago
Can you share your code + the .showroom file?
Of course:
export default {
component: 'calendar-graph',
path: '/dist/cyChart.min.js',
functions: {
initStatusMapping: () => {
dashboard.targetComponent.setStatusMapping([
{
condition: {
is: 2
},
action: {
bgColor: 'green'
},
legend: 'Good (>60%)'
},
{
condition: {
is: 1
},
action: {
bgColor: 'yellow'
},
legend: 'Okay (30-60%)'
},
{
condition: {
is: 0
},
action: {
bgColor: 'red'
},
legend: 'Bad (<30%)'
},
{
condition: {
is: null
},
action: {
bgColor: 'grey'
},
legend: 'Nicht verwendet'
}
]);
},
initData: () => {
dashboard.targetComponent.setData([
{date: '2016-02-15T00:00:00Z', devices: [{name: 'M1', value: null}, {name: 'M2', value: 1}]},
{date: '2016-02-13T00:00:00Z', devices: [{name: 'M1', value: 2}, {name: 'M2', value: 2}]},
{date: '2016-02-14T00:00:00Z', devices: [{name: 'Machine1', value: 0}, {name: 'M2', value: null}]},
]);
}
}
}
I can’t share the code of the component itself, it’s property of the company where I work :(
Can you share the test part that is failing?
Hey,
I did an simplified example where this issue can be reproduced:
https://github.com/msteller-connyun/showroom-test
just execute:
yarn
yarn build
yarn test
After this issue is fluffy it my not fail the first time, try to run yarn test
several times in a row, if the error does not occur the first time.
Hey, your example is working correctly, if you run npm run build
before tests.
try npx showroom
, browser to http://localhost:3000
and see that without build the showroom client app cannot load the component.
Perhaps adding in your package.json "pretest": "npm run build"
?
Hey,
the tests are fluffy, that means that it sometimes works and sometimes not.
Mostly, the first time it works. If I execute the test immediately a second time it’s mostly broken. If it’s broken I have to wait some time, before it’s working again.
Yes, probably npm run build could fix the issue, because if there is a small break between the tests it works (mostly). This is similar to my setTimeout workaround.
Please execute npm run test
two or three times directly in a row and check if it still working for you.
And yes, in the showroom GUI it’s working always. It’s a test-only issue.
Will check further
I'm having the same issue. It is difficult to reproduce locally but happens more often than not in my CI builds.
Ex. https://circleci.com/gh/evtaylor/functional-lit-element/20
Using
showroom.utils.trigger('myFunction')
is fluffy and leads sometimes (especially if I repeat the test in short intervals) to the error:This seems to be a timing issue. Workaround: