koel/resources/assets/js/tests/stores/userTest.js

69 lines
1.7 KiB
JavaScript
Raw Normal View History

2015-12-13 04:42:28 +00:00
require('chai').should();
import userStore from '../../stores/user';
import data from '../blobs/users';
describe('stores/user', () => {
beforeEach(() => {
userStore.init(data);
});
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 users avatar', () => {
userStore.setAvatar();
userStore.current().avatar.should.equal('https://www.gravatar.com/avatar/b9611f1bba1aacbe6f5de5856695a202?s=256');
});
it('correctly sets a users 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', () => {
});
});