UserListAdminPage: Reset page when changing filters (#47958)

pull/47990/head
kay delaney 3 years ago committed by GitHub
parent d0b41f882e
commit e19e934178
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 19
      public/app/features/admin/state/reducers.test.ts
  2. 2
      public/app/features/admin/state/reducers.ts

@ -12,6 +12,7 @@ import {
userSessionsLoadedAction,
userListAdminReducer,
queryChanged,
filterChanged,
} from './reducers';
import { LdapState, LdapUser, UserAdminState, UserDTO, UserListAdminState } from 'app/types';
@ -287,4 +288,22 @@ describe('User List Admin reducer', () => {
});
});
});
describe('When filter changed', () => {
it('should reset page to 0', () => {
const initialState = {
...makeInitialUserListAdminState(),
page: 3,
};
reducerTester<UserListAdminState>()
.givenReducer(userListAdminReducer, initialState)
.whenActionIsDispatched(filterChanged({ test: true }))
.thenStateShouldEqual({
...makeInitialUserListAdminState(),
page: 0,
filters: expect.arrayContaining([{ test: true }]),
});
});
});
});

@ -178,11 +178,13 @@ export const userListAdminSlice = createSlice({
if (state.filters.some((filter) => filter.name === name)) {
return {
...state,
page: 0,
filters: state.filters.map((filter) => (filter.name === name ? { ...filter, value } : filter)),
};
}
return {
...state,
page: 0,
filters: [...state.filters, action.payload],
};
},

Loading…
Cancel
Save