Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save pangratz/a252eb96e940903db33d55bfe701c7e3 to your computer and use it in GitHub Desktop.
Save pangratz/a252eb96e940903db33d55bfe701c7e3 to your computer and use it in GitHub Desktop.
FactoryGuy AMS
import Ember from 'ember';
export default Ember.Controller.extend();
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
name: attr(),
organization: belongsTo()
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
managementInformation: hasMany()
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
name: attr('string'),
email: attr('string')
});
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: 'none',
rootURL: config.rootURL
});
Router.map(function() {
this.route('user', {path: 'users/:user_id'})
});
export default Router;
import Ember from 'ember';
export default Ember.Route.extend();
import Ember from 'ember';
export default Ember.Route.extend({
redirect() {
this.transitionTo('user', 1);
}
});
import Ember from 'ember';
import { build } from 'ember-data-factory-guy';
export default Ember.Route.extend({
model(params) {
let organization = build('organization');
organization.unwrap();
return JSON.stringify(organization, null, 2);
}
});
import Ember from 'ember';
import { Scenario } from 'ember-data-factory-guy';
Scenario.settings({
logLevel: 1 // 0 to turn off logging
});
export default class extends Scenario {
run() {
let user = this.build('user');
this.mockFindRecord('user').returns({json: user});
//this.include([]);
}
}
import { ActiveModelSerializer } from 'active-model-adapter';
export default ActiveModelSerializer.extend();
import Serializer from './application';
import DS from 'ember-data';
export default Serializer.extend(DS.EmbeddedRecordsMixin, {
Xattrs: {
managementInformation: { key: 'management_information' }
}
});
import Serializer from './application';
import DS from 'ember-data';
export default Serializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
managementInformation: { embedded: 'always' }
}
});
<pre>
{{model}}
</pre>
import FactoryGuy from 'ember-data-factory-guy';
FactoryGuy.define('management-information', {
default: {
name: "huhu"
}
});
import FactoryGuy from 'ember-data-factory-guy';
FactoryGuy.define('organization', {
default: {
managementInformation: FactoryGuy.hasMany('management-information', 1)
}
});
import FactoryGuy from 'ember-data-factory-guy';
FactoryGuy.define('user', {
default: {
name: (f) => `name-${f.id}`,
email: (f) => `user-${f.id}@test.com`,
}
});
{
"version": "0.13.0",
"ENV": {
"factoryGuy": { "useScenarios": true }
},
"EmberENV": {
"FEATURES": {
}
},
"options": {
"factoryGuy": { "useScenarios": true },
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.16.2",
"ember-template-compiler": "2.16.2",
"ember-testing": "2.16.2"
},
"addons": {
"active-model-adapter": "latest",
"ember-data": "2.18.1",
"ember-data-factory-guy": "2.13.27"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment