From 7c5ab131d69de402b311de323f77dfcd0bdbd4cd Mon Sep 17 00:00:00 2001 From: CD Cabrera Date: Tue, 14 Sep 2021 13:54:24 -0400 Subject: [PATCH] fix(rhsmServices): ent-3352 api response props, mock and tests (#786) * inventorySubscriptions, test updates * productViewRHEL, OpenShiftContainer, Satellite, initial query, test * rhsmServices, types, redux, response constants update --- public/locales/en-US.json | 3 +- .../inventorySubscriptions.test.js.snap | 6 +- .../__tests__/inventorySubscriptions.test.js | 6 +- ...productViewOpenShiftContainer.test.js.snap | 4 +- .../__snapshots__/redirect.test.js.snap | 4 +- .../product.openshiftContainer.test.js.snap | 20 ++--- .../__snapshots__/product.rhel.test.js.snap | 20 ++--- .../product.openshiftContainer.test.js | 4 +- src/config/__tests__/product.rhel.test.js | 4 +- src/config/product.openshiftContainer.js | 10 +-- src/config/product.rhel.js | 10 +-- src/config/product.satellite.js | 2 +- .../subscriptionsListSelectors.test.js.snap | 63 ++++++++------- .../selectors/subscriptionsListSelectors.js | 2 +- src/services/rhsmServices.js | 27 ++++--- .../__snapshots__/index.test.js.snap | 80 ++++++++++--------- src/types/rhsmApiTypes.js | 78 ++++++++++-------- 17 files changed, 189 insertions(+), 154 deletions(-) diff --git a/public/locales/en-US.json b/public/locales/en-US.json index 334e129b5..6074d346c 100644 --- a/public/locales/en-US.json +++ b/public/locales/en-US.json @@ -108,9 +108,10 @@ "header_sockets_OpenShift-metrics": "Sockets", "header_sockets_OpenShift-dedicated-metrics": "Sockets", "header_lastSeen": "Last seen", + "header_nextEventDate": "Next renewal", "header_productName": "Product", + "header_quantity": "Quantity", "header_serviceLevel": "Service level", - "header_upcomingEventDate": "Next renewal", "measurementType": "{{context}}", "measurementType_cloud": "Public cloud", "measurementType_alibaba": "Public cloud", diff --git a/src/components/inventorySubscriptions/__tests__/__snapshots__/inventorySubscriptions.test.js.snap b/src/components/inventorySubscriptions/__tests__/__snapshots__/inventorySubscriptions.test.js.snap index 5b155379d..63bca565f 100644 --- a/src/components/inventorySubscriptions/__tests__/__snapshots__/inventorySubscriptions.test.js.snap +++ b/src/components/inventorySubscriptions/__tests__/__snapshots__/inventorySubscriptions.test.js.snap @@ -71,7 +71,7 @@ Array [ "viewId": "lorem", }, Object { - "sort": "product_name", + "sort": "next_event_date", "type": "SET_QUERY_RHSM_SUBSCRIPTIONS_INVENTORY_sort", "viewId": "lorem", }, @@ -85,7 +85,7 @@ Array [ "viewId": "lorem", }, Object { - "sort": "product_name", + "sort": "next_event_date", "type": "SET_QUERY_RHSM_SUBSCRIPTIONS_INVENTORY_sort", "viewId": "lorem", }, @@ -99,7 +99,7 @@ Array [ "viewId": "lorem", }, Object { - "sort": "product_name", + "sort": "next_event_date", "type": "SET_QUERY_RHSM_SUBSCRIPTIONS_INVENTORY_sort", "viewId": "lorem", }, diff --git a/src/components/inventorySubscriptions/__tests__/inventorySubscriptions.test.js b/src/components/inventorySubscriptions/__tests__/inventorySubscriptions.test.js index ab5223086..08fd88fde 100644 --- a/src/components/inventorySubscriptions/__tests__/inventorySubscriptions.test.js +++ b/src/components/inventorySubscriptions/__tests__/inventorySubscriptions.test.js @@ -89,10 +89,10 @@ describe('InventorySubscriptions Component', () => { const component = shallow(); const componentInstance = component.instance(); - componentInstance.onColumnSort({}, { direction: SortByDirection.asc, id: 'productName' }); - componentInstance.onColumnSort({}, { direction: SortByDirection.desc, id: 'productName' }); + componentInstance.onColumnSort({}, { direction: SortByDirection.asc, id: 'nextEventDate' }); + componentInstance.onColumnSort({}, { direction: SortByDirection.desc, id: 'nextEventDate' }); componentInstance.onColumnSort({}, { direction: SortByDirection.asc, id: 'loremIpsumBrokenOnPurpose' }); - componentInstance.onColumnSort({}, { direction: SortByDirection.asc, id: 'productName' }); + componentInstance.onColumnSort({}, { direction: SortByDirection.asc, id: 'nextEventDate' }); expect(mockDispatch.mock.calls).toMatchSnapshot('dispatch filter'); }); diff --git a/src/components/productView/__tests__/__snapshots__/productViewOpenShiftContainer.test.js.snap b/src/components/productView/__tests__/__snapshots__/productViewOpenShiftContainer.test.js.snap index 6c58bd457..b805b3464 100644 --- a/src/components/productView/__tests__/__snapshots__/productViewOpenShiftContainer.test.js.snap +++ b/src/components/productView/__tests__/__snapshots__/productViewOpenShiftContainer.test.js.snap @@ -239,7 +239,7 @@ exports[`ProductViewOpenShiftContainer Component should render a non-connected c Object { "cell": [Function], "cellWidth": 15, - "id": "upcomingEventDate", + "id": "nextEventDate", "isSortable": true, "isWrappable": true, }, @@ -254,7 +254,7 @@ exports[`ProductViewOpenShiftContainer Component should render a non-connected c "ending": "2019-07-20T23:59:59.999Z", "limit": 100, "offset": 0, - "sort": "upcoming_event_date", + "sort": "next_event_date", "uom": "cores", } } diff --git a/src/components/router/__tests__/__snapshots__/redirect.test.js.snap b/src/components/router/__tests__/__snapshots__/redirect.test.js.snap index aea4c68bf..03a51a3f3 100644 --- a/src/components/router/__tests__/__snapshots__/redirect.test.js.snap +++ b/src/components/router/__tests__/__snapshots__/redirect.test.js.snap @@ -127,7 +127,7 @@ Object { Object { "cell": [Function], "cellWidth": 15, - "id": "upcomingEventDate", + "id": "nextEventDate", "isSortable": true, "isWrappable": true, }, @@ -147,7 +147,7 @@ Object { "dir": "desc", "limit": 100, "offset": 0, - "sort": "upcoming_event_date", + "sort": "next_event_date", }, "productContextFilterUom": true, "productGroup": "OpenShift Container Platform", diff --git a/src/config/__tests__/__snapshots__/product.openshiftContainer.test.js.snap b/src/config/__tests__/__snapshots__/product.openshiftContainer.test.js.snap index df1c71586..0c56b4cc5 100644 --- a/src/config/__tests__/__snapshots__/product.openshiftContainer.test.js.snap +++ b/src/config/__tests__/__snapshots__/product.openshiftContainer.test.js.snap @@ -296,13 +296,17 @@ Object { ], }, Object { - "title": "t(curiosity-inventory.header, {\\"context\\":\\"upcomingEventDate\\"})", + "title": "t(curiosity-inventory.header, {\\"context\\":\\"nextEventDate\\"})", "transforms": Array [ [Function], ], }, ], "data": Object { + "nextEventDate": Object { + "title": "t(curiosity-inventory.header, {\\"context\\":\\"nextEventDate\\"})", + "value": "lorem date obj", + }, "productName": Object { "title": "t(curiosity-inventory.header, {\\"context\\":\\"productName\\"})", "value": "lorem", @@ -311,10 +315,6 @@ Object { "title": "t(curiosity-inventory.header, {\\"context\\":\\"serviceLevel\\"})", "value": "hello world", }, - "upcomingEventDate": Object { - "title": "t(curiosity-inventory.header, {\\"context\\":\\"upcomingEventDate\\"})", - "value": "lorem date obj", - }, }, } `; @@ -342,13 +342,17 @@ Object { ], }, Object { - "title": "t(curiosity-inventory.header, {\\"context\\":\\"upcomingEventDate\\"})", + "title": "t(curiosity-inventory.header, {\\"context\\":\\"nextEventDate\\"})", "transforms": Array [ [Function], ], }, ], "data": Object { + "nextEventDate": Object { + "title": "t(curiosity-inventory.header, {\\"context\\":\\"nextEventDate\\"})", + "value": null, + }, "productName": Object { "title": "t(curiosity-inventory.header, {\\"context\\":\\"productName\\"})", "value": "lorem", @@ -357,10 +361,6 @@ Object { "title": "t(curiosity-inventory.header, {\\"context\\":\\"serviceLevel\\"})", "value": null, }, - "upcomingEventDate": Object { - "title": "t(curiosity-inventory.header, {\\"context\\":\\"upcomingEventDate\\"})", - "value": null, - }, }, } `; diff --git a/src/config/__tests__/__snapshots__/product.rhel.test.js.snap b/src/config/__tests__/__snapshots__/product.rhel.test.js.snap index e8715f12c..9f7d38a71 100644 --- a/src/config/__tests__/__snapshots__/product.rhel.test.js.snap +++ b/src/config/__tests__/__snapshots__/product.rhel.test.js.snap @@ -328,13 +328,17 @@ Object { ], }, Object { - "title": "t(curiosity-inventory.header, {\\"context\\":\\"upcomingEventDate\\"})", + "title": "t(curiosity-inventory.header, {\\"context\\":\\"nextEventDate\\"})", "transforms": Array [ [Function], ], }, ], "data": Object { + "nextEventDate": Object { + "title": "t(curiosity-inventory.header, {\\"context\\":\\"nextEventDate\\"})", + "value": "lorem date obj", + }, "productName": Object { "title": "t(curiosity-inventory.header, {\\"context\\":\\"productName\\"})", "value": "lorem", @@ -343,10 +347,6 @@ Object { "title": "t(curiosity-inventory.header, {\\"context\\":\\"serviceLevel\\"})", "value": "hello world", }, - "upcomingEventDate": Object { - "title": "t(curiosity-inventory.header, {\\"context\\":\\"upcomingEventDate\\"})", - "value": "lorem date obj", - }, }, } `; @@ -374,13 +374,17 @@ Object { ], }, Object { - "title": "t(curiosity-inventory.header, {\\"context\\":\\"upcomingEventDate\\"})", + "title": "t(curiosity-inventory.header, {\\"context\\":\\"nextEventDate\\"})", "transforms": Array [ [Function], ], }, ], "data": Object { + "nextEventDate": Object { + "title": "t(curiosity-inventory.header, {\\"context\\":\\"nextEventDate\\"})", + "value": null, + }, "productName": Object { "title": "t(curiosity-inventory.header, {\\"context\\":\\"productName\\"})", "value": "lorem", @@ -389,10 +393,6 @@ Object { "title": "t(curiosity-inventory.header, {\\"context\\":\\"serviceLevel\\"})", "value": null, }, - "upcomingEventDate": Object { - "title": "t(curiosity-inventory.header, {\\"context\\":\\"upcomingEventDate\\"})", - "value": null, - }, }, } `; diff --git a/src/config/__tests__/product.openshiftContainer.test.js b/src/config/__tests__/product.openshiftContainer.test.js index e4ad43132..30726c816 100644 --- a/src/config/__tests__/product.openshiftContainer.test.js +++ b/src/config/__tests__/product.openshiftContainer.test.js @@ -54,7 +54,7 @@ describe('Product OpenShift Container config', () => { const inventoryData = { productName: 'lorem', serviceLevel: 'hello world', - upcomingEventDate: 'lorem date obj' + nextEventDate: 'lorem date obj' }; const filteredInventoryData = parseRowCellsListData({ @@ -67,7 +67,7 @@ describe('Product OpenShift Container config', () => { const fallbackInventoryData = { ...inventoryData, serviceLevel: null, - upcomingEventDate: null + nextEventDate: null }; const fallbackFilteredInventoryData = parseRowCellsListData({ diff --git a/src/config/__tests__/product.rhel.test.js b/src/config/__tests__/product.rhel.test.js index e8ef9138f..c866be342 100644 --- a/src/config/__tests__/product.rhel.test.js +++ b/src/config/__tests__/product.rhel.test.js @@ -54,7 +54,7 @@ describe('Product RHEL config', () => { const inventoryData = { productName: 'lorem', serviceLevel: 'hello world', - upcomingEventDate: 'lorem date obj' + nextEventDate: 'lorem date obj' }; const filteredInventoryData = parseRowCellsListData({ @@ -67,7 +67,7 @@ describe('Product RHEL config', () => { const fallbackInventoryData = { ...inventoryData, serviceLevel: null, - upcomingEventDate: null + nextEventDate: null }; const fallbackFilteredInventoryData = parseRowCellsListData({ diff --git a/src/config/product.openshiftContainer.js b/src/config/product.openshiftContainer.js index 232fb8f86..9ab96b03b 100644 --- a/src/config/product.openshiftContainer.js +++ b/src/config/product.openshiftContainer.js @@ -47,7 +47,7 @@ const config = { [RHSM_API_QUERY_TYPES.OFFSET]: 0 }, inventorySubscriptionsQuery: { - [RHSM_API_QUERY_TYPES.SORT]: RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES.UPCOMING_EVENT_DATE, + [RHSM_API_QUERY_TYPES.SORT]: RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES.NEXT_EVENT_DATE, [RHSM_API_QUERY_TYPES.DIRECTION]: SORT_DIRECTION_TYPES.DESCENDING, [RHSM_API_QUERY_TYPES.LIMIT]: 100, [RHSM_API_QUERY_TYPES.OFFSET]: 0 @@ -186,11 +186,11 @@ const config = { cellWidth: 15 }, { - id: 'upcomingEventDate', + id: 'nextEventDate', cell: data => - (data?.upcomingEventDate?.value && - helpers.isDate(data?.upcomingEventDate?.value) && - moment.utc(data?.upcomingEventDate?.value).format('YYYY-DD-MM')) || + (data?.nextEventDate?.value && + helpers.isDate(data?.nextEventDate?.value) && + moment.utc(data?.nextEventDate?.value).format('YYYY-DD-MM')) || '', isSortable: true, isWrappable: true, diff --git a/src/config/product.rhel.js b/src/config/product.rhel.js index 2d9362b15..0a10057ca 100644 --- a/src/config/product.rhel.js +++ b/src/config/product.rhel.js @@ -48,7 +48,7 @@ const config = { [RHSM_API_QUERY_TYPES.OFFSET]: 0 }, inventorySubscriptionsQuery: { - [RHSM_API_QUERY_TYPES.SORT]: RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES.UPCOMING_EVENT_DATE, + [RHSM_API_QUERY_TYPES.SORT]: RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES.NEXT_EVENT_DATE, [RHSM_API_QUERY_TYPES.DIRECTION]: SORT_DIRECTION_TYPES.DESCENDING, [RHSM_API_QUERY_TYPES.LIMIT]: 100, [RHSM_API_QUERY_TYPES.OFFSET]: 0 @@ -197,11 +197,11 @@ const config = { cellWidth: 15 }, { - id: 'upcomingEventDate', + id: 'nextEventDate', cell: data => - (data?.upcomingEventDate?.value && - helpers.isDate(data?.upcomingEventDate?.value) && - moment.utc(data?.upcomingEventDate?.value).format('YYYY-DD-MM')) || + (data?.nextEventDate?.value && + helpers.isDate(data?.nextEventDate?.value) && + moment.utc(data?.nextEventDate?.value).format('YYYY-DD-MM')) || '', isSortable: true, isWrappable: true, diff --git a/src/config/product.satellite.js b/src/config/product.satellite.js index 264872c13..036d6230c 100644 --- a/src/config/product.satellite.js +++ b/src/config/product.satellite.js @@ -47,7 +47,7 @@ const config = { [RHSM_API_QUERY_TYPES.OFFSET]: 0 }, inventorySubscriptionsQuery: { - [RHSM_API_QUERY_TYPES.SORT]: RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES.UPCOMING_EVENT_DATE, + [RHSM_API_QUERY_TYPES.SORT]: RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES.NEXT_EVENT_DATE, [RHSM_API_QUERY_TYPES.DIRECTION]: SORT_DIRECTION_TYPES.DESCENDING, [RHSM_API_QUERY_TYPES.LIMIT]: 100, [RHSM_API_QUERY_TYPES.OFFSET]: 0 diff --git a/src/redux/selectors/__tests__/__snapshots__/subscriptionsListSelectors.test.js.snap b/src/redux/selectors/__tests__/__snapshots__/subscriptionsListSelectors.test.js.snap index 05348b1c2..e8cea2ee7 100644 --- a/src/redux/selectors/__tests__/__snapshots__/subscriptionsListSelectors.test.js.snap +++ b/src/redux/selectors/__tests__/__snapshots__/subscriptionsListSelectors.test.js.snap @@ -19,28 +19,30 @@ Object { "itemCount": 0, "listData": Array [ Object { + "nextEventDate": null, + "nextEventType": null, "physicalCapacity": 2, "productName": null, + "quantity": null, "serviceLevel": null, "sku": null, - "subscriptionNumbers": null, + "subscriptions": null, "totalCapacity": 3, "uom": null, - "upcomingEventDate": null, - "upcomingEventType": null, "usage": null, "virtualCapacity": 1, }, Object { + "nextEventDate": null, + "nextEventType": null, "physicalCapacity": 2, "productName": null, + "quantity": null, "serviceLevel": null, "sku": null, - "subscriptionNumbers": null, + "subscriptions": null, "totalCapacity": 3, "uom": null, - "upcomingEventDate": null, - "upcomingEventType": null, "usage": null, "virtualCapacity": 1, }, @@ -84,15 +86,16 @@ Object { "itemCount": 0, "listData": Array [ Object { + "nextEventDate": null, + "nextEventType": null, "physicalCapacity": 3, "productName": null, + "quantity": null, "serviceLevel": null, "sku": null, - "subscriptionNumbers": null, + "subscriptions": null, "totalCapacity": 6, "uom": null, - "upcomingEventDate": null, - "upcomingEventType": null, "usage": null, "virtualCapacity": 3, }, @@ -112,15 +115,16 @@ Object { "itemCount": 0, "listData": Array [ Object { + "nextEventDate": null, + "nextEventType": null, "physicalCapacity": 2, "productName": null, + "quantity": null, "serviceLevel": null, "sku": null, - "subscriptionNumbers": null, + "subscriptions": null, "totalCapacity": 3, "uom": null, - "upcomingEventDate": null, - "upcomingEventType": null, "usage": null, "virtualCapacity": 1, }, @@ -140,15 +144,16 @@ Object { "itemCount": 0, "listData": Array [ Object { + "nextEventDate": null, + "nextEventType": null, "physicalCapacity": 2, "productName": null, + "quantity": null, "serviceLevel": null, "sku": null, - "subscriptionNumbers": null, + "subscriptions": null, "totalCapacity": 3, "uom": null, - "upcomingEventDate": null, - "upcomingEventType": null, "usage": null, "virtualCapacity": 1, }, @@ -168,15 +173,16 @@ Object { "itemCount": 0, "listData": Array [ Object { + "nextEventDate": null, + "nextEventType": null, "physicalCapacity": 5, "productName": null, + "quantity": null, "serviceLevel": null, "sku": null, - "subscriptionNumbers": null, + "subscriptions": null, "totalCapacity": 10, "uom": null, - "upcomingEventDate": null, - "upcomingEventType": null, "usage": null, "virtualCapacity": 5, }, @@ -196,15 +202,16 @@ Object { "itemCount": 0, "listData": Array [ Object { + "nextEventDate": null, + "nextEventType": null, "physicalCapacity": 3, "productName": null, + "quantity": null, "serviceLevel": null, "sku": null, - "subscriptionNumbers": null, + "subscriptions": null, "totalCapacity": 6, "uom": null, - "upcomingEventDate": null, - "upcomingEventType": null, "usage": null, "virtualCapacity": 3, }, @@ -224,28 +231,30 @@ Object { "itemCount": 0, "listData": Array [ Object { + "nextEventDate": null, + "nextEventType": null, "physicalCapacity": 2, "productName": null, + "quantity": null, "serviceLevel": null, "sku": null, - "subscriptionNumbers": null, + "subscriptions": null, "totalCapacity": 3, "uom": null, - "upcomingEventDate": null, - "upcomingEventType": null, "usage": null, "virtualCapacity": 1, }, Object { + "nextEventDate": null, + "nextEventType": null, "physicalCapacity": 2, "productName": null, + "quantity": null, "serviceLevel": null, "sku": null, - "subscriptionNumbers": null, + "subscriptions": null, "totalCapacity": 3, "uom": null, - "upcomingEventDate": null, - "upcomingEventType": null, "usage": null, "virtualCapacity": 1, }, diff --git a/src/redux/selectors/subscriptionsListSelectors.js b/src/redux/selectors/subscriptionsListSelectors.js index fbd901f1f..8e619fd3e 100644 --- a/src/redux/selectors/subscriptionsListSelectors.js +++ b/src/redux/selectors/subscriptionsListSelectors.js @@ -108,7 +108,7 @@ const selector = createDeepEqualSelector([statePropsFilter, queryFilter], (respo // Apply "display logic" then return a custom value for entries const customInventoryValue = ({ key, value }) => { switch (key) { - case rhsmApiTypes.RHSM_API_RESPONSE_INVENTORY_SUBSCRIPTIONS_DATA_TYPES.UPCOMING_EVENT_DATE: + case rhsmApiTypes.RHSM_API_RESPONSE_INVENTORY_SUBSCRIPTIONS_DATA_TYPES.NEXT_EVENT_DATE: return (value && new Date(value)) || null; default: return value ?? null; diff --git a/src/services/rhsmServices.js b/src/services/rhsmServices.js index d7760f4cd..60566d388 100644 --- a/src/services/rhsmServices.js +++ b/src/services/rhsmServices.js @@ -1402,9 +1402,14 @@ const getHostsInventoryGuests = (id, params = {}, options = {}) => { * "product_name": "Red Hat Enterprise Linux Server, Premium (Physical and 4 Virtual Nodes)(L3 Only)", * "service_level": "Premium", * "usage": "Production", - * "subscription_numbers": ["1234567890", "1234567890", "1234567890"], - * "upcoming_event_date": "2020-04-01T00:00:00Z", - * "upcoming_event_type": "Subscription Begin", + * "subscriptions": [ + * { "id": "1234567890", "number": "1234567890" }, + * { "id": "ipsum", "number": "1234567890" }, + * { "id": "lorem", "number": "1234567890" } + * ], + * "next_event_date": "2020-04-01T00:00:00Z", + * "next_event_type": "Subscription Begin", + * "quantity": 3, * "physical_capacity": 1, * "virtual_capacity": 1, * "total_capacity": 2, @@ -1415,9 +1420,10 @@ const getHostsInventoryGuests = (id, params = {}, options = {}) => { * "product_name": "Red Hat Enterprise Linux Server", * "service_level": "Self-Support", * "usage": "Production", - * "subscription_numbers": ["1234567890", "1234567890", "1234567890"], - * "upcoming_event_date": "2020-04-02T00:00:00Z", - * "upcoming_event_type": "Subscription Begin", + * "subscriptions": [], + * "next_event_date": "2020-04-02T00:00:00Z", + * "next_event_type": "Subscription Begin", + * "quantity": 15, * "physical_capacity": 1, * "virtual_capacity": 1, * "total_capacity": 2, @@ -1428,9 +1434,12 @@ const getHostsInventoryGuests = (id, params = {}, options = {}) => { * "product_name": "Red Hat Enterprise Linux Server, Premium", * "service_level": "Premium", * "usage": "Production", - * "subscription_numbers": ["1234567890", "1234567890", "1234567890"], - * "upcoming_event_date": "2020-04-01T00:00:00Z", - * "upcoming_event_type": "Subscription End", + * "subscriptions": [ + * { "id": "1234567890", "number": "1234567890" } + * ], + * "next_event_date": "2020-04-01T00:00:00Z", + * "next_event_type": "Subscription End", + * "quantity": 3000, * "physical_capacity": 2, * "virtual_capacity": 2, * "total_capacity": 4, diff --git a/src/types/__tests__/__snapshots__/index.test.js.snap b/src/types/__tests__/__snapshots__/index.test.js.snap index 4ffb06c50..84f32671e 100644 --- a/src/types/__tests__/__snapshots__/index.test.js.snap +++ b/src/types/__tests__/__snapshots__/index.test.js.snap @@ -118,16 +118,17 @@ Object { "NAME": "display_name", "SOCKETS": "sockets", }, + "RHSM_API_QUERY_SUBSCRIPTIONS_EVENT_TYPES": Object { + "EVENT_END": "Subscription End", + "EVENT_START": "Subscription Start", + }, "RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES": Object { - "PHYSICAL_CAPACITY": "physical_capacity", - "PRODUCT_NAME": "product_name", + "NEXT_EVENT_DATE": "next_event_date", + "NEXT_EVENT_TYPE": "next_event_type", + "QUANTITY": "quantity", "SERVICE_LEVEL": "service_level", "SKU": "sku", - "TOTAL_CAPACITY": "total_capacity", - "UOM": "uom", - "UPCOMING_EVENT_DATE": "upcoming_event_date", "USAGE": "usage", - "VIRTUAL_CAPACITY": "virtual_capacity", }, "RHSM_API_QUERY_TYPES": Object { "CONDUIT_SYNC": "enable_conduit_sync", @@ -200,15 +201,16 @@ Object { "SUBSCRIPTION_ID": "subscription_manager_id", }, "RHSM_API_RESPONSE_INVENTORY_SUBSCRIPTIONS_DATA_TYPES": Object { + "NEXT_EVENT_DATE": "next_event_date", + "NEXT_EVENT_TYPE": "next_event_type", "PHYSICAL_CAPACITY": "physical_capacity", "PRODUCT_NAME": "product_name", + "QUANTITY": "quantity", "SERVICE_LEVEL": "service_level", "SKU": "sku", - "SUBSCRIPTION_NUMBERS": "subscription_numbers", + "SUBSCRIPTIONS": "subscriptions", "TOTAL_CAPACITY": "total_capacity", "UOM": "uom", - "UPCOMING_EVENT_DATE": "upcoming_event_date", - "UPCOMING_EVENT_TYPE": "upcoming_event_type", "USAGE": "usage", "VIRTUAL_CAPACITY": "virtual_capacity", }, @@ -361,16 +363,17 @@ Object { "NAME": "display_name", "SOCKETS": "sockets", }, + "RHSM_API_QUERY_SUBSCRIPTIONS_EVENT_TYPES": Object { + "EVENT_END": "Subscription End", + "EVENT_START": "Subscription Start", + }, "RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES": Object { - "PHYSICAL_CAPACITY": "physical_capacity", - "PRODUCT_NAME": "product_name", + "NEXT_EVENT_DATE": "next_event_date", + "NEXT_EVENT_TYPE": "next_event_type", + "QUANTITY": "quantity", "SERVICE_LEVEL": "service_level", "SKU": "sku", - "TOTAL_CAPACITY": "total_capacity", - "UOM": "uom", - "UPCOMING_EVENT_DATE": "upcoming_event_date", "USAGE": "usage", - "VIRTUAL_CAPACITY": "virtual_capacity", }, "RHSM_API_QUERY_TYPES": Object { "CONDUIT_SYNC": "enable_conduit_sync", @@ -443,15 +446,16 @@ Object { "SUBSCRIPTION_ID": "subscription_manager_id", }, "RHSM_API_RESPONSE_INVENTORY_SUBSCRIPTIONS_DATA_TYPES": Object { + "NEXT_EVENT_DATE": "next_event_date", + "NEXT_EVENT_TYPE": "next_event_type", "PHYSICAL_CAPACITY": "physical_capacity", "PRODUCT_NAME": "product_name", + "QUANTITY": "quantity", "SERVICE_LEVEL": "service_level", "SKU": "sku", - "SUBSCRIPTION_NUMBERS": "subscription_numbers", + "SUBSCRIPTIONS": "subscriptions", "TOTAL_CAPACITY": "total_capacity", "UOM": "uom", - "UPCOMING_EVENT_DATE": "upcoming_event_date", - "UPCOMING_EVENT_TYPE": "upcoming_event_type", "USAGE": "usage", "VIRTUAL_CAPACITY": "virtual_capacity", }, @@ -603,16 +607,17 @@ Object { "NAME": "display_name", "SOCKETS": "sockets", }, + "RHSM_API_QUERY_SUBSCRIPTIONS_EVENT_TYPES": Object { + "EVENT_END": "Subscription End", + "EVENT_START": "Subscription Start", + }, "RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES": Object { - "PHYSICAL_CAPACITY": "physical_capacity", - "PRODUCT_NAME": "product_name", + "NEXT_EVENT_DATE": "next_event_date", + "NEXT_EVENT_TYPE": "next_event_type", + "QUANTITY": "quantity", "SERVICE_LEVEL": "service_level", "SKU": "sku", - "TOTAL_CAPACITY": "total_capacity", - "UOM": "uom", - "UPCOMING_EVENT_DATE": "upcoming_event_date", "USAGE": "usage", - "VIRTUAL_CAPACITY": "virtual_capacity", }, "RHSM_API_QUERY_TYPES": Object { "CONDUIT_SYNC": "enable_conduit_sync", @@ -685,15 +690,16 @@ Object { "SUBSCRIPTION_ID": "subscription_manager_id", }, "RHSM_API_RESPONSE_INVENTORY_SUBSCRIPTIONS_DATA_TYPES": Object { + "NEXT_EVENT_DATE": "next_event_date", + "NEXT_EVENT_TYPE": "next_event_type", "PHYSICAL_CAPACITY": "physical_capacity", "PRODUCT_NAME": "product_name", + "QUANTITY": "quantity", "SERVICE_LEVEL": "service_level", "SKU": "sku", - "SUBSCRIPTION_NUMBERS": "subscription_numbers", + "SUBSCRIPTIONS": "subscriptions", "TOTAL_CAPACITY": "total_capacity", "UOM": "uom", - "UPCOMING_EVENT_DATE": "upcoming_event_date", - "UPCOMING_EVENT_TYPE": "upcoming_event_type", "USAGE": "usage", "VIRTUAL_CAPACITY": "virtual_capacity", }, @@ -849,16 +855,17 @@ Object { "NAME": "display_name", "SOCKETS": "sockets", }, + "RHSM_API_QUERY_SUBSCRIPTIONS_EVENT_TYPES": Object { + "EVENT_END": "Subscription End", + "EVENT_START": "Subscription Start", + }, "RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES": Object { - "PHYSICAL_CAPACITY": "physical_capacity", - "PRODUCT_NAME": "product_name", + "NEXT_EVENT_DATE": "next_event_date", + "NEXT_EVENT_TYPE": "next_event_type", + "QUANTITY": "quantity", "SERVICE_LEVEL": "service_level", "SKU": "sku", - "TOTAL_CAPACITY": "total_capacity", - "UOM": "uom", - "UPCOMING_EVENT_DATE": "upcoming_event_date", "USAGE": "usage", - "VIRTUAL_CAPACITY": "virtual_capacity", }, "RHSM_API_QUERY_TYPES": Object { "CONDUIT_SYNC": "enable_conduit_sync", @@ -931,15 +938,16 @@ Object { "SUBSCRIPTION_ID": "subscription_manager_id", }, "RHSM_API_RESPONSE_INVENTORY_SUBSCRIPTIONS_DATA_TYPES": Object { + "NEXT_EVENT_DATE": "next_event_date", + "NEXT_EVENT_TYPE": "next_event_type", "PHYSICAL_CAPACITY": "physical_capacity", "PRODUCT_NAME": "product_name", + "QUANTITY": "quantity", "SERVICE_LEVEL": "service_level", "SKU": "sku", - "SUBSCRIPTION_NUMBERS": "subscription_numbers", + "SUBSCRIPTIONS": "subscriptions", "TOTAL_CAPACITY": "total_capacity", "UOM": "uom", - "UPCOMING_EVENT_DATE": "upcoming_event_date", - "UPCOMING_EVENT_TYPE": "upcoming_event_type", "USAGE": "usage", "VIRTUAL_CAPACITY": "virtual_capacity", }, diff --git a/src/types/rhsmApiTypes.js b/src/types/rhsmApiTypes.js index d66bc673a..b0a015715 100644 --- a/src/types/rhsmApiTypes.js +++ b/src/types/rhsmApiTypes.js @@ -139,18 +139,19 @@ const RHSM_API_RESPONSE_INVENTORY_GUESTS_DATA_TYPES = { /** * RHSM response subscriptions inventory DATA types. * - * @type {{UOM: string, PHYSICAL_CAPACITY: string, USAGE: string, UPCOMING_EVENT_TYPE: string, - * UPCOMING_EVENT_DATE: string, SUBSCRIPTION_NUMBERS: string, VIRTUAL_CAPACITY: string, - * TOTAL_CAPACITY: string, SKU: string, SERVICE_LEVEL: string}} + * @type {{UOM: string, SUBSCRIPTIONS: string, PHYSICAL_CAPACITY: string, USAGE: string, + * QUANTITY: string, NEXT_EVENT_TYPE: string, NEXT_EVENT_DATE: string, VIRTUAL_CAPACITY: string, + * TOTAL_CAPACITY: string, SKU: string, PRODUCT_NAME: string, SERVICE_LEVEL: string}} */ const RHSM_API_RESPONSE_INVENTORY_SUBSCRIPTIONS_DATA_TYPES = { SKU: 'sku', PRODUCT_NAME: 'product_name', SERVICE_LEVEL: 'service_level', USAGE: 'usage', - SUBSCRIPTION_NUMBERS: 'subscription_numbers', - UPCOMING_EVENT_DATE: 'upcoming_event_date', - UPCOMING_EVENT_TYPE: 'upcoming_event_type', + SUBSCRIPTIONS: 'subscriptions', + NEXT_EVENT_DATE: 'next_event_date', + NEXT_EVENT_TYPE: 'next_event_type', + QUANTITY: 'quantity', PHYSICAL_CAPACITY: 'physical_capacity', VIRTUAL_CAPACITY: 'virtual_capacity', TOTAL_CAPACITY: 'total_capacity', @@ -247,23 +248,29 @@ const RHSM_API_QUERY_SORT_TYPES = { SOCKETS: 'sockets' }; +/** + * RHSM API query/search parameter of EVENT type values for Subscriptions. + * + * @type {{EVENT_START: string, EVENT_END: string}} + */ +const RHSM_API_QUERY_SUBSCRIPTIONS_EVENT_TYPES = { + EVENT_START: 'Subscription Start', + EVENT_END: 'Subscription End' +}; + /** * RHSM API query/search parameter SORT type values for SUBSCRIPTIONS. * - * @type {{UOM: string, PHYSICAL_CAPACITY: string, USAGE: string, UPCOMING_EVENT_DATE: string, - * VIRTUAL_CAPACITY: string, TOTAL_CAPACITY: string, SKU: string, PRODUCT_NAME: string, + * @type {{QUANTITY: string, USAGE: string, NEXT_EVENT_TYPE: string, NEXT_EVENT_DATE: string, SKU: string, * SERVICE_LEVEL: string}} */ const RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES = { + NEXT_EVENT_DATE: 'next_event_date', + NEXT_EVENT_TYPE: 'next_event_type', + QUANTITY: 'quantity', SKU: 'sku', - PRODUCT_NAME: 'product_name', SERVICE_LEVEL: 'service_level', - USAGE: 'usage', - UPCOMING_EVENT_DATE: 'upcoming_event_date', - PHYSICAL_CAPACITY: 'physical_capacity', - VIRTUAL_CAPACITY: 'virtual_capacity', - TOTAL_CAPACITY: 'total_capacity', - UOM: 'uom' + USAGE: 'usage' }; /** @@ -393,32 +400,31 @@ const RHSM_API_QUERY_TYPES = { * * @type {{RHSM_API_QUERY_SET_INVENTORY_SUBSCRIPTIONS_TYPES: {UOM: string, USAGE: string, DIRECTION: string, SORT: string, * OFFSET: string, SLA: string, LIMIT: string}, RHSM_API_RESPONSE_INVENTORY_SUBSCRIPTIONS_DATA_TYPES: {UOM: string, - * PHYSICAL_CAPACITY: string, USAGE: string, UPCOMING_EVENT_TYPE: string, UPCOMING_EVENT_DATE: string, - * SUBSCRIPTION_NUMBERS: string, VIRTUAL_CAPACITY: string, TOTAL_CAPACITY: string, SKU: string, + * SUBSCRIPTIONS: string, PHYSICAL_CAPACITY: string, USAGE: string, QUANTITY: string, NEXT_EVENT_TYPE: string, + * NEXT_EVENT_DATE: string, VIRTUAL_CAPACITY: string, TOTAL_CAPACITY: string, SKU: string, PRODUCT_NAME: string, * SERVICE_LEVEL: string}, RHSM_API_RESPONSE_ERROR_DATA_CODE_TYPES: {GENERIC: string, OPTIN: string}, * RHSM_API_RESPONSE_INVENTORY_DATA: string, RHSM_API_RESPONSE_CAPACITY_DATA: string, * RHSM_API_RESPONSE_ERROR_DATA_TYPES: {CODE: string, DETAIL: string}, * RHSM_API_RESPONSE_CAPACITY_DATA_TYPES: {HYPERVISOR_SOCKETS: string, CORES: string, DATE: string, SOCKETS: string, * PHYSICAL_SOCKETS: string, HYPERVISOR_CORES: string, HAS_INFINITE: string, PHYSICAL_CORES: string}, - * RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES: {UOM: string, PHYSICAL_CAPACITY: string, USAGE: string, - * UPCOMING_EVENT_DATE: string, VIRTUAL_CAPACITY: string, TOTAL_CAPACITY: string, SKU: string, PRODUCT_NAME: string, - * SERVICE_LEVEL: string}, RHSM_API_RESPONSE_META_TYPES: {COUNT: string, TOTAL_INSTANCE_HOURS: string, - * TOTAL_CORE_HOURS: string}, RHSM_API_QUERY_GRANULARITY_TYPES: {WEEKLY: string, QUARTERLY: string, - * DAILY: string, MONTHLY: string}, RHSM_API_QUERY_SORT_DIRECTION_TYPES: {ASCENDING: string, DESCENDING: string}, - * RHSM_API_RESPONSE_PRODUCTS_DATA: string, RHSM_API_QUERY_TYPES: {GRANULARITY: string, TALLY_SYNC: string, - * DIRECTION: string, END_DATE: string, SLA: string, START_DATE: string, LIMIT: string, UOM: string, - * TALLY_REPORT: string, USAGE: string, SORT: string, OFFSET: string, CONDUIT_SYNC: string}, - * RHSM_API_RESPONSE_LINKS: string, RHSM_API_QUERY_SET_INVENTORY_GUESTS_TYPES: {OFFSET: string, LIMIT: string}, - * RHSM_API_PATH_ID_TYPES: {RHEL_ARM: string, OPENSHIFT_METRICS: string, SATELLITE: string, RHEL_WORKSTATION: string, - * RHEL_COMPUTE_NODE: string, RHEL_X86: string, OPENSHIFT: string, SATELLITE_SERVER: string, + * RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES: {QUANTITY: string, USAGE: string, NEXT_EVENT_TYPE: string, + * NEXT_EVENT_DATE: string, SKU: string, SERVICE_LEVEL: string}, RHSM_API_RESPONSE_META_TYPES: {COUNT: string, + * TOTAL_INSTANCE_HOURS: string, TOTAL_CORE_HOURS: string}, RHSM_API_QUERY_GRANULARITY_TYPES: {WEEKLY: string, + * QUARTERLY: string, DAILY: string, MONTHLY: string}, RHSM_API_QUERY_SORT_DIRECTION_TYPES: {ASCENDING: string, + * DESCENDING: string}, RHSM_API_RESPONSE_PRODUCTS_DATA: string, + * RHSM_API_QUERY_SUBSCRIPTIONS_EVENT_TYPES: {EVENT_START: string, EVENT_END: string}, + * RHSM_API_QUERY_TYPES: {GRANULARITY: string, TALLY_SYNC: string, DIRECTION: string, END_DATE: string, SLA: string, + * START_DATE: string, LIMIT: string, UOM: string, TALLY_REPORT: string, USAGE: string, SORT: string, OFFSET: string, + * CONDUIT_SYNC: string}, RHSM_API_RESPONSE_LINKS: string, RHSM_API_QUERY_SET_INVENTORY_GUESTS_TYPES: {OFFSET: string, + * LIMIT: string}, RHSM_API_PATH_ID_TYPES: {RHEL_ARM: string, OPENSHIFT_METRICS: string, SATELLITE: string, + * RHEL_WORKSTATION: string, RHEL_COMPUTE_NODE: string, RHEL_X86: string, OPENSHIFT: string, SATELLITE_SERVER: string, * OPENSHIFT_DEDICATED_METRICS: string, RHEL_DESKTOP: string, RHEL: string, SATELLITE_CAPSULE: string, - * RHEL_SERVER: string, RHEL_IBM_Z: string, RHEL_IBM_POWER: string}, - * RHSM_API_QUERY_SET_OPTIN_TYPES: {TALLY_SYNC: string, TALLY_REPORT: string, CONDUIT_SYNC: string}, - * RHSM_API_QUERY_USAGE_TYPES: {UNSPECIFIED: string, DISASTER: string, DEVELOPMENT: string, PRODUCTION: string}, - * RHSM_API_QUERY_SLA_TYPES: {PREMIUM: string, SELF: string, NONE: string, STANDARD: string}, - * RHSM_API_QUERY_SET_INVENTORY_TYPES: {UOM: string, USAGE: string, DIRECTION: string, SORT: string, OFFSET: string, - * SLA: string, LIMIT: string}, RHSM_API_QUERY_SORT_TYPES: {CORES: string, CORE_HOURS: string, HARDWARE: string, - * SOCKETS: string, MEASUREMENT: string, LAST_SEEN: string, NAME: string}, + * RHEL_SERVER: string, RHEL_IBM_Z: string, RHEL_IBM_POWER: string}, RHSM_API_QUERY_SET_OPTIN_TYPES: {TALLY_SYNC: string, + * TALLY_REPORT: string, CONDUIT_SYNC: string}, RHSM_API_QUERY_USAGE_TYPES: {UNSPECIFIED: string, DISASTER: string, + * DEVELOPMENT: string, PRODUCTION: string}, RHSM_API_QUERY_SLA_TYPES: {PREMIUM: string, SELF: string, NONE: string, + * STANDARD: string}, RHSM_API_QUERY_SET_INVENTORY_TYPES: {UOM: string, USAGE: string, DIRECTION: string, SORT: string, + * OFFSET: string, SLA: string, LIMIT: string}, RHSM_API_QUERY_SORT_TYPES: {CORES: string, CORE_HOURS: string, + * HARDWARE: string, SOCKETS: string, MEASUREMENT: string, LAST_SEEN: string, NAME: string}, * RHSM_API_RESPONSE_PRODUCTS_DATA_TYPES: {HYPERVISOR_SOCKETS: string, CORES: string, INSTANCE_HOURS: string, * SOCKETS: string, CLOUD_CORES: string, HAS_DATA: string, PHYSICAL_SOCKETS: string, PHYSICAL_CORES: string, * CLOUD_INSTANCES: string, DATE: string, CORE_HOURS: string, CLOUD_SOCKETS: string, HAS_CLOUDIGRADE_DATA: string, @@ -451,6 +457,7 @@ const rhsmApiTypes = { RHSM_API_PATH_ID_TYPES, RHSM_API_QUERY_GRANULARITY_TYPES, RHSM_API_QUERY_SORT_TYPES, + RHSM_API_QUERY_SUBSCRIPTIONS_EVENT_TYPES, RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES, RHSM_API_QUERY_SORT_DIRECTION_TYPES, RHSM_API_QUERY_SLA_TYPES, @@ -485,6 +492,7 @@ export { RHSM_API_PATH_ID_TYPES, RHSM_API_QUERY_GRANULARITY_TYPES, RHSM_API_QUERY_SORT_TYPES, + RHSM_API_QUERY_SUBSCRIPTIONS_EVENT_TYPES, RHSM_API_QUERY_SUBSCRIPTIONS_SORT_TYPES, RHSM_API_QUERY_SORT_DIRECTION_TYPES, RHSM_API_QUERY_SLA_TYPES,