2016-06-30 16 views
0

ich folgendes Modell haben: partner.jsEmber Einheit Test berechnete Eigenschaft mit dann

invoices: hasMany('invoice'), 
    resolvedInvoices: computed('invoices', { 
    get(){ 
     let value = null; 
     let _this = this; 
     this.get('invoices').then(invoices=>{ 
     _this.set('resolvedInvoices', invoices); 
     }); 
     return value; 
    }, 
    set(key,value) { 
     return value; 
    } 
    }), 

Ich versuche, Unit-Test-it: Partner-test.js

test('test', function(assert) { 

    let partner = this.subject(); 
    let store = this.store(); 
    // set a relationship 
    run(() => { 
    let invoice = store.createRecord('invoice', { 

    }); 

    partner.get('invoices').pushObject(invoice); 
    console.log(partner.get('resolvedInvoices')); 
    }); 
    assert.ok(true); 
}); 

Aber console.log zeigt immer Null an. Ist es möglich zu warten, bis die berechnete Eigenschaft dann ausgeführt wird und der neue Wert gesetzt wird?

Antwort

1

Sie sagen let value = null;, aber dann nie Wert auf etwas anderes setzen, und nur Wert zurückgeben. Also ja, es würde immer Null schreiben. Wahrscheinlich möchten Sie value = this.get('invoices') setzen und dann zurückgeben.

Verwandte Themen