Skip to content

Commit

Permalink
Merge pull request #5128 from emberjs/pr-5127
Browse files Browse the repository at this point in the history
Avoid MODEL_FACTORY_INJECTION deprecations in tests on Ember >= 2.14.
  • Loading branch information
stefanpenner committed Aug 15, 2017
1 parent 7245c9e commit a812747
Show file tree
Hide file tree
Showing 14 changed files with 63 additions and 47 deletions.
4 changes: 0 additions & 4 deletions .bowerrc

This file was deleted.

13 changes: 6 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
---
language: node_js
sudo: false
dist: trusty
node_js:
- "7"

cache:
yarn: true

before_install:
- "export PATH=$PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH"
- "if [ $(phantomjs --version) != '2.1.1' ]; then rm -rf $PWD/travis_phantomjs; mkdir -p $PWD/travis_phantomjs; fi"
- "if [ $(phantomjs --version) != '2.1.1' ]; then wget https://assets.membergetmember.co/software/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2; fi"
- "if [ $(phantomjs --version) != '2.1.1' ]; then tar -xvf $PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis_phantomjs; fi"
- "phantomjs --version"
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH=$HOME/.yarn/bin:$PATH
- yarn global add phantomjs-prebuilt
- phantomjs --version

install:
- yarn
- ./node_modules/.bin/bower install
- yarn install --no-lockfile --no-interactive

script:
- ./bin/lint-features
Expand Down
2 changes: 0 additions & 2 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ install:
# Typical npm stuff.
- md C:\nc
- appveyor-retry yarn install
# Workaround https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows
- yarn run bower
# Post-install test scripts.
test_script:
# Output useful info for debugging.
Expand Down
5 changes: 0 additions & 5 deletions bower.json

This file was deleted.

6 changes: 5 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const merge = require('broccoli-merge-trees');
const semver = require('semver');
const version = require('./lib/version');
const BroccoliDebug = require('broccoli-debug');
const calculateCacheKeyForTree = require('calculate-cache-key-for-tree');

// allow toggling of heimdall instrumentation
let INSTRUMENT_HEIMDALL = false;
Expand Down Expand Up @@ -213,6 +214,9 @@ module.exports = {
production: app.bowerDirectory + '/ember-data/ember-data.prod.js'
});
}
},

cacheKeyForTree(treeType) {
return calculateCacheKeyForTree(treeType, this);
}
};

3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
"node-tests": "node node-tests/nodetest-runner.js",
"test:optional-features": "ember test --environment=test-optional-features",
"test:production": "ember test --environment=production",
"bower": "bower install",
"production": "ember build --environment=production"
},
"author": "",
Expand All @@ -32,6 +31,7 @@
"broccoli-funnel": "^1.2.0",
"broccoli-merge-trees": "^2.0.0",
"broccoli-rollup": "^1.2.0",
"calculate-cache-key-for-tree": "^1.1.0",
"chalk": "^1.1.1",
"ember-cli-babel": "^6.4.1",
"ember-cli-path-utils": "^1.0.0",
Expand Down Expand Up @@ -61,7 +61,6 @@
"babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
"babel-plugin-transform-es2015-spread": "^6.22.0",
"babel-plugin-transform-es2015-template-literals": "^6.22.0",
"bower": "^1.6.5",
"broccoli-asset-rev": "^2.4.5",
"broccoli-concat": "^3.2.2",
"broccoli-stew": "^1.4.2",
Expand Down
6 changes: 1 addition & 5 deletions tests/dummy/app/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@ import Resolver from './resolver';
import loadInitializers from 'ember-load-initializers';
import config from './config/environment';

let App;

Ember.MODEL_FACTORY_INJECTIONS = true;

App = Ember.Application.extend({
const App = Ember.Application.extend({
modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix,
Resolver
Expand Down
14 changes: 14 additions & 0 deletions tests/helpers/model-factory-injection.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import Ember from 'ember';
import hasEmberVersion from 'ember-test-helpers/has-ember-version';

let ORIGINAL_MODEL_FACTORY_INJECTIONS = Ember.MODEL_FACTORY_INJECTIONS;

export function setup(value = true) {
if (!hasEmberVersion(2, 14)) {
Ember.MODEL_FACTORY_INJECTIONS = value;
}
}

export function reset() {
setup(ORIGINAL_MODEL_FACTORY_INJECTIONS);
}
9 changes: 6 additions & 3 deletions tests/integration/injection-test.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
import {
setup as setupModelFactoryInjections,
reset as resetModelFactoryInjections
} from 'dummy/tests/helpers/model-factory-injection';
import setupStore from 'dummy/tests/helpers/store';
import Ember from 'ember';
import DS from 'ember-data';
import { module, test } from 'qunit';

let env, hasFactoryFor, originalLookupFactory, originalOwnerLookupFactory, originalFactoryFor;
let originalMODEL_FACTORY_INJECTIONS = Ember.MODEL_FACTORY_INJECTIONS;
const { run } = Ember;

const model = {
Expand Down Expand Up @@ -79,7 +82,7 @@ test('modelFor', function(assert) {

module('integration/injection eager injections', {
setup() {
Ember.MODEL_FACTORY_INJECTIONS = true;
setupModelFactoryInjections();
env = setupStore();

env.registry.injection('model:foo', 'apple', 'service:apple');
Expand All @@ -90,7 +93,7 @@ module('integration/injection eager injections', {

teardown() {
// can be removed once we no longer support ember versions without lookupFactory
Ember.MODEL_FACTORY_INJECTIONS = originalMODEL_FACTORY_INJECTIONS;
resetModelFactoryInjections();

run(env.store, 'destroy');
}
Expand Down
2 changes: 0 additions & 2 deletions tests/integration/relationships/belongs-to-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ const { attr, hasMany, belongsTo } = DS;
const { hash } = RSVP;

let env, store, User, Message, Post, Comment, Book, Chapter, Author, NewMessage;
const injectionValue = Ember.MODEL_FACTORY_INJECTIONS;

module("integration/relationship/belongs_to Belongs-To Relationships", {
beforeEach() {
Expand Down Expand Up @@ -83,7 +82,6 @@ module("integration/relationship/belongs_to Belongs-To Relationships", {
},

afterEach() {
Ember.MODEL_FACTORY_INJECTIONS = injectionValue;
run(env.container, 'destroy');
}
});
Expand Down
9 changes: 6 additions & 3 deletions tests/integration/relationships/has-many-test.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
/*eslint no-unused-vars: ["error", { "args": "none", "varsIgnorePattern": "(page)" }]*/

import {
setup as setupModelFactoryInjections,
reset as resetModelFactoryInjections
} from 'dummy/tests/helpers/model-factory-injection';
import setupStore from 'dummy/tests/helpers/store';
import Ember from 'ember';

Expand Down Expand Up @@ -1338,8 +1342,7 @@ test("When a polymorphic hasMany relationship is accessed, the store can call mu
test("polymorphic hasMany type-checks check the superclass when MODEL_FACTORY_INJECTIONS is enabled", function(assert) {
assert.expect(1);

let injectionValue = Ember.MODEL_FACTORY_INJECTIONS;
Ember.MODEL_FACTORY_INJECTIONS = true;
setupModelFactoryInjections();

try {
run(function () {
Expand All @@ -1351,7 +1354,7 @@ test("polymorphic hasMany type-checks check the superclass when MODEL_FACTORY_IN
assert.equal(igor.get('messages.firstObject.body'), "Well I thought the title was fine");
});
} finally {
Ember.MODEL_FACTORY_INJECTIONS = injectionValue;
resetModelFactoryInjections();
}
});

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import {
setup as setupModelFactoryInjections,
reset as resetModelFactoryInjections
} from 'dummy/tests/helpers/model-factory-injection';

import setupStore from 'dummy/tests/helpers/store';
import Ember from 'ember';

Expand Down Expand Up @@ -155,8 +160,7 @@ testInDebug("Setting the polymorphic belongsTo with an object that does not impl

test("Setting the polymorphic belongsTo gets propagated to the inverse side - model injections true", function(assert) {
assert.expect(2);
var injectionValue = Ember.MODEL_FACTORY_INJECTIONS;
Ember.MODEL_FACTORY_INJECTIONS = true;
setupModelFactoryInjections();

try {
var user, video;
Expand Down Expand Up @@ -190,13 +194,12 @@ test("Setting the polymorphic belongsTo gets propagated to the inverse side - mo
});
});
} finally {
Ember.MODEL_FACTORY_INJECTIONS = injectionValue;
resetModelFactoryInjections();
}
});

testInDebug("Setting the polymorphic belongsTo with an object that does not implement the mixin errors out - model injections true", function(assert) {
var injectionValue = Ember.MODEL_FACTORY_INJECTIONS;
Ember.MODEL_FACTORY_INJECTIONS = true;
setupModelFactoryInjections();

try {
var user, video;
Expand Down Expand Up @@ -226,6 +229,6 @@ testInDebug("Setting the polymorphic belongsTo with an object that does not impl
}, /You cannot add a record of modelClass 'not-message' to the 'user.bestMessage' relationship \(only 'message' allowed\)/);
});
} finally {
Ember.MODEL_FACTORY_INJECTIONS = injectionValue;
resetModelFactoryInjections();
}
});
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
import {
setup as setupModelFactoryInjections,
reset as resetModelFactoryInjections
} from 'dummy/tests/helpers/model-factory-injection';

import setupStore from 'dummy/tests/helpers/store';
import Ember from 'ember';

Expand Down Expand Up @@ -170,8 +175,7 @@ testInDebug("Pushing a an object that does not implement the mixin to the mixin
});

test("Pushing to the hasMany reflects the change on the belongsTo side - model injections true", function(assert) {
var injectionValue = Ember.MODEL_FACTORY_INJECTIONS;
Ember.MODEL_FACTORY_INJECTIONS = true;
setupModelFactoryInjections();

try {
var user, video;
Expand Down Expand Up @@ -209,16 +213,15 @@ test("Pushing to the hasMany reflects the change on the belongsTo side - model i
});
});
} finally {
Ember.MODEL_FACTORY_INJECTIONS = injectionValue;
resetModelFactoryInjections();
}
});

/*
Local edits
*/
testInDebug("Pushing a an object that does not implement the mixin to the mixin accepting array errors out - model injections true", function(assert) {
var injectionValue = Ember.MODEL_FACTORY_INJECTIONS;
Ember.MODEL_FACTORY_INJECTIONS = true;
setupModelFactoryInjections();

try {
var user,notMessage;
Expand Down Expand Up @@ -255,7 +258,6 @@ testInDebug("Pushing a an object that does not implement the mixin to the mixin
});
});
} finally {
Ember.MODEL_FACTORY_INJECTIONS = injectionValue;
resetModelFactoryInjections();
}
});

6 changes: 6 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1490,6 +1490,12 @@ calculate-cache-key-for-tree@^1.0.0:
dependencies:
json-stable-stringify "^1.0.1"

calculate-cache-key-for-tree@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/calculate-cache-key-for-tree/-/calculate-cache-key-for-tree-1.1.0.tgz#0c3e42c9c134f3c9de5358c0f16793627ea976d6"
dependencies:
json-stable-stringify "^1.0.1"

caller-path@^0.1.0:
version "0.1.0"
resolved "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
Expand Down

0 comments on commit a812747

Please sign in to comment.