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

51 lines
1.4 KiB
JavaScript
Raw Normal View History

2016-11-26 03:25:35 +00:00
require('chai').should()
2015-12-13 04:42:28 +00:00
2016-11-26 03:25:35 +00:00
import { userStore } from '../../stores'
import data from '../blobs/users'
2015-12-13 04:42:28 +00:00
describe('stores/user', () => {
2016-11-26 03:25:35 +00:00
beforeEach(() => userStore.init(data.users, data.currentUser))
2015-12-13 04:42:28 +00:00
2016-06-25 16:05:24 +00:00
describe('#init', () => {
it('correctly sets data state', () => {
2016-11-26 03:25:35 +00:00
userStore.state.users.should.equal(data.users)
userStore.state.current.should.equal(data.currentUser)
})
})
2015-12-13 04:42:28 +00:00
2016-06-25 16:05:24 +00:00
describe('#all', () => {
it('correctly returns all users', () => {
2016-11-26 03:25:35 +00:00
userStore.all.should.equal(data.users)
})
})
2015-12-13 04:42:28 +00:00
2016-06-25 16:05:24 +00:00
describe('#byId', () => {
it('correctly gets a user by ID', () => {
2016-11-26 03:25:35 +00:00
userStore.byId(1).should.equal(data.users[0])
})
})
2015-12-13 04:42:28 +00:00
2016-06-25 16:05:24 +00:00
describe('#current', () => {
it('correctly gets the current user', () => {
2016-11-26 03:25:35 +00:00
userStore.current.id.should.equal(1)
})
2015-12-13 04:42:28 +00:00
2016-06-25 16:05:24 +00:00
it('correctly sets the current user', () => {
2016-11-26 03:25:35 +00:00
userStore.current = data.users[1]
userStore.current.id.should.equal(2)
})
})
2015-12-13 04:42:28 +00:00
2016-06-25 16:05:24 +00:00
describe('#setAvatar', () => {
it('correctly sets the current users avatar', () => {
2016-11-26 03:25:35 +00:00
userStore.setAvatar()
userStore.current.avatar.should.equal('https://www.gravatar.com/avatar/b9611f1bba1aacbe6f5de5856695a202?s=256')
})
2015-12-13 04:42:28 +00:00
2016-06-25 16:05:24 +00:00
it('correctly sets a users avatar', () => {
2016-11-26 03:25:35 +00:00
userStore.setAvatar(data.users[1])
data.users[1].avatar.should.equal('https://www.gravatar.com/avatar/5024672cfe53f113b746e1923e373058?s=256')
})
})
})