Ich habe eine Testdatei für ein Login-Formular geschrieben. Die Redirect-Seite ist ein Dashboard mit einer Zeittimer-Sidebar. Jetzt, als ich das getestet habe, wurde ich nach 60000ms zu einer Testzeit. Kann ich die Zeit-Tickerkomponente im Glutentest ausschließen?Login Test mit Ember Test
Mein Testcode:
import {test} from 'qunit';
import moduleForAcceptance from 'frontend/tests/helpers/module-for-acceptance';
moduleForAcceptance('Acceptance | Login', {
integration: true
});
test('visiting /user_session/new', function (assert) {
visit('/user_session/new');
fillIn('input#login-email', '[email protected]');
fillIn('input#login-password', 'blabla');
click('button.btn-primary');
let done = assert.async();
andThen(() => {
Ember.run.later(null,() => {
assert.equal(currentURL(), '/dashboard', 'redirects to the dashboard');
done();
}, 1000);
});
});
Die Zeit Ticker Komponente:
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'time',
date: moment().format('DD.MM.YYYY'),
time: Ember.computed('value', function() {
return moment().format('HH:mm:ss');
}),
didInsertElement: function() {
this.tick();
},
tick: function() {
this.set('nextTick', Ember.run.later(this, function() {
this.notifyPropertyChange('value');
this.tick();
}, 1000));
},
willDestroyElement: function() {
Ember.run.cancel(this.get('nextTick'));
}
});
Oh, ja, das ist eine gute Idee. Danke. – Daniel