require('chai').should(); import userStore from '../../stores/user'; import data from '../blobs/users'; describe('stores/user', () => { beforeEach(() => userStore.init(data.users, data.currentUser)); describe('#init', () => { it('correctly sets data state', () => { userStore.state.users.should.equal(data.users); userStore.state.current.should.equal(data.currentUser); }); }); describe('#all', () => { it('correctly returns all users', () => { userStore.all().should.equal(data.users); }); }); describe('#byId', () => { it('correctly gets a user by ID', () => { userStore.byId(1).should.equal(data.users[0]); }); }); describe('#current', () => { it('correctly gets the current user', () => { userStore.current().id.should.equal(1); }); it('correctly sets the current user', () => { userStore.current(data.users[1]); userStore.state.current.id.should.equal(2); }); }); describe('#setAvatar', () => { it('correctly sets the current user’s avatar', () => { userStore.setAvatar(); userStore.current().avatar.should.equal('https://www.gravatar.com/avatar/b9611f1bba1aacbe6f5de5856695a202?s=256'); }); it('correctly sets a user’s avatar', () => { userStore.setAvatar(data.users[1]); data.users[1].avatar.should.equal('https://www.gravatar.com/avatar/5024672cfe53f113b746e1923e373058?s=256'); }); }); describe('#updateProfile', () => { }); describe('#store', () => { }); describe('#update', () => { }); describe('#destroy', () => { }); });