流星应用中事件的单元测试:设置事件和模板参数

时间:2016-06-03 05:58:06

标签: javascript testing meteor mocha chai

我需要对一个使用ReactiveDict的事件进行测试:

进口/ UI / example.js

'click li': function(event, template) {
    const   $this = $(event.currentTarget),
            type  = $this.attr('data-type');

    template.dict.set('section', type);
},

我已添加xolvio:template-isolator以使用fireEvent()

进口/ UI / example.test.js

import { expect } from 'meteor/practicalmeteor:chai';
import { fireEvent } from 'meteor/xolvio:template-isolator';
import { Template } from 'meteor/templating';
import './example.js';

describe('Events', function() {
    it('set selected type', function (done) {
        const expectedValue = 'anything';
        Template.example.fireEvent('click li'); 
        expect(reactiveVar).to.be.equal(expectedValue);
        done();
    });
});

但我收到错误Cannot read property 'currentTarget' of undefined。 我如何获得ReactiveDict-Value?

xolvio:template-isolator的文档中,有一个添加参数的示例 - 我认为我必须这样做:

fireEvent('myEvent', {
    context: { some: 'values' },
    event: { { which: 13, target: {value: ''}} },
    templateInstance: new Template('myNewTemplate', function() {})
});

但我不知道如何根据我的需要调整功能的eventstemplate

0 个答案:

没有答案