diff --git a/scm-ui/src/users/modules/users.js b/scm-ui/src/users/modules/users.js index 27e1052604..919863e116 100644 --- a/scm-ui/src/users/modules/users.js +++ b/scm-ui/src/users/modules/users.js @@ -170,7 +170,7 @@ function deleteUserFailure(url: string, err: Error) { } export function deleteUser(link: string) { - return function(dispatch: ThunkDispatch) { + return function(dispatch: Dispatch) { dispatch(requestDeleteUser(link)); return apiClient .delete(link) diff --git a/scm-ui/src/users/modules/users.test.js b/scm-ui/src/users/modules/users.test.js index bef47ade79..89a4abc721 100644 --- a/scm-ui/src/users/modules/users.test.js +++ b/scm-ui/src/users/modules/users.test.js @@ -11,6 +11,10 @@ import { FETCH_USERS_SUCCESS, fetchUsers, FETCH_USERS_FAILURE, + addUser, + ADD_USER, + ADD_USER_SUCCESS, + ADD_USER_FAILURE, updateUser, UPDATE_USER, UPDATE_USER_FAILURE, @@ -158,6 +162,33 @@ describe("fetch tests", () => { }); }); + test("successful user add", () => { + fetchMock.postOnce("/scm/api/rest/v2/users", { + status: 204 + }); + + const store = mockStore({}); + return store.dispatch(addUser(userZaphod)).then(() => { + const actions = store.getActions(); + expect(actions[0].type).toEqual(ADD_USER); + expect(actions[1].type).toEqual(ADD_USER_SUCCESS); + }); + }); + + test("user add failed", () => { + fetchMock.postOnce("/scm/api/rest/v2/users", { + status: 500 + }); + + const store = mockStore({}); + return store.dispatch(addUser(userZaphod)).then(() => { + const actions = store.getActions(); + expect(actions[0].type).toEqual(ADD_USER); + expect(actions[1].type).toEqual(ADD_USER_FAILURE); + expect(actions[1].payload).toBeDefined(); + }); + }); + test("successful user update", () => { fetchMock.putOnce("http://localhost:8081/scm/api/rest/v2/users/zaphod", { status: 204