Не пройдены приемочные испытания ember.js

ember.js версия: 2.18.0

маршруты /band.js:

    export default Route.extend({
      model(){
        return this.get('store').findAll('band');
      },

      afterModel(bands) {
        if (bands.length === 1)
          this.transitionTo("bands.band", bands.get('firstObject'));
      }
  })

тест / прием / диапазоны-test.js

var server;

moduleForAcceptance('Acceptance | bands', {
  afterEach() {
    server.shutdown();
  }
});

test('List bands', function(assert) {

  server = new Pretender(function() {
    this.get('/bands', function() {
      var response = {
        data: [
          {
            id: 1,
            type: 'bands',
            attributes: {
              name: 'Radiohead'
            }
          },
          {
            id: 2,
            type: 'bands',
            attributes: {
              name: 'Long Distance Calling'
            }
          }
        ]
      };

      var contentType = {
        'Content-Type': 'application/vnd.api+json'
      };
      return [200, contentType, JSON.stringify(response)];
    });
  });

  visit('/bands');
  andThen(function() {
    assert.equal(find('.band-link').length, 2, 'All band links are rendered.');
    assert.equal(find('.band-link:contains("Radiohead")').length, 1, 'First band link contains the band name.');
    assert.equal(find('.band-link:contains("Long Distance Calling")').length, 1, 'The other band link contains the band name.');

  });
});

Если я поставлю точку останова в функции model() и afterModel() маршрута, я увижу, что фиктивные данные успешно загружены. Но в функции andThen() в тесте кажется, что HTML не отображается вообще. Все эти длины в утверждении равны 0.

Есть идеи?

0 ответов

Другие вопросы по тегам