在Ember Data中如何手动加载带有hasMany关联的记录进行单元测试?

时间:2013-05-09 15:09:20

标签: ember.js ember-data

我是在DS.Model上测试计算属性的单元。

// a trivial example that i'm not actually testing
App.ModelA = DS.Model.extend({
    sub_models : DS.hasMany('App.ModelB'),

    lengthOfBees : function() {
         return this.sub_models.length;
    }.property('sub_models.length')
})

如何手动创建具有关联的记录?为没有关联的记录提供json很容易.. App.ModelX = App.ModelX.createRecord({attribA:'valueA'});

但是当我想提供hasMany关联时,我不知道createRecord的语法。我该怎么做?

1 个答案:

答案 0 :(得分:3)

假设您正在使用ember-data rev 12,这应该可以正常工作

  test("findMany QUnit test example", function() {
    store.load(Person, {id: 9, name: "Toran Billups"});
    person = store.find(Person, 9);
    store.loadHasMany(person, 'tasks', [ 1, 2 ]);

    var tasks = get(person, 'tasks'); //to fire the http request

    equal(get(tasks, 'length'), 2, "");
  });

如果loadHasMany在您的ember-data版本中不起作用,请尝试使用

  test("findMany QUnit test example", function() {
    store.load(Person, {id: 9, name: "Toran Billups", tasks: [1, 2]});
    person = store.find(Person, 9);

    var tasks = get(person, 'tasks'); //to fire the http request

    equal(get(tasks, 'length'), 2, "");
  });