From 170a4ec4aa374e40f1632d4fd4570e6bfd547b61 Mon Sep 17 00:00:00 2001 From: Alisdair McDiarmid Date: Tue, 9 Jun 2015 00:37:48 +0100 Subject: [PATCH] Add working users stub route, template, model It works! --- app/adapters/application.js | 4 ++++ app/mirage/config.js | 2 +- app/mirage/scenarios/default.js | 3 +++ app/models/user.js | 10 ++++++++++ app/router.js | 1 + app/routes/users.js | 7 +++++++ app/templates/users.hbs | 5 +++++ tests/unit/adapters/slack-test.js | 1 + tests/unit/models/user-test.js | 12 ++++++++++++ tests/unit/routes/users-test.js | 11 +++++++++++ 10 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 app/adapters/application.js create mode 100644 app/mirage/scenarios/default.js create mode 100644 app/models/user.js create mode 100644 app/routes/users.js create mode 100644 app/templates/users.hbs create mode 100644 tests/unit/models/user-test.js create mode 100644 tests/unit/routes/users-test.js diff --git a/app/adapters/application.js b/app/adapters/application.js new file mode 100644 index 0000000..a9023ae --- /dev/null +++ b/app/adapters/application.js @@ -0,0 +1,4 @@ +import SlackAdapter from './slack'; + +export default SlackAdapter.extend({ +}); diff --git a/app/mirage/config.js b/app/mirage/config.js index 2a5121e..f97a6f4 100644 --- a/app/mirage/config.js +++ b/app/mirage/config.js @@ -13,7 +13,7 @@ function invalidTokenResponse(token) { export default function() { this.get('/slack/users.list', function(db, request) { let response = invalidTokenResponse(request.params.token); - if (!Ember.isNone(response)) { return response; } + // if (!Ember.isNone(response)) { return response; } return { ok: true, members: db.users }; }); diff --git a/app/mirage/scenarios/default.js b/app/mirage/scenarios/default.js new file mode 100644 index 0000000..e67e143 --- /dev/null +++ b/app/mirage/scenarios/default.js @@ -0,0 +1,3 @@ +export default function(server) { + server.createList('user', 10); +} diff --git a/app/models/user.js b/app/models/user.js new file mode 100644 index 0000000..41dd2bf --- /dev/null +++ b/app/models/user.js @@ -0,0 +1,10 @@ +import DS from 'ember-data'; + +export default DS.Model.extend({ + name: DS.attr(), + deleted: DS.attr(), + realName: DS.attr(), + tz: DS.attr(), + tzLabel: DS.attr(), + tzOffset: DS.attr() +}); diff --git a/app/router.js b/app/router.js index ad4cb69..23d415d 100644 --- a/app/router.js +++ b/app/router.js @@ -8,6 +8,7 @@ var Router = Ember.Router.extend({ Router.map(function() { this.route('login'); this.route('authorize'); + this.resource('users'); }); export default Router; diff --git a/app/routes/users.js b/app/routes/users.js new file mode 100644 index 0000000..11e9638 --- /dev/null +++ b/app/routes/users.js @@ -0,0 +1,7 @@ +import Ember from 'ember'; + +export default Ember.Route.extend({ + model: function(params) { + return this.store.find('user'); + } +}); diff --git a/app/templates/users.hbs b/app/templates/users.hbs new file mode 100644 index 0000000..54154da --- /dev/null +++ b/app/templates/users.hbs @@ -0,0 +1,5 @@ +

{{model.length}} Users

+ +{{#each model as |user|}} +

{{user.name}}: {{user.realName}}

+{{/each}} diff --git a/tests/unit/adapters/slack-test.js b/tests/unit/adapters/slack-test.js index 92b127f..5a41df5 100644 --- a/tests/unit/adapters/slack-test.js +++ b/tests/unit/adapters/slack-test.js @@ -1,3 +1,4 @@ +import Ember from 'ember'; import { moduleFor, test } from 'ember-qunit'; moduleFor('adapter:slack', 'Unit | Adapter | slack'); diff --git a/tests/unit/models/user-test.js b/tests/unit/models/user-test.js new file mode 100644 index 0000000..76fb4b9 --- /dev/null +++ b/tests/unit/models/user-test.js @@ -0,0 +1,12 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('user', 'Unit | Model | user', { + // Specify the other units that are required for this test. + needs: [] +}); + +test('it exists', function(assert) { + var model = this.subject(); + // var store = this.store(); + assert.ok(!!model); +}); diff --git a/tests/unit/routes/users-test.js b/tests/unit/routes/users-test.js new file mode 100644 index 0000000..0a44559 --- /dev/null +++ b/tests/unit/routes/users-test.js @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:users', 'Unit | Route | users', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + var route = this.subject(); + assert.ok(route); +});