Skip to content

Instantly share code, notes, and snippets.

@benbabics
Created September 13, 2016 00:04
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save benbabics/dd72a9708393ccb491d453d2a35aaecd to your computer and use it in GitHub Desktop.
Save benbabics/dd72a9708393ccb491d453d2a35aaecd to your computer and use it in GitHub Desktop.
Ember Mock Service
import Ember from 'ember';
import { moduleFor, test } from 'ember-qunit';
let mockSession = Ember.Service.extend({
isAuthenticated: true,
currentUser: Ember.computed('isAuthenticated', function() {
return Ember.RSVP.Promise(function(resolve) {
resolve( Ember.Object.create({ accounts: [] }) );
});
})
});
moduleFor('route:accounts', 'Unit | Route | accounts', {
// Specify the other units that are required for this test.
needs: [/*'service:session',*/],
beforeEach() {
this.container.register( 'service:session', mockSession );
this.container.injection( 'route:accounts', 'session', 'service:session' );
}
});
test('it returns a collection of user accounts', function(assert) {
let route = this.subject();
assert.deepEqual(route.model()._result, []);
});
import Ember from 'ember';
export default Ember.Route.extend({
session: Ember.inject.service(),
model() {
return new Ember.RSVP.Promise(resolve => {
this.get( 'session.currentUser' )
.then( user => user.get('accounts').then(resolve) );
});
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment