Add tests for creating user

pull/975/head
Jared Scheib 2017-03-09 12:48:37 -08:00
parent b9d02d51f6
commit dcaa72b57c
2 changed files with 56 additions and 14 deletions

View File

@ -2,7 +2,8 @@ import reducer from 'src/admin/reducers/admin'
import {
addUser,
removeAddedUser,
confirmUserCreated,
editUser,
loadRoles,
deleteRole,
deleteUser,
@ -15,10 +16,29 @@ const r1 = {name: 'role1'}
const r2 = {name: 'role2'}
const roles = [r1, r2]
const u1 = {name: 'user1'}
const u2 = {name: 'user2'}
const u1 = {
name: 'acidburn',
roles: [],
permissions: [],
links: {self: '/chronograf/v1/sources/1/users/acidburn'},
}
const u2 = {
name: 'zerocool',
roles: [],
permissions: [],
links: {self: '/chronograf/v1/sources/1/users/zerocool'},
}
const users = [u1, u2]
const newDefaultUser = {
name: '',
password: '',
roles: [],
permissions: [],
links: {self: ''},
isNew: true,
}
describe('Admin.Reducers', () => {
it('it can add a user', () => {
state = {
@ -27,7 +47,29 @@ describe('Admin.Reducers', () => {
]
}
const actual = reducer(state, addUser(u2))
const actual = reducer(state, addUser())
const expected = {
users: [
{...newDefaultUser, isEditing: true},
u1,
],
}
expect(actual.users).to.deep.equal(expected.users)
})
it('it can confirm a created user', () => {
const addedUser = {
name: 'acidburn',
password: 'pass1',
roles: [],
permissions: [],
links: {self: ''},
isNew: true,
}
state = {users: [u2, addedUser]}
const actual = reducer(state, confirmUserCreated(addedUser, u1))
const expected = {
users: [u2, u1],
}
@ -35,12 +77,15 @@ describe('Admin.Reducers', () => {
expect(actual.users).to.deep.equal(expected.users)
})
it('it can remove an added user', () => {
state = {users}
it('it can edit a user', () => {
const updates = {name: 'onecool'}
state = {
users: [u2, u1],
}
const actual = reducer(state, removeAddedUser(u1))
const actual = reducer(state, editUser(u2, updates))
const expected = {
users: [u2],
users: [{...u2, ...updates}, u1]
}
expect(actual.users).to.deep.equal(expected.users)
@ -103,12 +148,12 @@ describe('Admin.Reducers', () => {
expect(actual.roles).to.deep.equal(expected.roles)
})
it('can filter users w/ "2" text', () => {
it('can filter users w/ "zero" text', () => {
state = {
users,
}
const text = '2'
const text = 'zero'
const actual = reducer(state, filterUsers(text))
const expected = {

View File

@ -25,11 +25,8 @@ export const loadRoles = ({roles}) => ({
},
})
export const addUser = (user) => ({
export const addUser = () => ({
type: 'ADD_USER',
payload: {
user,
},
})
export const confirmUserCreated = (user, createdUser) => ({