Skip to content

Instantly share code, notes, and snippets.

@alisdair
Created April 17, 2016 15:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alisdair/00756de8c248bb5ced47cd2ea9e23b5a to your computer and use it in GitHub Desktop.
Save alisdair/00756de8c248bb5ced47cd2ea9e23b5a to your computer and use it in GitHub Desktop.
Test stub for component -> helper -> service
import Ember from 'ember';
export default Ember.Component.extend({
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
export function hasSpotify() {
return this.get('spotifyService.spotifyInfo') !== undefined;
}
export default Ember.Helper.extend({
spotifyService: Ember.inject.service(),
compute: hasSpotify
});
import Ember from 'ember';
export default Ember.Service.extend({
spotifyInfo: { username: 'alisdair' }
});
{{#if (has-spotify)}}
Song info
{{else}}
Log in
{{/if}}
import Resolver from '../../resolver';
import config from '../../config/environment';
const resolver = Resolver.create();
resolver.namespace = {
modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix
};
export default resolver;
import Ember from 'ember';
import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
const { getOwner } = Ember;
moduleForComponent('spotify-song', 'Integration | Component | spotify song', {
integration: true
});
test('normal usage', function(assert) {
this.render(hbs`{{spotify-song}}`);
assert.equal(this.$().text().trim(), 'Song info', 'shows song info');
});
test('when spotify service fails', function(assert) {
let spotifyService = Ember.Service.extend({
spotifyInfo: undefined
});
let owner = getOwner(this);
owner.register('service:spotify-service', spotifyService);
this.render(hbs`{{spotify-song}}`);
assert.equal(this.$().text().trim(), 'Log in', 'asks for log in');
});
import resolver from './helpers/resolver';
import {
setResolver
} from 'ember-qunit';
setResolver(resolver);
{
"version": "0.7.2",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": true
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.4.4/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.4.3/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.4.4/ember-template-compiler.js"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment