In Ember-CLI 1.13.1, I have the following integration test in my component:
import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
moduleForComponent('category-tabs', 'Integration | Component | category tabs', {
integration: true
});
test('tapping button fires an external action', function(assert) {
this.on('onTabTouch', function(value) {
assert.equal(value, 'Expense');
});
this.render(hbs`
{{category-tabs onTabTouch=(action "onTabTouch")}}
`);
this.$('button:first').click();
});
Then in my component, I have this action:
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
handleTabTouch(tab) {
this.attrs.onTabTouch(tab);
}
}
});
My test keeps on saying this:
An action named 'onTabTouch' was not found in [object Object].
How do I test a closure action? I also tried:
this.set('onTabTouch', function(value) {
assert.equal(value, 'Expense');
});
And it didn't work.
Aucun commentaire:
Enregistrer un commentaire