mirror of
https://github.com/strapi/strapi.git
synced 2025-12-27 23:24:03 +00:00
Test correct filters are returned from getDisplayedFilters
This commit is contained in:
parent
5275d30ed8
commit
3c3139134a
@ -0,0 +1,42 @@
|
||||
import getDisplayedFilters from '../utils/getDisplayedFilters';
|
||||
|
||||
const mockUsers = {
|
||||
results: [
|
||||
{
|
||||
id: 1,
|
||||
firstname: 'test',
|
||||
lastname: 'tester',
|
||||
username: null,
|
||||
email: 'test@test.com',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
firstname: 'test2',
|
||||
lastname: 'tester2',
|
||||
username: null,
|
||||
email: 'test2@test.com',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
describe('Audit Logs getDisplayedFilters', () => {
|
||||
it('should return all filters when canReadUsers is true', () => {
|
||||
const filters = getDisplayedFilters({
|
||||
users: mockUsers,
|
||||
formatMessage: jest.fn(({ defaultMessage }) => defaultMessage),
|
||||
canReadUsers: true,
|
||||
});
|
||||
const filterNames = filters.map((filter) => filter.name);
|
||||
expect(filterNames).toEqual(['action', 'date', 'user']);
|
||||
});
|
||||
|
||||
it('should not return user filter when canReadUsers is false', () => {
|
||||
const filters = getDisplayedFilters({
|
||||
users: mockUsers,
|
||||
formatMessage: jest.fn(({ defaultMessage }) => defaultMessage),
|
||||
canReadUsers: false,
|
||||
});
|
||||
const filterNames = filters.map((filter) => filter.name);
|
||||
expect(filterNames).toEqual(['action', 'date']);
|
||||
});
|
||||
});
|
||||
@ -13,27 +13,6 @@ const customOperators = [
|
||||
];
|
||||
|
||||
const getDisplayedFilters = ({ formatMessage, users, canReadUsers }) => {
|
||||
const getDisplaynameFromUser = (user) => {
|
||||
if (user.username) {
|
||||
return user.username;
|
||||
}
|
||||
|
||||
if (user.firstname && user.lastname) {
|
||||
return formatMessage(
|
||||
{
|
||||
id: 'Settings.permissions.auditLogs.user.fullname',
|
||||
defaultMessage: '{firstname} {lastname}',
|
||||
},
|
||||
{
|
||||
firstname: user.firstname,
|
||||
lastname: user.lastname,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return user.email;
|
||||
};
|
||||
|
||||
const actionOptions = Object.keys(actionTypes).map((action) => {
|
||||
return {
|
||||
label: formatMessage(
|
||||
@ -47,16 +26,6 @@ const getDisplayedFilters = ({ formatMessage, users, canReadUsers }) => {
|
||||
};
|
||||
});
|
||||
|
||||
const userOptions =
|
||||
users &&
|
||||
users.results.map((user) => {
|
||||
return {
|
||||
label: getDisplaynameFromUser(user),
|
||||
// Combobox expects a string value
|
||||
customValue: user.id.toString(),
|
||||
};
|
||||
});
|
||||
|
||||
const filters = [
|
||||
{
|
||||
name: 'action',
|
||||
@ -83,7 +52,36 @@ const getDisplayedFilters = ({ formatMessage, users, canReadUsers }) => {
|
||||
},
|
||||
];
|
||||
|
||||
if (canReadUsers) {
|
||||
if (canReadUsers && users) {
|
||||
const getDisplaynameFromUser = (user) => {
|
||||
if (user.username) {
|
||||
return user.username;
|
||||
}
|
||||
|
||||
if (user.firstname && user.lastname) {
|
||||
return formatMessage(
|
||||
{
|
||||
id: 'Settings.permissions.auditLogs.user.fullname',
|
||||
defaultMessage: '{firstname} {lastname}',
|
||||
},
|
||||
{
|
||||
firstname: user.firstname,
|
||||
lastname: user.lastname,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return user.email;
|
||||
};
|
||||
|
||||
const userOptions = users.results.map((user) => {
|
||||
return {
|
||||
label: getDisplaynameFromUser(user),
|
||||
// Combobox expects a string value
|
||||
customValue: user.id.toString(),
|
||||
};
|
||||
});
|
||||
|
||||
return [
|
||||
...filters,
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user