I have the same problem in a component integration test. Error:
The statement failed: you turned on the test mode, which turned off autorun autostart.
You will need to wrap any code with asynchronous side effects in the run.
And I found the cause of the problem for integration tests. I am passing a component with the following code:
let myobject = Ember.Object.create({x:1}); this.set('param', myobject) this.render(hbs`{{my-object param=param}}`);
After rendering, updating myobject as shown below causes an error:
myobject.set('x',2);
Because it is not inside the ember startup loop.
Instead, an unauthorized call, updating the value should be performed as one of the following:
this.set('param.x',2); //OR: this.set('param', Ember.Object.create({x:1}); //OR: Ember.run(()=>{ Ember.set(myobject,'x',2); });
In your case: I have not tried it, but my opinion is that asynchronous test assistants, such as visit, click, fillIn, can be used in acceptance tests not in integration tests for the following reason.
source share