Skip to content

Instantly share code, notes, and snippets.

@NullVoxPopuli
Created September 28, 2017 18:23
Show Gist options
  • Save NullVoxPopuli/fff916b4dda0348ce4a78c7d4105230c to your computer and use it in GitHub Desktop.
Save NullVoxPopuli/fff916b4dda0348ce4a78c7d4105230c to your computer and use it in GitHub Desktop.

Revisions

  1. NullVoxPopuli revised this gist Sep 28, 2017. 5 changed files with 9 additions and 7 deletions.
    4 changes: 2 additions & 2 deletions mixins.taggable.js
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    import DS from 'ember-data';
    import Ember from 'ember';

    export default DS.Model.extend({
    export default Ember.mixin.create({
    tags: DS.hasMany('tag', { inverse: 'taggable' }),
    });
    4 changes: 2 additions & 2 deletions models.employee.js
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    import Model from "ember-data/model";
    import attr from "ember-data/attr";
    import Taggable from '../mixins/taggable';
    import { belongsTo, hasMany } from "ember-data/relationships";

    export default Model.extend(Taggable, {
    export default Model.extend({
    tags: hasMany('tag', { inverse: 'taggable' }),
    });
    4 changes: 2 additions & 2 deletions models.manager.js
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    import Model from "ember-data/model";
    import attr from "ember-data/attr";
    import Taggable from '../mixins/taggable';
    import { belongsTo, hasMany } from "ember-data/relationships";

    export default Model.extend(Taggable, {
    export default Model.extend( {
    tags: hasMany('tag', { inverse: 'taggable' }),
    });
    2 changes: 1 addition & 1 deletion models.tag.js
    Original file line number Diff line number Diff line change
    @@ -3,5 +3,5 @@ import attr from "ember-data/attr";
    import { belongsTo, hasMany } from "ember-data/relationships";

    export default Model.extend({
    taggable: belongsTo('Taggable', { polymorphic: true })
    taggable: belongsTo('employee', { polymorphic: true })
    });
    2 changes: 2 additions & 0 deletions tests.unit.models.tag-test.js
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,8 @@ import { moduleForModel, test } from 'ember-qunit';
    moduleForModel('tag', 'Unit | Model | tag', {
    // Specify the other units that are required for this test.
    needs: [
    'model:employee',
    'model:manager'
    ]
    });

  2. @mnifakram mnifakram created this gist Sep 28, 2017.
    5 changes: 5 additions & 0 deletions controllers.application.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    import Ember from 'ember';

    export default Ember.Controller.extend({
    appName: 'Ember Twiddle'
    });
    5 changes: 5 additions & 0 deletions mixins.taggable.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    import DS from 'ember-data';

    export default DS.Model.extend({
    tags: DS.hasMany('tag', { inverse: 'taggable' }),
    });
    7 changes: 7 additions & 0 deletions models.employee.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    import Model from "ember-data/model";
    import attr from "ember-data/attr";
    import Taggable from '../mixins/taggable';
    import { belongsTo, hasMany } from "ember-data/relationships";

    export default Model.extend(Taggable, {
    });
    7 changes: 7 additions & 0 deletions models.manager.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    import Model from "ember-data/model";
    import attr from "ember-data/attr";
    import Taggable from '../mixins/taggable';
    import { belongsTo, hasMany } from "ember-data/relationships";

    export default Model.extend(Taggable, {
    });
    7 changes: 7 additions & 0 deletions models.tag.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    import Model from "ember-data/model";
    import attr from "ember-data/attr";
    import { belongsTo, hasMany } from "ember-data/relationships";

    export default Model.extend({
    taggable: belongsTo('Taggable', { polymorphic: true })
    });
    6 changes: 6 additions & 0 deletions templates.application.hbs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,6 @@
    <h1>Welcome to {{appName}}</h1>
    <br>
    <br>
    {{outlet}}
    <br>
    <br>
    5 changes: 5 additions & 0 deletions tests.helpers.destroy-app.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    import Ember from 'ember';

    export default function destroyApp(application) {
    Ember.run(application, 'destroy');
    }
    11 changes: 11 additions & 0 deletions tests.helpers.resolver.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    import Resolver from '../../resolver';
    import config from '../../config/environment';

    const resolver = Resolver.create();

    resolver.namespace = {
    modulePrefix: config.modulePrefix,
    podModulePrefix: config.podModulePrefix
    };

    export default resolver;
    21 changes: 21 additions & 0 deletions tests.helpers.start-app.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,21 @@
    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 = assign(attributes, attrs); // use defaults, but you can override;

    run(() => {
    application = Application.create(attributes);
    application.setupForTesting();
    application.injectTestHelpers();
    });

    return application;
    }
    6 changes: 6 additions & 0 deletions tests.test-helper.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,6 @@
    import resolver from './helpers/resolver';
    import {
    setResolver
    } from 'ember-qunit';

    setResolver(resolver);
    13 changes: 13 additions & 0 deletions tests.unit.models.tag-test.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    import { moduleForModel, test } from 'ember-qunit';

    moduleForModel('tag', 'Unit | Model | tag', {
    // Specify the other units that are required for this test.
    needs: [
    ]
    });

    test('it exists', function(assert) {
    let model = this.subject();
    // let store = this.store();
    assert.ok(!!model);
    });
    19 changes: 19 additions & 0 deletions twiddle.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    {
    "version": "0.12.1",
    "EmberENV": {
    "FEATURES": {}
    },
    "options": {
    "use_pods": false,
    "enable-testing": true
    },
    "dependencies": {
    "jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
    "ember": "2.12.0",
    "ember-template-compiler": "2.12.0",
    "ember-testing": "2.12.0"
    },
    "addons": {
    "ember-data": "2.12.1"
    }
    }