Меня пригласили на «бэкэнд» проекта и попросили помочь написать тесты для приложения. Я новичок в Ember, и мне нужна небольшая помощь, чтобы начать работу. Мы пытаемся предоставить модульное тестирование для маршрутов, поэтому у нас может быть немного больше молекулярного охвата приложения вместо приемочного теста. Я просмотрел несколько руководств и рассмотрел все возможные сценарии, которые только мог придумать. Мне просто нужно немного толчка.
Вот часть route.js для этого маршрута.
- вниз по течению этого родительского маршрута у нас есть еще один вложенный маршрут, который показывает список контактов, и когда пользователь нажимает кнопку «Показать», он вызывает «модель» и возвращает эту переменную «рек» для шаблона и URL-адреса
export default Route.extend(ScrollTo, {
flashMessages: service(),
model: function(params) {
let rec= this.store.peekRecord('contact', params.contact_id);
return rec;
},
actions: {
saveContact: function() {
let model = this.currentRouteModel();
model
.save()
.then(() => {
//this.refresh();
//this.setModelHash();
this.flashMessages
.success(`Saved Contact: ${model.get('title')}`);
//this.transitionTo('contacts');
});
}
Вот предварительно сгенерированный код для теста. Я действительно не делал никаких модификаций, потому что я действительно не знал, с чего начать.
- Это приложение не имеет серверной части, его дизайн заключается в том, чтобы получать информацию и предоставлять файл iso на основе любого стандарта, который хочет пользователь.
- Я уверен, что мне нужно предоставить некоторые фиктивные данные для теста и отправить их методу, но опять же я не уверен, какие части Qunit я использую.
import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
module('Unit | Route | contact/show', function(hooks) {
setupTest(hooks)
test('it exists', function(assert) {
var route = this.owner.lookup('route:contact/show');
assert.ok(route, 'contact.show route works');
});
});