diff --git a/app/models/log.js b/app/models/log.js index 8a52f5e4..45fbc6e2 100644 --- a/app/models/log.js +++ b/app/models/log.js @@ -28,12 +28,14 @@ var Request = Ember.Object.extend({ return $.ajax({ url: this.redirectTo(xhr), type: 'GET', - success: this.handlers.text + success: (body) => { + Ember.run(this, function() { this.handlers.text(body); }); + } }); } else if (this.isJson(xhr, body)) { - return this.handlers.json(body); + return Ember.run(this, function() { this.handlers.json(body); }); } else { - return this.handlers.text(body); + return Ember.run(this, function() { this.handlers.text(body); }); } }, diff --git a/bower.json b/bower.json index 3155e050..42626fb9 100644 --- a/bower.json +++ b/bower.json @@ -16,7 +16,7 @@ "jquery-timeago": "~1.4.1", "pusher": "~2.2.3", "ember-resolver": "~0.1.20", - "pretender": "~0.10.1", + "pretender": "~0.12.0", "lodash": "~3.7.0", "Faker": "~3.0.0", "ceibo": "1.0.0" diff --git a/app/mirage/config.js b/mirage/config.js similarity index 77% rename from app/mirage/config.js rename to mirage/config.js index fac12456..468131b8 100644 --- a/app/mirage/config.js +++ b/mirage/config.js @@ -3,6 +3,9 @@ import Mirage from 'ember-cli-mirage'; export default function() { let _turnIntoV3Singular = function(type, record) { + if(record.attrs) { + record = record.attrs; + } record['@type'] = type; record['@href'] = `/${type}/${record.id}`; @@ -25,30 +28,28 @@ export default function() { return response; }; - this.get('/repos', function(db, request) { - return turnIntoV3('repository', db.repositories); + this.get('/repos', function(schema, request) { + return turnIntoV3('repository', schema.repository.all()); }); - this.get('/repo/:slug', function(db, request) { - let repos = db.repositories.filter((repo) => { - return decodeURIComponent(request.params.slug) === repo.slug; - }); + this.get('/repo/:slug', function(schema, request) { + let repos = schema.repository.where({ slug: decodeURIComponent(request.params.slug) }); return turnIntoV3('repository', repos[0]); }); - this.get('/jobs/:id', function(db, request) { - return {job: db.jobs.find(request.params.id), commit: db.commits[0]}; + this.get('/jobs/:id', function(schema, request) { + return {job: schema.job.find(request.params.id).attrs, commit: schema.commit.all()[0].attrs}; }); - this.get('/jobs', function(db, request) { - return {jobs: db.jobs}; + this.get('/jobs', function(schema, request) { + return {jobs: schema.job.all()}; }); - this.get('/builds/:id', function(db, request) { - return {build: db.builds.find(request.params.id), commit: db.commits[0]}; + this.get('/builds/:id', function(schema, request) { + return {build: schema.build.find(request.params.id).attrs, commit: schema.commit.all()[0].attrs}; }); - this.get('/jobs/:id/log', function(db, request) { - let log = db.logs.find(request.params.id); + this.get('/jobs/:id/log', function(schema, request) { + let log = schema.log.find(request.params.id); if(log) { - return { log: { parts: [{ id: log.id, number: 1, content: log.content}] }}; + return { log: { parts: [{ id: log.attrs.id, number: 1, content: log.attrs.content}] }}; } else { return new Mirage.Response(404, {}, {}); } diff --git a/app/mirage/factories/branch.js b/mirage/factories/branch.js similarity index 100% rename from app/mirage/factories/branch.js rename to mirage/factories/branch.js diff --git a/app/mirage/factories/build.js b/mirage/factories/build.js similarity index 100% rename from app/mirage/factories/build.js rename to mirage/factories/build.js diff --git a/app/mirage/factories/commit.js b/mirage/factories/commit.js similarity index 100% rename from app/mirage/factories/commit.js rename to mirage/factories/commit.js diff --git a/app/mirage/factories/contact.js b/mirage/factories/contact.js similarity index 100% rename from app/mirage/factories/contact.js rename to mirage/factories/contact.js diff --git a/app/mirage/factories/job.js b/mirage/factories/job.js similarity index 100% rename from app/mirage/factories/job.js rename to mirage/factories/job.js diff --git a/app/mirage/factories/log.js b/mirage/factories/log.js similarity index 100% rename from app/mirage/factories/log.js rename to mirage/factories/log.js diff --git a/app/mirage/factories/repository.js b/mirage/factories/repository.js similarity index 100% rename from app/mirage/factories/repository.js rename to mirage/factories/repository.js diff --git a/mirage/models/build.js b/mirage/models/build.js new file mode 100644 index 00000000..1486a724 --- /dev/null +++ b/mirage/models/build.js @@ -0,0 +1,4 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({ +}); diff --git a/mirage/models/commit.js b/mirage/models/commit.js new file mode 100644 index 00000000..1486a724 --- /dev/null +++ b/mirage/models/commit.js @@ -0,0 +1,4 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({ +}); diff --git a/mirage/models/job.js b/mirage/models/job.js new file mode 100644 index 00000000..1486a724 --- /dev/null +++ b/mirage/models/job.js @@ -0,0 +1,4 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({ +}); diff --git a/mirage/models/log.js b/mirage/models/log.js new file mode 100644 index 00000000..1486a724 --- /dev/null +++ b/mirage/models/log.js @@ -0,0 +1,4 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({ +}); diff --git a/mirage/models/repository.js b/mirage/models/repository.js new file mode 100644 index 00000000..1486a724 --- /dev/null +++ b/mirage/models/repository.js @@ -0,0 +1,4 @@ +import { Model } from 'ember-cli-mirage'; + +export default Model.extend({ +}); diff --git a/app/mirage/scenarios/default.js b/mirage/scenarios/default.js similarity index 100% rename from app/mirage/scenarios/default.js rename to mirage/scenarios/default.js diff --git a/mirage/serializers/application.js b/mirage/serializers/application.js new file mode 100644 index 00000000..6d47a366 --- /dev/null +++ b/mirage/serializers/application.js @@ -0,0 +1,4 @@ +import { JSONAPISerializer } from 'ember-cli-mirage'; + +export default JSONAPISerializer.extend({ +}); diff --git a/package.json b/package.json index d40148d8..3f9a4434 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "ember-cli-htmlbars-inline-precompile": "^0.3.1", "ember-cli-inject-live-reload": "^1.3.1", "ember-cli-inline-images": "^0.0.4", - "ember-cli-mirage": "0.1.11", + "ember-cli-mirage": "0.2.0-beta.7", "ember-cli-page-object": "1.0.0", "ember-cli-pendo": "drogus/ember-cli-pendo", "ember-cli-pretender": "0.3.1", diff --git a/tests/helpers/destroy-app.js b/tests/helpers/destroy-app.js index c3d4d1ab..3a0114aa 100644 --- a/tests/helpers/destroy-app.js +++ b/tests/helpers/destroy-app.js @@ -2,4 +2,5 @@ import Ember from 'ember'; export default function destroyApp(application) { Ember.run(application, 'destroy'); + server.shutdown(); }