From fd06092ac8df807de1d230ee373ac08cf1178182 Mon Sep 17 00:00:00 2001 From: Jared Scheib Date: Thu, 9 Mar 2017 12:48:37 -0800 Subject: [PATCH] Add tests for creating user --- ui/spec/admin/reducers/adminSpec.js | 65 ++++++++++++++++++++++++----- ui/src/admin/actions/index.js | 5 +-- 2 files changed, 56 insertions(+), 14 deletions(-) diff --git a/ui/spec/admin/reducers/adminSpec.js b/ui/spec/admin/reducers/adminSpec.js index 1b358ebfe1..d6c8177cf0 100644 --- a/ui/spec/admin/reducers/adminSpec.js +++ b/ui/spec/admin/reducers/adminSpec.js @@ -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 = { diff --git a/ui/src/admin/actions/index.js b/ui/src/admin/actions/index.js index 866e88c430..89ee020d22 100644 --- a/ui/src/admin/actions/index.js +++ b/ui/src/admin/actions/index.js @@ -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) => ({