diff --git a/.travis.yml b/.travis.yml index ea1b929..895b134 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,11 +3,17 @@ branches: only: - master node_js: - - '6' -sudo: false + - "6" +sudo: required +dist: trusty +addons: + chrome: stable cache: directories: - "$HOME/.npm" +env: + global: + - JOBS=1 before_install: - npm config set spin false - npm install -g phantomjs-prebuilt diff --git a/README.md b/README.md index a69437b..4a9360d 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ You will need the following things properly installed on your computer. * [Git](https://git-scm.com/) * [Node.js](https://nodejs.org/) (with NPM) * [Ember CLI](https://ember-cli.com/) -* [PhantomJS](http://phantomjs.org/) +* [Google Chrome](https://google.com/chrome/) ## Installation diff --git a/app/app.js b/app/app.js index f796e79..b3b2bd6 100644 --- a/app/app.js +++ b/app/app.js @@ -1,11 +1,9 @@ -import Ember from 'ember'; +import Application from '@ember/application'; import Resolver from './resolver'; import loadInitializers from 'ember-load-initializers'; import config from './config/environment'; -let App; - -App = Ember.Application.extend({ +const App = Application.extend({ modulePrefix: config.modulePrefix, podModulePrefix: config.podModulePrefix, Resolver diff --git a/app/authenticators/application.js b/app/authenticators/application.js index 3ae0d7d..075eeff 100644 --- a/app/authenticators/application.js +++ b/app/authenticators/application.js @@ -1,9 +1,11 @@ -import Ember from 'ember'; +import { Promise } from 'rsvp'; +import $ from 'jquery'; +import { get } from '@ember/object'; +import { isEmpty } from '@ember/utils'; +import { run } from '@ember/runloop'; import BaseAuthenticator from 'ember-simple-auth/authenticators/base'; import config from '../config/environment'; -const { RSVP: { Promise }, $, get, isEmpty, run } = Ember; - export default BaseAuthenticator.extend({ serverTokenEndpoint: `${config.APP.API_HOST}/api/auth/login/`, tokenAttributeName: 'data.attributes.auth-token', diff --git a/app/authorizers/application.js b/app/authorizers/application.js index b8c154c..740f446 100644 --- a/app/authorizers/application.js +++ b/app/authorizers/application.js @@ -1,8 +1,7 @@ -import Ember from 'ember'; +import { isEmpty } from '@ember/utils'; +import { get } from '@ember/object'; import BaseAuthorizer from 'ember-simple-auth/authorizers/base'; -const { isEmpty, get } = Ember; - export default BaseAuthorizer.extend({ authorize(data, block) { const accessToken = get(data, 'data.attributes.auth-token'); diff --git a/app/components/action-button.js b/app/components/action-button.js index 1a2a87a..061b53b 100644 --- a/app/components/action-button.js +++ b/app/components/action-button.js @@ -1,6 +1,4 @@ -import Ember from 'ember'; - -const { Component } = Ember; +import Component from '@ember/component'; export default Component.extend({ tagName: 'a', diff --git a/app/components/admin-section-list.js b/app/components/admin-section-list.js index 00d6fa3..5570647 100644 --- a/app/components/admin-section-list.js +++ b/app/components/admin-section-list.js @@ -1,5 +1,3 @@ -import Ember from 'ember'; - -const { Component } = Ember; +import Component from '@ember/component'; export default Component.extend({}); diff --git a/app/components/ccdb-filter.js b/app/components/ccdb-filter.js index a6b3c20..db2ed63 100644 --- a/app/components/ccdb-filter.js +++ b/app/components/ccdb-filter.js @@ -1,5 +1,3 @@ -import Ember from 'ember'; - -const { Component } = Ember; +import Component from '@ember/component'; export default Component.extend({ }); diff --git a/app/components/ccdb-pagination.js b/app/components/ccdb-pagination.js index df61fea..233ca4c 100644 --- a/app/components/ccdb-pagination.js +++ b/app/components/ccdb-pagination.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; - -const { Component, computed: { alias }, computed } = Ember; +import Component from '@ember/component'; +import { alias } from '@ember/object/computed'; +import { computed } from '@ember/object'; export default Component.extend({ // ARGS @@ -8,7 +8,7 @@ export default Component.extend({ // COMPUTED meta: alias('model.meta'), - links: alias('model.links'), + links: alias('meta.links'), currentPage: alias('meta.pagination.page'), totalRecords: alias('meta.pagination.count'), diff --git a/app/components/ccdb-table.js b/app/components/ccdb-table.js index 48cd539..8aade24 100644 --- a/app/components/ccdb-table.js +++ b/app/components/ccdb-table.js @@ -1,8 +1,6 @@ -import Ember from 'ember'; +import Component from '@ember/component'; import Table from 'ember-light-table'; -const { Component } = Ember; - export default Component.extend({ // ARGS model: null, diff --git a/app/components/collection/create-container.js b/app/components/collection/create-container.js index ade79e2..eeb6156 100644 --- a/app/components/collection/create-container.js +++ b/app/components/collection/create-container.js @@ -1,9 +1,8 @@ -import Ember from 'ember'; +import Component from '@ember/component'; +import { inject as service } from '@ember/service'; import Changeset from 'ember-changeset'; import lookupValidator from 'ember-changeset-validations'; -const { Component, inject: { service } } = Ember; - export default Component.extend({ store: service(), diff --git a/app/components/collection/detail-container.js b/app/components/collection/detail-container.js index 2501e69..28057bb 100644 --- a/app/components/collection/detail-container.js +++ b/app/components/collection/detail-container.js @@ -1,6 +1,4 @@ -import Ember from 'ember'; - -const { Component } = Ember; +import Component from '@ember/component'; export default Component.extend({ // ARGS diff --git a/app/components/collection/list-container.js b/app/components/collection/list-container.js index 2ca08c1..184a11d 100644 --- a/app/components/collection/list-container.js +++ b/app/components/collection/list-container.js @@ -1,6 +1,4 @@ -import Ember from 'ember'; - -const { Component } = Ember; +import Component from '@ember/component'; export default Component.extend({ // ARGS diff --git a/app/components/crud-form.js b/app/components/crud-form.js index 515da55..889c937 100644 --- a/app/components/crud-form.js +++ b/app/components/crud-form.js @@ -1,6 +1,4 @@ -import Ember from 'ember'; - -const { Component } = Ember; +import Component from '@ember/component'; export default Component.extend({ // ARGS diff --git a/app/components/form-content.js b/app/components/form-content.js index 5450065..9d2bc5a 100644 --- a/app/components/form-content.js +++ b/app/components/form-content.js @@ -1,6 +1,4 @@ -import Ember from 'ember'; - -const { Component } = Ember; +import Component from '@ember/component'; export default Component.extend({ tagName: 'form', diff --git a/app/components/loading-spinner.js b/app/components/loading-spinner.js index f65d12f..8ee064f 100644 --- a/app/components/loading-spinner.js +++ b/app/components/loading-spinner.js @@ -1,6 +1,4 @@ -import Ember from 'ember'; - -const { Component } = Ember; +import Component from '@ember/component'; export default Component.extend({ classNames: ['spinner'], diff --git a/app/components/validated-field.js b/app/components/validated-field.js index 2a79d8c..a505dcf 100644 --- a/app/components/validated-field.js +++ b/app/components/validated-field.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; - -const { Component, computed, get, isEmpty } = Ember; +import Component from '@ember/component'; +import { get, computed } from '@ember/object'; +import { isEmpty } from '@ember/utils'; export default Component.extend({ classNames: ['form-group'], diff --git a/app/controllers/application.js b/app/controllers/application.js index 1542788..5e8a1e1 100644 --- a/app/controllers/application.js +++ b/app/controllers/application.js @@ -1,6 +1,5 @@ -import Ember from 'ember'; - -const { Controller, inject: { service } } = Ember; +import Controller from '@ember/controller'; +import { inject as service } from '@ember/service'; export default Controller.extend({ session: service('session'), diff --git a/app/controllers/collections/create.js b/app/controllers/collections/create.js index 5ee4c55..beb3511 100644 --- a/app/controllers/collections/create.js +++ b/app/controllers/collections/create.js @@ -1,12 +1,11 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; +import { computed } from '@ember/object'; import CollectionValidations from 'ccdb-web/validations/collection'; import CollectionSpeciesValidations from 'ccdb-web/validations/collection-species'; import CollectionMeasurementValidations from 'ccdb-web/validations/collection-measurement'; import DatasheetValidations from 'ccdb-web/validations/datasheet'; import ValidationMixin from 'ccdb-web/mixins/validation'; -const { Controller, computed } = Ember; - export default Controller.extend(ValidationMixin, { CollectionValidations, CollectionSpeciesValidations, diff --git a/app/controllers/collections/detail/edit.js b/app/controllers/collections/detail/edit.js index c74bc84..309a93c 100644 --- a/app/controllers/collections/detail/edit.js +++ b/app/controllers/collections/detail/edit.js @@ -1,12 +1,11 @@ -import Ember from 'ember'; +import Controller from '@ember/controller'; +import { computed } from '@ember/object'; import CollectionValidations from 'ccdb-web/validations/collection'; import CollectionSpeciesValidations from 'ccdb-web/validations/collection-species'; import CollectionMeasurementValidations from 'ccdb-web/validations/collection-measurement'; import DatasheetValidations from 'ccdb-web/validations/datasheet'; import ValidationMixin from 'ccdb-web/mixins/validation'; -const { Controller, computed } = Ember; - export default Controller.extend(ValidationMixin, { CollectionValidations, CollectionSpeciesValidations, diff --git a/app/controllers/collections/detail/index.js b/app/controllers/collections/detail/index.js index 6603a27..c05e4d6 100644 --- a/app/controllers/collections/detail/index.js +++ b/app/controllers/collections/detail/index.js @@ -1,6 +1,4 @@ -import Ember from 'ember'; - -const { Controller } = Ember; +import Controller from '@ember/controller'; export default Controller.extend({ actions: { diff --git a/app/controllers/collections/index.js b/app/controllers/collections/index.js index fb40f9a..d4a8cdf 100644 --- a/app/controllers/collections/index.js +++ b/app/controllers/collections/index.js @@ -1,6 +1,5 @@ -import Ember from 'ember'; - -const { Controller, computed, get, set } = Ember; +import Controller from '@ember/controller'; +import { set, get, computed } from '@ember/object'; export default Controller.extend({ diff --git a/app/controllers/login.js b/app/controllers/login.js index e5bb9c8..7311a02 100644 --- a/app/controllers/login.js +++ b/app/controllers/login.js @@ -1,6 +1,5 @@ -import Ember from 'ember'; - -const { Controller, inject: { service } } = Ember; +import Controller from '@ember/controller'; +import { inject as service } from '@ember/service'; export default Controller.extend({ session: service(), diff --git a/app/index.html b/app/index.html index e01418d..edae105 100644 --- a/app/index.html +++ b/app/index.html @@ -17,8 +17,8 @@
{{content-for "body"}} - - + + {{content-for "body-footer"}} diff --git a/app/mixins/file-upload.js b/app/mixins/file-upload.js index d078638..5117782 100644 --- a/app/mixins/file-upload.js +++ b/app/mixins/file-upload.js @@ -1,6 +1,5 @@ -import Ember from 'ember'; - -const { Mixin, isArray } = Ember; +import Mixin from '@ember/object/mixin'; +import { isArray } from '@ember/array'; const { keys } = Object; // Portions borrowed from https://github.com/funtusov/ember-cli-form-data diff --git a/app/mixins/validation.js b/app/mixins/validation.js index 8196643..0ad01ac 100644 --- a/app/mixins/validation.js +++ b/app/mixins/validation.js @@ -1,6 +1,6 @@ -import Ember from 'ember'; - -const { Mixin, get, RSVP } = Ember; +import Mixin from '@ember/object/mixin'; +import { get } from '@ember/object'; +import RSVP from 'rsvp'; const { keys } = Object; const { isArray } = Array; diff --git a/app/models/collection.js b/app/models/collection.js index 0997f74..ccd1135 100644 --- a/app/models/collection.js +++ b/app/models/collection.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import { mapBy } from '@ember/object/computed'; +import { computed } from '@ember/object'; import DS from 'ember-data'; -const { computed } = Ember; const { Model, attr, belongsTo, hasMany } = DS; export default Model.extend({ @@ -24,11 +24,11 @@ export default Model.extend({ envMeasurements: hasMany('collection-measurement'), // computed - species: computed.mapBy('collectionSpecies', 'species'), + species: mapBy('collectionSpecies', 'species'), - speciesNames: computed.mapBy('species', 'commonName'), + speciesNames: mapBy('species', 'commonName'), - counts: computed.mapBy('collectionSpecies', 'count'), + counts: mapBy('collectionSpecies', 'count'), speciesAndCounts: computed('speciesNames', 'counts', function() { const speciesNames = this.get('speciesNames'); diff --git a/app/router.js b/app/router.js index b0b2914..af47bd2 100644 --- a/app/router.js +++ b/app/router.js @@ -1,7 +1,7 @@ -import Ember from 'ember'; +import EmberRouter from '@ember/routing/router'; import config from './config/environment'; -const Router = Ember.Router.extend({ +const Router = EmberRouter.extend({ location: config.locationType, rootURL: config.rootURL }); diff --git a/app/routes/application.js b/app/routes/application.js index 38bb6b3..b83c2c8 100644 --- a/app/routes/application.js +++ b/app/routes/application.js @@ -1,6 +1,4 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin'; -const { Route } = Ember; - export default Route.extend(ApplicationRouteMixin, {}); diff --git a/app/routes/collections/create.js b/app/routes/collections/create.js index 2ecd267..f31deb6 100644 --- a/app/routes/collections/create.js +++ b/app/routes/collections/create.js @@ -1,6 +1,5 @@ -import Ember from 'ember'; - -const { Route, RSVP } = Ember; +import Route from '@ember/routing/route'; +import RSVP from 'rsvp'; export default Route.extend({ model() { diff --git a/app/routes/collections/detail.js b/app/routes/collections/detail.js index 2fb322c..354115c 100644 --- a/app/routes/collections/detail.js +++ b/app/routes/collections/detail.js @@ -1,6 +1,5 @@ -import Ember from 'ember'; - -const { Route, RSVP } = Ember; +import Route from '@ember/routing/route'; +import RSVP from 'rsvp'; export default Route.extend({ model(params) { diff --git a/app/routes/collections/detail/edit.js b/app/routes/collections/detail/edit.js index fc99b16..47edc53 100644 --- a/app/routes/collections/detail/edit.js +++ b/app/routes/collections/detail/edit.js @@ -1,6 +1,5 @@ -import Ember from 'ember'; - -const { Route, RSVP } = Ember; +import Route from '@ember/routing/route'; +import RSVP from 'rsvp'; export default Route.extend({ model() { diff --git a/app/routes/collections/index.js b/app/routes/collections/index.js index 179e389..475eac3 100644 --- a/app/routes/collections/index.js +++ b/app/routes/collections/index.js @@ -1,6 +1,5 @@ -import Ember from 'ember'; - -const { Route, RSVP } = Ember; +import Route from '@ember/routing/route'; +import RSVP from 'rsvp'; export default Route.extend({ queryParams: { diff --git a/app/routes/index.js b/app/routes/index.js index 88a3843..6d9dcb7 100644 --- a/app/routes/index.js +++ b/app/routes/index.js @@ -1,8 +1,6 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin'; -const { Route } = Ember; - export default Route.extend(AuthenticatedRouteMixin, { afterModel() { this.transitionTo('collections'); diff --git a/app/routes/login.js b/app/routes/login.js index a9687fd..e05233c 100644 --- a/app/routes/login.js +++ b/app/routes/login.js @@ -1,6 +1,4 @@ -import Ember from 'ember'; +import Route from '@ember/routing/route'; import UnauthenticatedRouteMixin from 'ember-simple-auth/mixins/unauthenticated-route-mixin'; -const { Route } = Ember; - export default Route.extend(UnauthenticatedRouteMixin, {}); diff --git a/app/routes/logout.js b/app/routes/logout.js index c83dc10..0056d12 100644 --- a/app/routes/logout.js +++ b/app/routes/logout.js @@ -1,6 +1,5 @@ -import Ember from 'ember'; - -const { Route, inject: { service }} = Ember; +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; export default Route.extend({ session: service('session'), diff --git a/app/serializers/application.js b/app/serializers/application.js index 9a1dc6f..d8d8701 100644 --- a/app/serializers/application.js +++ b/app/serializers/application.js @@ -1,10 +1,16 @@ -import Ember from 'ember'; +import { capitalize } from '@ember/string'; import DS from 'ember-data'; const { JSONAPISerializer } = DS; export default JSONAPISerializer.extend({ payloadTypeFromModelName(modelName) { - return modelName.split('-').map(key => Ember.String.capitalize(key)).join(''); - } + return modelName.split('-').map(key => capitalize(key)).join(''); + }, + + normalizeArrayResponse(store, primaryModelClass, payload, id, requestType) { + let normalizedDocument = this._super(store, primaryModelClass, payload, id, requestType); + normalizedDocument.meta.links = normalizedDocument.links; + return normalizedDocument; + }, }); diff --git a/package.json b/package.json index 365f74e..426909c 100644 --- a/package.json +++ b/package.json @@ -19,23 +19,23 @@ "ember-ajax": "^3.0.0", "ember-changeset": "1.3.0", "ember-changeset-validations": "1.2.8", - "ember-cli": "~2.14.0", + "ember-cli": "^2.16.2", "ember-cli-app-version": "^3.0.0", - "ember-cli-babel": "^6.3.0", + "ember-cli-babel": "^6.6.0", "ember-cli-code-coverage": "^0.4.1", - "ember-cli-dependency-checker": "^1.3.0", - "ember-cli-eslint": "^3.0.0", - "ember-cli-flash": "1.4.3", + "ember-cli-dependency-checker": "^2.0.0", + "ember-cli-eslint": "^4.0.0", + "ember-cli-flash": "^1.4.3", "ember-cli-htmlbars": "^2.0.1", - "ember-cli-htmlbars-inline-precompile": "^0.4.3", + "ember-cli-htmlbars-inline-precompile": "^1.0.0", "ember-cli-inject-live-reload": "^1.4.1", "ember-cli-moment-shim": "^3.5.0", "ember-cli-qunit": "^4.0.0", "ember-cli-shims": "^1.1.0", "ember-cli-sri": "^2.1.0", - "ember-cli-uglify": "^1.2.0", + "ember-cli-uglify": "^2.0.0", "ember-composable-helpers": "^2.0.3", - "ember-data": "~2.14.3", + "ember-data": "~2.16.2", "ember-export-application-global": "^2.0.0", "ember-inflector": "^2.0.1", "ember-light-table": "^1.10.0", @@ -48,7 +48,7 @@ "ember-responsive": "^2.0.4", "ember-simple-auth": "1.4.0", "ember-sinon": "^1.0.0", - "ember-source": "~2.14.0", + "ember-source": "~2.16.0", "loader.js": "^4.2.3" }, "engines": { diff --git a/testem.js b/testem.js index f413516..e79c22e 100644 --- a/testem.js +++ b/testem.js @@ -3,10 +3,20 @@ module.exports = { test_page: 'tests/index.html?hidepassed', disable_watching: true, launch_in_ci: [ - 'PhantomJS' + 'Chrome' ], launch_in_dev: [ - 'PhantomJS', 'Chrome' - ] + ], + browser_args: { + Chrome: { + mode: 'ci', + args: [ + '--disable-gpu', + '--headless', + '--remote-debugging-port=9222', + '--window-size=1440,900' + ] + }, + } }; diff --git a/tests/helpers/destroy-app.js b/tests/helpers/destroy-app.js index c3d4d1a..e7f983b 100644 --- a/tests/helpers/destroy-app.js +++ b/tests/helpers/destroy-app.js @@ -1,5 +1,5 @@ -import Ember from 'ember'; +import { run } from '@ember/runloop'; export default function destroyApp(application) { - Ember.run(application, 'destroy'); + run(application, 'destroy'); } diff --git a/tests/helpers/flash-message.js b/tests/helpers/flash-message.js index 419b4ca..56646e8 100644 --- a/tests/helpers/flash-message.js +++ b/tests/helpers/flash-message.js @@ -1,6 +1,3 @@ -import Ember from 'ember'; import FlashObject from 'ember-cli-flash/flash/object'; -const { K } = Ember; - -FlashObject.reopen({ init: K }); +FlashObject.reopen({ init() {} }); diff --git a/tests/helpers/module-for-acceptance.js b/tests/helpers/module-for-acceptance.js index 5a1a583..90a93ba 100644 --- a/tests/helpers/module-for-acceptance.js +++ b/tests/helpers/module-for-acceptance.js @@ -1,10 +1,8 @@ import { module } from 'qunit'; -import Ember from 'ember'; +import { resolve } from 'rsvp'; import startApp from '../helpers/start-app'; import destroyApp from '../helpers/destroy-app'; -const { RSVP: { resolve } } = Ember; - export default function(name, options = {}) { module(name, { beforeEach() { diff --git a/tests/helpers/responsive.js b/tests/helpers/responsive.js index 3ac7fbb..d7a9dde 100644 --- a/tests/helpers/responsive.js +++ b/tests/helpers/responsive.js @@ -1,17 +1,16 @@ -import Ember from 'ember'; +import { registerAsyncHelper } from '@ember/test'; +import { A } from '@ember/array'; +import { computed } from '@ember/object'; +import { classify } from '@ember/string'; +import { getOwner } from '@ember/application'; import MediaService from 'ember-responsive/media'; -const { - getOwner -} = Ember; -const { classify } = Ember.String; - MediaService.reopen({ // Change this if you want a different default breakpoint in tests. _defaultBreakpoint: 'desktop', - _breakpointArr: Ember.computed('breakpoints', function() { - return Object.keys(this.get('breakpoints')) || Ember.A([]); + _breakpointArr: computed('breakpoints', function() { + return Object.keys(this.get('breakpoints')) || A([]); }), _forceSetBreakpoint(breakpoint) { @@ -45,7 +44,7 @@ MediaService.reopen({ } }); -export default Ember.Test.registerAsyncHelper('setBreakpoint', function(app, breakpoint) { +export default registerAsyncHelper('setBreakpoint', function(app, breakpoint) { // this should use getOwner once that's supported const mediaService = app.__deprecatedInstance__.lookup('service:media'); mediaService._forceSetBreakpoint(breakpoint); diff --git a/tests/helpers/start-app.js b/tests/helpers/start-app.js index 9a605eb..681aa01 100644 --- a/tests/helpers/start-app.js +++ b/tests/helpers/start-app.js @@ -1,12 +1,13 @@ -import Ember from 'ember'; import Application from '../../app'; import config from '../../config/environment'; +import { merge } from '@ember/polyfills'; +import { run } from '@ember/runloop'; export default function startApp(attrs) { - let attributes = Ember.merge({}, config.APP); - attributes = Ember.merge(attributes, attrs); // use defaults, but you can override; + let attributes = merge({}, config.APP); + attributes = merge(attributes, attrs); // use defaults, but you can override; - return Ember.run(() => { + return run(() => { let application = Application.create(attributes); application.setupForTesting(); application.injectTestHelpers(); diff --git a/tests/unit/authenticators/application-test.js b/tests/unit/authenticators/application-test.js index 6cf975e..31a38b1 100644 --- a/tests/unit/authenticators/application-test.js +++ b/tests/unit/authenticators/application-test.js @@ -1,6 +1,6 @@ +import $ from 'jquery'; import { moduleFor, test } from 'ember-qunit'; import sinon from 'sinon'; -import Ember from 'ember'; moduleFor('authenticator:application', 'Unit | application', { unit: true, @@ -35,28 +35,28 @@ test('`invalidate` should invalidate the session', function(assert) { test('`makeRequest` should make a request', function(assert) { assert.expect(2); - const stub = sinon.stub(Ember.$, 'ajax'); + const stub = sinon.stub($, 'ajax'); stub.resolves(42); const authenticator = this.subject(); authenticator.set('serverTokenEndpoint', 'foo') const promise = authenticator.makeRequest({bar: 'baz'}).then((d) => { assert.equal(d, 42); }); - assert.ok(Ember.$.ajax.calledWithMatch({url: 'foo', data: {bar: 'baz'}})); - Ember.$.ajax.restore(); + assert.ok($.ajax.calledWithMatch({url: 'foo', data: {bar: 'baz'}})); + $.ajax.restore(); return promise; }); test('authenticate should craft a nice payload', function(assert) { assert.expect(2); - const stub = sinon.stub(Ember.$, 'ajax'); + const stub = sinon.stub($, 'ajax'); stub.resolves(42); const authenticator = this.subject(); authenticator.set('serverTokenEndpoint', 'foo') const promise = authenticator.authenticate('myusername', 'mypassword').then((d) => { assert.equal(d, 42); }); - assert.ok(Ember.$.ajax.calledWithMatch({url: 'foo', data: {username: 'myusername', password: 'mypassword'}})); - Ember.$.ajax.restore(); + assert.ok($.ajax.calledWithMatch({url: 'foo', data: {username: 'myusername', password: 'mypassword'}})); + $.ajax.restore(); return promise; });