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

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -