Skip to content

Instantly share code, notes, and snippets.

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 Subtletree/8cd13b66ffc9fcce3a05b72a8f6482ca to your computer and use it in GitHub Desktop.
Save Subtletree/8cd13b66ffc9fcce3a05b72a8f6482ca to your computer and use it in GitHub Desktop.
FactoryGuy make/mockFindRecord
import Ember from 'ember';
export default Ember.Controller.extend({
});
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
import User from 'twiddle/models/user'
export default User.extend({
});
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
import User from 'twiddle/models/user'
export default User.extend({
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
title: attr('string'),
user: belongsTo('user', { polymorphic: true })
});
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'),
posts: hasMany('post', { inverse: 'user' })
});
import Ember from 'ember';
import {make} from 'ember-data-factory-guy';
export default Ember.Route.extend({
model() {
// User
let person = make('person');
make('post', { user: person });
// Author
let author = make('author');
make('post', { user: author });
return { user, author };
}
});
<h1>Welcome to Factory Guy make / mockFindRecord </h1>
<br>
User:
<br>
name: {{model.user.name}}
<br>
email: {{model.user.email}}
<br>
<br>
Posts
<br>
{{#each model.user.posts as |post|}}
<li>{{post.title}}</li>
{{else}}
None
{{/each}}
<hr>
Author:
<br>
name: {{model.author.name}}
<br>
email: {{model.author.email}}
<br>
<br>
Posts
<br>
{{#each model.author.posts as |post|}}
<li>{{post.title}}</li>
{{else}}
None
{{/each}}
import FactoryGuy from 'ember-data-factory-guy';
import './user';
FactoryGuy.define('author', {
extends: 'user',
default: {
type: 'User'
}
});
import FactoryGuy from 'ember-data-factory-guy';
import './user';
FactoryGuy.define('person', {
extends: 'user',
default: {
type: 'User'
}
});
import FactoryGuy from 'ember-data-factory-guy';
FactoryGuy.define('post', {
default: {
title: (f) => `post-title-${f.id}`
}
});
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",
"EmberENV": {
"FEATURES": {}
},
"options": {
"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": {
"ember-data": "2.16.3",
"ember-data-factory-guy": "2.13.26"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment