/* jshint expr:true */ import { expect } from 'chai'; import { describeModel, it } from 'ember-mocha'; import Pretender from 'pretender'; describeModel('user', 'Unit: Adapter: user', { needs: [ 'service:ghost-paths', 'service:session', 'adapter:user', 'serializer:user' ] }, function () { let server; beforeEach(function () { server = new Pretender(); }); afterEach(function () { server.shutdown(); }); it('loads users from regular endpoint when all are fetched', function (done) { server.get('/ghost/api/v0.1/users/', function () { return [200, {'Content-Type': 'application/json'}, JSON.stringify({users: [{ id: 1, name: 'User 1', slug: 'user-1' }, { id: 2, name: 'User 2', slug: 'user-2' }]})]; }); this.store().findAll('user', {reload: true}).then((users) => { expect(users).to.be.ok; expect(users.objectAtContent(0).get('name')).to.equal('User 1'); done(); }); }); it('loads user from slug endpoint when single user is queried and slug is passed in', function (done) { server.get('/ghost/api/v0.1/users/slug/user-1/', function () { return [200, {'Content-Type': 'application/json'}, JSON.stringify({users: [{ id: 1, slug: 'user-1', name: 'User 1' }]})]; }); this.store().queryRecord('user', {slug: 'user-1'}).then((user) => { expect(user).to.be.ok; expect(user.get('name')).to.equal('User 1'); done(); }); }); });