Я создал тест-приемник на ember-cli, чтобы проверить, когда пользователь находится по URL-адресу, а затем нажимает кнопку «Отмена» на этой странице, страница должна быть перенаправлена на другую URL.Приемочный тест Перенаправление на определенный URL-адрес
При выполнении теста я получаю эту ошибку:
"Promise rejected during Redirects to previous URL if cancel button is clicked: Element .close-button not found".
Но у меня есть этот элемент на шаблоне. Может кто-нибудь подскажет мне, что мне здесь не хватает, или предложите мне документацию, которую я могу прочитать, чтобы решить эту ошибку ?.
Это мое признание тест:
import { test } from 'qunit';
import moduleForAcceptance from '/tests/helpers/module-for-acceptance';
moduleForAcceptance('Acceptance | test/company');
test('Redirects to previous URL if cancel button is clicked', function() {
return visit('test/company/add').then(function(){
return click('.close-button');
}).then(function(assert){
assert.equal(currentURL(), 'test/company');
});
});
Я попробовал этот тест тоже, но я получаю подобную ошибку:
test('Redirects to previous URL if cancel button is clicked', function(assert) {
visit('/test/company/add');
click ('.close-button');
andThen(function() {
assert.equal(currentURL(), '/test/company');
});
});
Это ошибка:
Error: Element .close-button not found.
Это является частью шаблона, где у меня есть кнопка отмены (add.hbs)
<div class="form-add">
<a href="#" class="close-button" {{action 'cancel'}}>Close</a>
</div>
Это контроллер, в котором определено действие «отменить»:
actions: {
cancel() {
if (this.get('isSaved')) {
return;
}
this.transitionToRoute('test/company');
}
}
Пробовали ли вы положить щелчок внутри andThen() в вашем втором подходе? – iveedee