Skip to content

Commit

Permalink
fix(OperatingSystemFilter): RHINENG-2912 - Fix OS inventory filter co…
Browse files Browse the repository at this point in the history
…nversion
  • Loading branch information
bastilian committed Jul 17, 2024
1 parent bafe7f7 commit 65cfe83
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 2 deletions.
16 changes: 14 additions & 2 deletions src/Helpers/Hooks.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,24 @@ export const getSortValue = (orderBy, orderDirection) => {
return `${orderDirection === 'ASC' ? '' : '-'}${orderBy === 'group_name' ? 'inventory_group' : orderBy}`;
};

export const getOsValue = (osFilter) => {
return osFilter && Object.entries(osFilter).flatMap(([majorVersionKey, versions]) => {
return Object.entries(versions)
.filter(([osKey, value]) => value === true && osKey !== majorVersionKey)
.map(([osKey]) => {
const osKeyParts = osKey.split('-');
return osKeyParts[osKeyParts.length - 1];
});
}).sort();
};

export const useGetEntities = (fetchApi, { id, setUrlParams, createRows }) => {

const getEntities = async (
_items,
{ orderBy, orderDirection, page, per_page: perPage, vulnerabilityParams, filters }
) => {
const osFilter = getOsValue(filters?.osFilter);
const params = {
...vulnerabilityParams,
page,
Expand All @@ -65,8 +77,8 @@ export const useGetEntities = (fetchApi, { id, setUrlParams, createRows }) => {
...filters?.hostGroupFilter ? {
group_names: filters.hostGroupFilter.join(',')
} : {},
...filters?.osFilter?.length > 0 ? {
rhel_version: filters.osFilter.map(({ value }) => value).join(',')
...osFilter?.length > 0 ? {
rhel_version: osFilter.join(',')
} : {}
};

Expand Down
27 changes: 27 additions & 0 deletions src/Helpers/Hooks.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import {getOsValue} from './Hooks';

describe('getOsValue', function () {
it('returns a proper api osFilter when passed', () => {
expect(
getOsValue({
'RHEL-9': {
'RHEL-9': true,
'RHEL-9-9.5': true,
'RHEL-9-9.4': true,
'RHEL-9-9.3': true,
'RHEL-9-9.2': true,
'RHEL-9-9.1': true,
'RHEL-9-9.0': true,
},
'RHEL-8': {
'RHEL-8': null,
'RHEL-8-8.4': true,
'RHEL-8-8.0': true,
},
})
).toEqual(['8.0', '8.4', '9.5', '9.4', '9.3', '9.2', '9.1', '9.0'].sort());
});
})

// TODO Add test for useGetEntities hook

0 comments on commit 65cfe83

Please sign in to comment.