From b17d7a9529fb6c78d2e33d7be80d3981e7916d00 Mon Sep 17 00:00:00 2001 From: Josh Smith Date: Tue, 7 Nov 2017 11:47:02 -0800 Subject: [PATCH] Fix service test --- tests/unit/services/project-user-test.js | 55 ++++++++++-------------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/tests/unit/services/project-user-test.js b/tests/unit/services/project-user-test.js index e45268590..0491c5fd9 100644 --- a/tests/unit/services/project-user-test.js +++ b/tests/unit/services/project-user-test.js @@ -1,10 +1,8 @@ import RSVP from 'rsvp'; -import { set, get } from '@ember/object'; +import { set } from '@ember/object'; import { moduleFor, test } from 'ember-qunit'; -import { getFlashMessageCount } from 'code-corps-ember/tests/helpers/flash-message'; moduleFor('service:project-user', 'Unit | Service | project user', { - needs: [ 'service:current-user', 'service:flash-messages', @@ -13,50 +11,43 @@ moduleFor('service:project-user', 'Unit | Service | project user', { ] }); -test('it exists', function(assert) { - let service = this.subject(); - assert.ok(service); -}); - test('it creates a new projectUser with properties', function(assert) { + assert.expect(3); let done = assert.async(); let service = this.subject(); - let user = get(this, 'currentUser.user'); + let user = { id: 1 }; + let project = { title: 'Code Corps' }; + let projectUser = { project, user, role: 'pending' }; + + let mockCurrentUser = { user }; let mockStore = { - createRecord(projectUser) { - project:'Code Corps', - user, - role: + createRecord(modelName, inputProperties) { return { save() { - return RSVP.resolve({ projectUser }); + assert.equal(modelName, 'project-user'); + assert.deepEqual(inputProperties, projectUser); + return RSVP.resolve(projectUser); } }; } }; let mockFlashMessage = { - _flashSuccess(message) - } - - let currentUser = get(this, 'currentUser.user'); + clearMessages() { + return { + success() { + assert.ok(true); + } + }; + } + }; - let user = { - currentUser, - project: 'Code Corps', - role: 'pending' }; + set(service, 'currentUser', mockCurrentUser); + set(service, 'flashMessages', mockFlashMessage); + set(service, 'store', mockStore); - service.joinProject(user).then((result) => { - set(service, 'store', mockStore); - let created = get(result, 'created'); - assert.equal(created, true); + service.joinProject(project).then(() => { done(); }); }); - - - service.flashMessages.create('success!').then(() => { - assert.equal(getFlashMessageCount(this), 1, 'A flash message was shown.'); - }); -});