katello 5.0.0.rc2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/katello/locale/bn/katello.js +63 -15
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/ca/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/cs/katello.js +63 -15
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +64 -16
- data/app/assets/javascripts/katello/locale/de/katello.js +66 -18
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +63 -15
- data/app/assets/javascripts/katello/locale/el/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/en/katello.js +63 -15
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/en_US/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/es/katello.js +66 -18
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/fr/katello.js +300 -252
- data/app/assets/javascripts/katello/locale/gl/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/gu/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/hi/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/id/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/it/katello.js +64 -16
- data/app/assets/javascripts/katello/locale/ja/katello.js +378 -330
- data/app/assets/javascripts/katello/locale/ka/katello.js +67 -19
- data/app/assets/javascripts/katello/locale/kn/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/ko/katello.js +297 -249
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/mr/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/or/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/pa/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/pl/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/pt/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +66 -18
- data/app/assets/javascripts/katello/locale/ro/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/ru/katello.js +64 -16
- data/app/assets/javascripts/katello/locale/sl/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/ta/katello.js +63 -15
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/te/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/tr/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/vi/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/zh/katello.js +62 -14
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +285 -237
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +64 -16
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +29 -26
- data/app/controllers/katello/api/v2/content_view_histories_controller.rb +1 -1
- data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +10 -10
- data/app/controllers/katello/concerns/registration_commands_controller_extensions.rb +1 -1
- data/app/lib/katello/concerns/base_template_scope_extensions.rb +61 -2
- data/app/models/katello/concerns/smart_proxy_extensions.rb +1 -1
- data/app/views/katello/api/v2/activation_keys/base.json.rabl +18 -18
- data/app/views/katello/api/v2/content_facet/base.json.rabl +19 -19
- data/app/views/katello/api/v2/content_view_environments/show.json.rabl +10 -10
- data/app/views/katello/api/v2/content_view_versions/base.json.rabl +2 -2
- data/db/migrate/20220929204746_add_content_view_environment_content_facet.rb +5 -5
- data/db/migrate/20240730163043_add_content_view_environment_activation_key.rb +5 -5
- data/db/migrate/20260402151630_add_content_view_environment_to_hostgroup_content_facet.rb +4 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/new/views/activation-key-new.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +23 -24
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +20 -30
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +31 -39
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +8 -17
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +0 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +8 -8
- data/lib/katello/tasks/upgrades/4.20/clean_cve_with_no_cvv.rake +4 -4
- data/lib/katello/version.rb +1 -1
- data/lib/rubocop/cop/katello/cve_abbreviation.rb +82 -0
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn/katello.po +63 -15
- data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn_IN/katello.po +62 -14
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +62 -14
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/katello.po +64 -15
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +65 -17
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +67 -19
- data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_AT/katello.po +62 -14
- data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_DE/katello.po +64 -16
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +62 -14
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/katello.po +64 -15
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +62 -14
- data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_US/katello.po +62 -14
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +68 -21
- data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
- data/locale/et_EE/katello.po +62 -14
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +304 -256
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +62 -14
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/katello.po +62 -14
- data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
- data/locale/he_IL/katello.po +62 -14
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/katello.po +62 -14
- data/locale/id/LC_MESSAGES/katello.mo +0 -0
- data/locale/id/katello.po +62 -14
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +64 -16
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +379 -331
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +67 -19
- data/locale/katello.pot +457 -393
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/katello.po +62 -14
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +300 -251
- data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ml_IN/katello.po +62 -14
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/katello.po +62 -14
- data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
- data/locale/nl_NL/katello.po +62 -14
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/katello.po +62 -14
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/katello.po +62 -14
- data/locale/pl/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl/katello.po +62 -14
- data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl_PL/katello.po +62 -14
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/katello.po +62 -14
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +68 -20
- data/locale/ro/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro/katello.po +62 -14
- data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro_RO/katello.po +62 -14
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +64 -16
- data/locale/sl/LC_MESSAGES/katello.mo +0 -0
- data/locale/sl/katello.po +62 -14
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +62 -14
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +63 -15
- data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta_IN/katello.po +62 -14
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/katello.po +62 -14
- data/locale/tr/LC_MESSAGES/katello.mo +0 -0
- data/locale/tr/katello.po +62 -14
- data/locale/vi/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi/katello.po +62 -14
- data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi_VN/katello.po +62 -14
- data/locale/zh/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh/katello.po +62 -14
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +286 -238
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +64 -16
- data/package.json +2 -2
- data/webpack/ForemanColumnExtensions/index.js +1 -1
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/AssignHostCVModal.js +3 -3
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +5 -5
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/OrderableAssignments.js +5 -5
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/AssignHostCVModal.test.js +17 -17
- data/webpack/components/extensions/Hosts/BulkActions/BulkAssignCVEnvsModal/BulkAssignCVEnvsModal.js +4 -8
- data/webpack/components/extensions/Hosts/BulkActions/BulkAssignCVEnvsModal/__tests__/BulkAssignCVEnvsModal.test.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkAssignCVEnvsModal/index.js +2 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/BulkChangeHostCollectionsModal.js +5 -10
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/__tests__/BulkChangeHostCollectionsModal.test.js +6 -24
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/index.js +2 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_ReviewFooter.js +2 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/BulkErrataWizard.js +2 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkManageTracesModal/BulkManageTracesModal.js +4 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkManageTracesModal/index.js +2 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_ReviewFooter.js +2 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +2 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/03_ReviewFooter.js +2 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/BulkRepositorySetsWizard.js +2 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkSystemPurposeModal/BulkSystemPurposeModal.js +5 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkSystemPurposeModal/index.js +2 -1
- data/webpack/components/extensions/Hosts/BulkActions/__tests__/bulkSystemPurposeModal.test.js +6 -1
- data/webpack/components/extensions/RegistrationCommands/__tests__/ActivationKeys.test.js +6 -6
- data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +1 -1
- data/webpack/containers/Application/config.js +1 -1
- data/webpack/eslint-rules/no-cve-abbreviation.js +121 -0
- data/webpack/global_index.js +6 -6
- data/webpack/redux/reducers/index.js +0 -2
- data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetails.js +2 -2
- data/webpack/scenes/ActivationKeys/Details/components/AssignAKCVModal.js +3 -3
- data/webpack/scenes/ActivationKeys/Details/components/CreateAKCVModal.js +1 -1
- data/webpack/scenes/ActivationKeys/Details/components/{CVEDetailsCard.js → CvEnvDetailsCard.js} +9 -9
- data/webpack/scenes/ActivationKeys/Details/components/{CVEDetailsCreateCard.js → CvEnvDetailsCreateCard.js} +10 -10
- data/webpack/scenes/ActivationKeys/Details/components/__tests__/{CVEDetailsCreateCard.test.js → CvEnvDetailsCreateCard.test.js} +8 -8
- data/webpack/scenes/ContainerImages/Booted/BootedContainerImagesPage.js +2 -2
- data/webpack/scenes/ContainerImages/ContainerImagesPage.js +59 -52
- data/webpack/scenes/ContainerImages/ContainerImagesPage.scss +27 -4
- data/webpack/scenes/ContainerImages/Synced/SyncedContainerImagesPage.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionContent.js +1 -11
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +9 -9
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +0 -28
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +46 -1
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersionContent.test.js +41 -0
- data/webpack/scenes/Hosts/ChangeContentSource/actions.js +2 -2
- data/webpack/scenes/Subscriptions/Manifest/CdnTabContent.js +44 -0
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +179 -307
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModalConstants.js +5 -0
- data/webpack/scenes/Subscriptions/Manifest/ManifestActions.js +64 -70
- data/webpack/scenes/Subscriptions/Manifest/ManifestConstants.js +5 -0
- data/webpack/scenes/Subscriptions/Manifest/ManifestHistoryContent.js +61 -0
- data/webpack/scenes/Subscriptions/Manifest/ManifestHistoryReducer.js +1 -1
- data/webpack/scenes/Subscriptions/Manifest/ManifestTabContent.js +357 -0
- data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +129 -0
- data/webpack/scenes/Subscriptions/Manifest/__tests__/ManifestActions.test.js +69 -110
- data/webpack/scenes/Subscriptions/Manifest/__tests__/ManifestHistoryReducer.test.js +6 -2
- data/webpack/scenes/Subscriptions/Manifest/index.js +16 -1
- data/webpack/scenes/Subscriptions/SubscriptionActions.js +79 -145
- data/webpack/scenes/Subscriptions/SubscriptionConstants.js +4 -35
- data/webpack/scenes/Subscriptions/SubscriptionsColumns.js +90 -0
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +297 -217
- data/webpack/scenes/Subscriptions/SubscriptionsPage.scss +40 -30
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsActions.js +11 -8
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsConstants.js +0 -1
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +104 -205
- data/webpack/scenes/Subscriptions/__tests__/subscriptions.fixtures.js +12 -8
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +245 -241
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js +61 -27
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Table.js +487 -73
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +22 -4
- data/webpack/utils/contentViewEnvironmentLabel.js +3 -3
- data/webpack/utils/helpers.js +2 -2
- metadata +22 -20
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.scss +0 -39
- data/webpack/scenes/Subscriptions/Manifest/ManifestHistoryTableSchema.js +0 -47
- data/webpack/scenes/Subscriptions/SubscriptionReducer.js +0 -223
- data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +0 -31
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsActions.test.js +0 -297
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +0 -244
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsSelectors.test.js +0 -47
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionNameFormatter.js +0 -23
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionTypeFormatter.js +0 -32
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +0 -169
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionTypeFormatter.test.js +0 -41
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/index.js +0 -2
- data/webpack/scenes/Subscriptions/index.js +0 -57
data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { render } from '@testing-library/react';
|
|
2
|
+
import { render, act } from '@testing-library/react';
|
|
3
3
|
import SubscriptionsTable from '../SubscriptionsTable';
|
|
4
|
+
import { createSubscriptionsColumns } from '../../../SubscriptionsColumns';
|
|
4
5
|
import { successState, loadingState, emptyState, groupedSubscriptions } from '../../../__tests__/subscriptions.fixtures';
|
|
5
6
|
|
|
6
|
-
const mockLoadingState = jest.fn(({ children }) => <div>{children}</div>);
|
|
7
7
|
const mockTable = jest.fn(() => <div data-testid="subscriptions-table" />);
|
|
8
8
|
const mockDialogs = jest.fn(() => <div data-testid="subscriptions-dialogs" />);
|
|
9
9
|
|
|
10
|
-
jest.mock('../../../../../components/LoadingState', () => ({
|
|
11
|
-
LoadingState: props => mockLoadingState(props),
|
|
12
|
-
}));
|
|
13
10
|
jest.mock('../components/Table', () => props => mockTable(props));
|
|
14
11
|
jest.mock('../components/Dialogs', () => props => mockDialogs(props));
|
|
15
12
|
|
|
@@ -21,11 +18,25 @@ const tableColumns = [
|
|
|
21
18
|
'end_date',
|
|
22
19
|
];
|
|
23
20
|
|
|
21
|
+
const notifyApiResponse = (subscriptions) => {
|
|
22
|
+
const tableProps = mockTable.mock.calls[mockTable.mock.calls.length - 1][0];
|
|
23
|
+
act(() => {
|
|
24
|
+
tableProps.onApiResponse({
|
|
25
|
+
results: subscriptions.results || [],
|
|
26
|
+
loading: !!subscriptions.loading,
|
|
27
|
+
availableQuantities: subscriptions.availableQuantities,
|
|
28
|
+
itemCount: subscriptions.itemCount || 0,
|
|
29
|
+
page: subscriptions.pagination?.page || 1,
|
|
30
|
+
perPage: subscriptions.pagination?.perPage || 20,
|
|
31
|
+
searchIsActive: !!subscriptions.searchIsActive,
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
24
36
|
describe('subscriptions table', () => {
|
|
25
37
|
const buildProps = (overrides = {}) => ({
|
|
26
|
-
subscriptions: successState,
|
|
27
|
-
loadSubscriptions: jest.fn(),
|
|
28
38
|
tableColumns,
|
|
39
|
+
columns: createSubscriptionsColumns(),
|
|
29
40
|
updateQuantity: jest.fn(),
|
|
30
41
|
subscriptionDeleteModalOpen: false,
|
|
31
42
|
onDeleteSubscriptions: jest.fn(),
|
|
@@ -38,28 +49,24 @@ describe('subscriptions table', () => {
|
|
|
38
49
|
});
|
|
39
50
|
|
|
40
51
|
beforeEach(() => {
|
|
41
|
-
mockLoadingState.mockClear();
|
|
42
52
|
mockTable.mockClear();
|
|
43
53
|
mockDialogs.mockClear();
|
|
44
54
|
});
|
|
45
55
|
|
|
46
56
|
it('renders table and dialogs with computed rows', () => {
|
|
47
57
|
render(<SubscriptionsTable {...buildProps()} />);
|
|
58
|
+
notifyApiResponse(successState);
|
|
48
59
|
|
|
49
|
-
expect(
|
|
50
|
-
|
|
51
|
-
loadingText: 'Loading',
|
|
52
|
-
});
|
|
53
|
-
expect(mockTable.mock.calls[0][0].rows).toHaveLength(successState.results.length);
|
|
60
|
+
expect(mockTable.mock.calls[mockTable.mock.calls.length - 1][0].rows)
|
|
61
|
+
.toHaveLength(successState.results.length);
|
|
54
62
|
expect(mockDialogs.mock.calls[0][0].deleteDialog.show).toBe(false);
|
|
55
63
|
});
|
|
56
64
|
|
|
57
65
|
it('builds grouped subscription rows for shared products', () => {
|
|
58
|
-
render(<SubscriptionsTable
|
|
59
|
-
|
|
60
|
-
/>);
|
|
66
|
+
render(<SubscriptionsTable {...buildProps({ selectionEnabled: true })} />);
|
|
67
|
+
notifyApiResponse(groupedSubscriptions);
|
|
61
68
|
|
|
62
|
-
const tableProps = mockTable.mock.calls[
|
|
69
|
+
const tableProps = mockTable.mock.calls[mockTable.mock.calls.length - 1][0];
|
|
63
70
|
expect(tableProps.rows).toHaveLength(1);
|
|
64
71
|
expect(tableProps.rows[0].collapsible).toBe(true);
|
|
65
72
|
expect(tableProps.selectionEnabled).toBe(true);
|
|
@@ -68,9 +75,12 @@ describe('subscriptions table', () => {
|
|
|
68
75
|
it('selects all rows when no rows are selected', () => {
|
|
69
76
|
const props = buildProps({ selectionEnabled: true });
|
|
70
77
|
render(<SubscriptionsTable {...props} />);
|
|
78
|
+
notifyApiResponse(successState);
|
|
71
79
|
|
|
72
|
-
const tableProps = mockTable.mock.calls[
|
|
73
|
-
const selectedRowIds = successState.results
|
|
80
|
+
const tableProps = mockTable.mock.calls[mockTable.mock.calls.length - 1][0];
|
|
81
|
+
const selectedRowIds = successState.results
|
|
82
|
+
.filter(row => row.upstream_pool_id)
|
|
83
|
+
.map(row => row.id);
|
|
74
84
|
tableProps.selectionController.selectAllRows();
|
|
75
85
|
|
|
76
86
|
expect(props.onSelectedRowsChange).toHaveBeenCalledWith(selectedRowIds);
|
|
@@ -78,33 +88,56 @@ describe('subscriptions table', () => {
|
|
|
78
88
|
});
|
|
79
89
|
|
|
80
90
|
it('clears all selections when all rows are already selected', () => {
|
|
91
|
+
const eligibleRowIds = successState.results
|
|
92
|
+
.filter(row => row.upstream_pool_id)
|
|
93
|
+
.map(row => row.id);
|
|
81
94
|
const props = buildProps({
|
|
82
95
|
selectionEnabled: true,
|
|
83
|
-
selectedRows:
|
|
96
|
+
selectedRows: eligibleRowIds,
|
|
84
97
|
});
|
|
85
98
|
render(<SubscriptionsTable {...props} />);
|
|
99
|
+
notifyApiResponse(successState);
|
|
86
100
|
|
|
87
|
-
const tableProps = mockTable.mock.calls[
|
|
101
|
+
const tableProps = mockTable.mock.calls[mockTable.mock.calls.length - 1][0];
|
|
88
102
|
tableProps.selectionController.selectAllRows();
|
|
89
103
|
|
|
90
104
|
expect(props.onSelectedRowsChange).toHaveBeenCalledWith([]);
|
|
91
105
|
expect(props.toggleDeleteButton).toHaveBeenCalledWith(false);
|
|
92
106
|
});
|
|
93
107
|
|
|
108
|
+
it('does not treat an empty eligible collection as fully selected', () => {
|
|
109
|
+
const props = buildProps({ selectionEnabled: true });
|
|
110
|
+
render(<SubscriptionsTable {...props} />);
|
|
111
|
+
notifyApiResponse({
|
|
112
|
+
...successState,
|
|
113
|
+
results: successState.results.map(({ upstream_pool_id: _id, ...row }) => row),
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
const tableProps = mockTable.mock.calls[mockTable.mock.calls.length - 1][0];
|
|
117
|
+
expect(tableProps.selectionController.allRowsSelected()).toBe(false);
|
|
118
|
+
|
|
119
|
+
tableProps.selectionController.selectAllRows();
|
|
120
|
+
expect(props.onSelectedRowsChange).toHaveBeenCalledWith([]);
|
|
121
|
+
expect(props.toggleDeleteButton).toHaveBeenCalledWith(false);
|
|
122
|
+
});
|
|
123
|
+
|
|
94
124
|
it('toggles individual row selection', () => {
|
|
95
125
|
const props = buildProps({ selectionEnabled: true, selectedRows: [3] });
|
|
96
126
|
render(<SubscriptionsTable {...props} />);
|
|
127
|
+
notifyApiResponse(successState);
|
|
97
128
|
|
|
98
|
-
const tableProps = mockTable.mock.calls[
|
|
129
|
+
const tableProps = mockTable.mock.calls[mockTable.mock.calls.length - 1][0];
|
|
99
130
|
tableProps.selectionController.selectRow({ rowData: { id: 3 } });
|
|
100
131
|
|
|
101
132
|
expect(props.onSelectedRowsChange).toHaveBeenCalledWith([]);
|
|
102
133
|
expect(props.toggleDeleteButton).toHaveBeenCalledWith(false);
|
|
103
134
|
});
|
|
104
135
|
|
|
105
|
-
it('
|
|
106
|
-
render(<SubscriptionsTable {...buildProps(
|
|
107
|
-
expect(
|
|
136
|
+
it('keeps the table mounted while loading so TableIndexPage can fetch', () => {
|
|
137
|
+
render(<SubscriptionsTable {...buildProps()} />);
|
|
138
|
+
expect(mockTable).toHaveBeenCalled();
|
|
139
|
+
notifyApiResponse(loadingState);
|
|
140
|
+
expect(mockTable.mock.calls[mockTable.mock.calls.length - 1][0]).toBeTruthy();
|
|
108
141
|
});
|
|
109
142
|
|
|
110
143
|
it('passes empty state through to the table', () => {
|
|
@@ -115,12 +148,13 @@ describe('subscriptions table', () => {
|
|
|
115
148
|
|
|
116
149
|
render(<SubscriptionsTable
|
|
117
150
|
{...buildProps({
|
|
118
|
-
subscriptions: emptyState,
|
|
119
151
|
emptyState: emptyStateData,
|
|
120
152
|
tableColumns: [],
|
|
121
153
|
})}
|
|
122
154
|
/>);
|
|
155
|
+
notifyApiResponse(emptyState);
|
|
123
156
|
|
|
124
|
-
expect(mockTable.mock.calls[
|
|
157
|
+
expect(mockTable.mock.calls[mockTable.mock.calls.length - 1][0].emptyState)
|
|
158
|
+
.toEqual(emptyStateData);
|
|
125
159
|
});
|
|
126
160
|
});
|