2017-10-06 3 views
0

J'ai écrit un fichier de test pour un formulaire de connexion. La page de redirection est un tableau de bord avec une barre latérale Time Ticker. Maintenant, quand j'ai testé cela, je suis devenu un temps d'arrêt après 60000ms. Est-ce que je peux exclure le composant Time Ticker dans le test de braise?Test de connexion avec test Ember

Mon Code d'essai:

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); 
    }); 
}); 

Le temps Ticker Composante:

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')); 
    } 
}); 

Répondre

0

mécanisme tic-tac Enveloppez dans un service et utiliser ce service dans votre composant.

Pendant le test, simulez ce service et injectez le faux dans votre composant. Bien que se moquer du test d'acceptation n'est pas une bonne chose pour moi, je peux aller avec une approche moqueuse dans ce scénario.

En outre, vous pouvez envisager d'utiliser ember-moment mise à jour en direct dans vos pages. Il fournit la mise à jour en direct de l'heure. Here il y a.

+0

Oh, oui, c'est une bonne idée. Merci. – Daniel