Skip to content

Instantly share code, notes, and snippets.

@chrism
Last active April 30, 2019 07:02
Show Gist options
  • Save chrism/178fd20f4bdde525d51fd65f90da57f1 to your computer and use it in GitHub Desktop.
Save chrism/178fd20f4bdde525d51fd65f90da57f1 to your computer and use it in GitHub Desktop.
Clean mocking template
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend({
namespace: 'api/v1'
});
import Ember from 'ember';
export default Ember.Controller.extend({
});
export default function() {
getJSON('/api/v1/stations', stations);
}
function getJSON(url, jsonResponse) {
$.mockjax({ url: url, responseText: jsonResponse });
}
let stations = {
"data": [
{
"id": "15",
"type": "stations",
"attributes": {
"name": "Test",
"description": null,
"slug": "test",
"current_position": 1
}
}
]
}
import Model from 'ember-data/model';
import attr from 'ember-data/attr';
import { belongsTo, hasMany } from 'ember-data/relationships';
export default Model.extend({
});
import Ember from 'ember';
import getMocks from '../mocks';
export default Ember.Route.extend({
init() {
this._super(...arguments);
getMocks();
},
model() {
return this.store.findAll('station');
}
});
<h1>Including relationship</h1>
{{model}}
import { run } from '@ember/runloop';
export default function destroyApp(application) {
run(application, 'destroy');
}
import Ember from 'ember';
import Application from '../../app';
import config from '../../config/environment';
const { run } = Ember;
const assign = Ember.assign || Ember.merge;
export default function startApp(attrs) {
let application;
let attributes = assign({rootElement: "#test-root"}, config.APP);
attributes.autoboot = true;
attributes = assign(attributes, attrs); // use defaults, but you can override;
run(() => {
application = Application.create(attributes);
application.setupForTesting();
application.injectTestHelpers();
});
return application;
}
import Application from '../app';
import config from '../config/environment';
import { setApplication } from '@ember/test-helpers';
import { start } from 'ember-qunit';
import { assign } from '@ember/polyfills';
let attributes = assign({ rootElement: '#main' }, config.APP);
setApplication(Application.create(attributes));
start();
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
"jquery-mockjax": "https://cdnjs.cloudflare.com/ajax/libs/jquery-mockjax/1.6.2/jquery.mockjax.js"
},
"addons": {
"ember-data": "3.4.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment