Skip to content

Instantly share code, notes, and snippets.

@kumy
Last active February 8, 2019 21:13
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 kumy/22fa8c18f4b71ee0c547fba99eb6c3f0 to your computer and use it in GitHub Desktop.
Save kumy/22fa8c18f4b71ee0c547fba99eb6c3f0 to your computer and use it in GitHub Desktop.
test move comments
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
export default function() {
//window.server = this;
this.timing = 400; // simulate network delay
this.get('/users');
this.get('/users/:id');
this.get('/moves');
this.get('/moves/:id');
this.get('/moves/:id/comments', function(schema, request) {
const moveId = request.params.id;
return schema.comments.where({ moveId: moveId });
});
this.get('/comments');
this.get('/comments/:id');
}
import { Factory } from 'ember-cli-mirage';
export default Factory.extend({
comment(i) {
return `Comment ${i+1}`
}
});
import { Factory } from 'ember-cli-mirage';
export default Factory.extend({
title(i) {
return `Move ${i+1}`
},
body: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
});
import { Factory } from 'ember-cli-mirage';
export default Factory.extend({
title(i) {
return `User ${i+1}`
}
});
import { Model, belongsTo, hasMany } from 'ember-cli-mirage';
export default Model.extend({
author: belongsTo('user', {inverse: 'moveComments'}),
move: belongsTo('move', {inverse: 'comments'}),
});
import { Model, belongsTo, hasMany } from 'ember-cli-mirage';
export default Model.extend({
author: belongsTo('user', {inverse: 'moves'}),
comments: hasMany('comment', {inverse: 'move', async: true}),
});
import { Model, belongsTo, hasMany } from 'ember-cli-mirage';
export default Model.extend({
moves: hasMany('move', {inverse: 'author', async: true}),
moveComments: hasMany('comment'),
});
export default function(server) {
server.createList('user', 5);
server.create('move', { authorId: 1 });
}
import { JSONAPISerializer } from 'ember-cli-mirage';
export default JSONAPISerializer.extend({
});
import Model from 'ember-data/model';
import attr from 'ember-data/attr';
import { belongsTo, hasMany } from 'ember-data/relationships';
export default Model.extend({
comment: attr('string'),
author: belongsTo('user', {inverse: 'moveComments'}),
move: belongsTo('move', {inverse: 'comments'}),
});
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'),
body: attr('string'),
author: belongsTo('user', {inverse: 'moves'}),
comments: hasMany('comment', {inverse: 'move', async: 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'),
moves: hasMany('move', {inverse: 'author', async: true}),
moveComments: hasMany('comment'),
});
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.findRecord('move', 1);
}
});
<h1>Welcome to {{appName}}</h1>
{{outlet}}
<hr>
Move id: {{model.id}}<br>
Move author: {{model.author.name}}<br>
<ul>
{{#each model as |move|}}
<li>{{move.waypoint}}</li>
{{/each}}
</ul>
{
"version": "0.15.1",
"ENV": {
"ember-cli-mirage": {
"enabled": true
}
},
"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"
},
"addons": {
"ember-data": "3.4.2",
"ember-cli-mirage": "0.4.14"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment