ember.js qunit ember-qunit

ember.js - Ember-Qunit: solo puedes descargar un registro que no está en vuelo



(1)

Tengo algunas pruebas de unidad que acceden a la tienda. Pensé que todo estaría bien, siempre que los envuelva en una devolución de llamada. Lamentablemente, ese no es el caso. Me aparece este error:

afterEach failed on #foo: Assertion Failed: solo puede descargar un registro que no sea inFlight.

Según lo entiendo, esto es exactamente lo que debería evitar el funcionamiento. Mi prueba se ve así:

test(''#foo'', function(assert) { var store = this.store(); var model = this.subject(); Ember.run(function() { var secondModel = store.createRecord(''secondModel'', { foo: ''bar'' }); model.set(''secondModel'', secondModel); var foo = model.get(''secondModelFoo''); assert.equal(foo, ''bar''); }); });


Parece que esto ya no es un problema en Ember Data v1.13.8 en combinación con Ember v1.13.7.

Para la siguiente configuración:

models / first-model.js

import DS from ''ember-data''; export default DS.Model.extend({ secondModel: DS.belongsTo(''second-model'') });

modelos / second-model.js

import DS from ''ember-data''; export default DS.Model.extend({ foo: DS.attr(''string'') });

pruebas / unidad / modelos / first-model-test.js

import Ember from ''ember''; import { moduleForModel, test } from ''ember-qunit''; moduleForModel(''first-model'', ''Unit | Model | first model'', { // Specify the other units that are required for this test. needs: [''model:second-model''] }); test(''it exists'', function(assert) { var model = this.subject(); // var store = this.store(); assert.ok(!!model); }); test(''#foo'', function(assert) { var store = this.store(); var model = this.subject(); Ember.run(function() { assert.expect(1); var secondModel = store.createRecord(''second-model'', { foo: ''bar'' }); model.set(''secondModel'', secondModel); var foo = model.get(''secondModel.foo''); assert.equal(foo, ''bar''); }); });

Pruebas pasan Repositorio de proyectos de demostración en GitHub.