ember.js - Ember Simple Auth 1.0 Testing Helpers -
i've upgraded 0.8 1.0 , app working correctly.
one thing surprised me though , still don't understand how new acceptance test helpers should used.
previously (0.8) write test , pass:
test('sign in , sign out', function(assert) { visit('/'); andthen(function() { assert.ok(find(':contains("sign in")').length, 'expected see "sign in"'); }); authenticatesession(); andthen(function() { assert.ok(find(':contains("sign out")').length, 'expected see "sign out"'); }); invalidatesession(); andthen(function() { assert.ok(find(':contains("sign in")').length, 'expected see "sign in"'); }); });
however, after upgrading , rewriting them in new format:
import { authenticatesession, invalidatesession } 'instatube-app/tests/helpers/ember-simple-auth'; test('sign in , sign out', function(assert) { visit('/'); andthen(function() { assert.ok(find(':contains("sign in")').length, 'expected see "sign in"'); }); authenticatesession(application); andthen(function() { assert.ok(find(':contains("sign out")').length, 'expected see "sign out"'); }); invalidatesession(application); andthen(function() { assert.ok(find(':contains("sign in")').length, 'expected see "sign in"'); }); });
only first assertion passes.
if split them separate tests ie:
test('when signed out display sign in button', function(assert) { visit('/'); andthen(function() { assert.ok(find(':contains("sign in")').length, 'expected see "sign in"'); }); }); test('when signed in display sign out button', function(assert) { authenticatesession(application); visit('/'); andthen(function() { assert.ok(find(':contains("sign out")').length, 'expected see "sign out"'); }); });
then these individual tests pass, cannot seem them working actual use cases.
any ideas why happening , how fix appreciated.
so in case else runs issue managed solve including helpers in andthen waiters, this:
import { authenticatesession, invalidatesession } 'instatube-app/tests/helpers/ember-simple-auth'; test('sign in , sign out', function(assert) { visit('/'); andthen(function() { assert.ok(find(':contains("sign in")').length, 'expected see "sign in"'); authenticatesession(application); }); andthen(function() { assert.ok(find(':contains("sign out")').length, 'expected see "sign out"'); invalidatesession(application); }); andthen(function() { assert.ok(find(':contains("sign in")').length, 'expected see "sign in"'); }); });
Comments
Post a Comment