Тестирование вычисляемой функции ember возвращает функцию, а не результат get

У меня есть простой DS.Model с вычисляемой функцией, которая форматирует дату, например.

import Ember from 'ember';
import DS from 'ember-data';

export default DS.Model.extend({
    date: DS.attr('date'),
    posted_date: Ember.computed('date', function() {
        return this.get('date').toLocaleDateString("en-GB");
    })
});

Когда я проверяю вычисление, я странным образом получаю сообщение об ошибке, говорящее, что результат get('posted_date') является функцией, qUnit выводит его следующим образом:

Expected:   
"2016-05-01"
Result:     
function(){
  [code]
}

Кажется, я делаю что-то глупое здесь, но я не могу понять это. В моем шаблоне отображается значение ok, поэтому я думаю, что это может быть просто проблема с тестом, но я не вижу в этом ничего плохого. Тест выглядит так:

test('date is formatted to UK format', function(assert) {

  const model = this.subject();

  Ember.run(function() {

    model.set('date', new Date('2016-05-01')); 

    assert.equal(model.get('posted_date'), '2016-05-01');
  });
});

есть идеи?


person dougajmcdonald    schedule 25.09.2016    source источник


Ответы (1)


На самом деле это работает в Ember 2.8. Вот оно.

Какую версию вы используете? Разве вы не используете moduleForModel?

person ykaragol    schedule 25.09.2016
comment
Я должен быть в последней версии, но перепроверю, когда войду. Думаю, мне удалось исправить это, изменив имя свойства, чтобы удалить подчеркивание: / Довольно странно - person dougajmcdonald; 26.09.2016