katello 4.16.3 → 4.17.0.rc1
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.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +5 -3
- data/app/assets/javascripts/katello/locale/bn/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/ca/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/cs/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/de/katello.js +87 -273
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/el/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/en/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/en_US/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/es/katello.js +242 -428
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/fr/katello.js +900 -1086
- data/app/assets/javascripts/katello/locale/gl/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/gu/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/hi/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/id/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/it/katello.js +78 -264
- data/app/assets/javascripts/katello/locale/ja/katello.js +628 -814
- data/app/assets/javascripts/katello/locale/ka/katello.js +474 -660
- data/app/assets/javascripts/katello/locale/kn/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/ko/katello.js +2129 -2314
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/mr/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/or/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/pa/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/pl/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/pt/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +255 -441
- data/app/assets/javascripts/katello/locale/ro/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/ru/katello.js +78 -264
- data/app/assets/javascripts/katello/locale/sl/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/ta/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/te/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/tr/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/vi/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/zh/katello.js +77 -263
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +632 -818
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +78 -264
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +19 -5
- data/app/controllers/katello/api/v2/content_view_components_controller.rb +6 -6
- data/app/controllers/katello/api/v2/content_view_filters_controller.rb +3 -0
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +6 -0
- data/app/controllers/katello/api/v2/content_views_controller.rb +12 -1
- data/app/controllers/katello/api/v2/exports_controller.rb +3 -0
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +12 -14
- data/app/controllers/katello/api/v2/organizations_controller.rb +10 -10
- data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +8 -2
- data/app/lib/actions/helpers/rolling_cv_repos.rb +25 -0
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +6 -1
- data/app/lib/actions/katello/content_view/add_rolling_repo_clone.rb +39 -0
- data/app/lib/actions/katello/content_view/create.rb +3 -0
- data/app/lib/actions/katello/content_view/refresh_rolling_repo.rb +40 -0
- data/app/lib/actions/katello/content_view/remove.rb +8 -4
- data/app/lib/actions/katello/content_view/remove_rolling_repo_clone.rb +28 -0
- data/app/lib/actions/katello/content_view/update.rb +8 -0
- data/app/lib/actions/katello/repository/check_matching_content.rb +1 -8
- data/app/lib/actions/katello/repository/import_upload.rb +5 -0
- data/app/lib/actions/katello/repository/sync.rb +8 -4
- data/app/lib/actions/katello/repository/upload_files.rb +7 -1
- data/app/lib/actions/pulp3/orchestration/orphan_cleanup/remove_orphans.rb +3 -2
- data/app/lib/actions/pulp3/orphan_cleanup/delete_orphan_repository_versions.rb +8 -1
- data/app/lib/katello/errors.rb +8 -0
- data/app/lib/katello/validators/container_image_name_validator.rb +3 -2
- data/app/models/katello/authorization/repository.rb +11 -1
- data/app/models/katello/concerns/host_managed_extensions.rb +2 -2
- data/app/models/katello/concerns/pulp_database_unit.rb +12 -42
- data/app/models/katello/concerns/smart_proxy_extensions.rb +8 -0
- data/app/models/katello/content_view.rb +14 -1
- data/app/models/katello/content_view_component.rb +4 -0
- data/app/models/katello/content_view_environment.rb +1 -0
- data/app/models/katello/content_view_version.rb +3 -2
- data/app/models/katello/host/content_facet.rb +18 -5
- data/app/models/katello/product_content.rb +3 -1
- data/app/models/katello/repository.rb +3 -3
- data/app/services/katello/content_unit_indexer.rb +1 -1
- data/app/services/katello/pulp3/api/content_guard.rb +1 -1
- data/app/services/katello/pulp3/api/core.rb +6 -0
- data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +58 -1
- data/app/services/katello/pulp3/smart_proxy_repository.rb +67 -3
- data/app/services/katello/smart_proxy_helper.rb +6 -1
- data/app/views/foreman/job_templates/install_errata_-_katello_ansible_default.erb +15 -1
- data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +15 -1
- data/app/views/foreman/job_templates/install_group_-_katello_ansible_default.erb +15 -2
- data/app/views/foreman/job_templates/install_packages_by_search_query_-_katello_ansible_default.erb +21 -2
- data/app/views/foreman/job_templates/remove_group_-_katello_ansible_default.erb +15 -1
- data/app/views/foreman/job_templates/remove_packages_by_search_query_-_katello_ansible_default.erb +20 -1
- data/app/views/foreman/job_templates/update_group_-_katello_ansible_default.erb +15 -2
- data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +17 -1
- data/app/views/katello/api/v2/activation_keys/base.json.rabl +1 -0
- data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +2 -1
- data/app/views/katello/api/v2/content_facet/base.json.rabl +2 -0
- data/app/views/katello/api/v2/content_view_versions/base.json.rabl +12 -0
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -0
- data/app/views/katello/api/v2/environments/show.json.rabl +14 -0
- data/app/views/katello/api/v2/hosts/base.json.rabl +1 -0
- data/app/views/katello/api/v2/organizations/show.json.rabl +2 -0
- data/app/views/katello/api/v2/repositories/base.json.rabl +2 -1
- data/db/migrate/20190930192813_add_pulp3_hrefs_to_content_types.rb +1 -1
- data/db/migrate/20240924161240_katello_recreate_evr_constructs.rb +0 -20
- data/db/migrate/20241022122325_add_rolling_to_katello_content_views.rb +5 -0
- data/db/migrate/20241025151105_remove_pulp3_migrated_hrefs_from_content_tables.rb +1 -1
- data/db/migrate/20250215143303_drop_katello_yum_metadata_file.rb +5 -0
- data/db/migrate/20250409120843_fix_file_download_policy.rb +11 -0
- data/db/migrate/20250410155300_change_ansible_templates_category.rb +22 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +0 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository-types.service.js +3 -0
- data/lib/katello/engine.rb +9 -1
- data/lib/katello/repository_types/python.rb +1 -1
- data/lib/katello/tasks/repository.rake +1 -1
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +3 -0
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn/katello.po +77 -263
- data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn_IN/katello.po +77 -263
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +77 -263
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/katello.po +77 -263
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +77 -263
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +91 -277
- data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_AT/katello.po +77 -263
- data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_DE/katello.po +77 -263
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +77 -263
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/katello.po +77 -263
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +77 -263
- data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_US/katello.po +77 -263
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +245 -432
- data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
- data/locale/et_EE/katello.po +77 -263
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +906 -1092
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +77 -263
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/katello.po +77 -263
- data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
- data/locale/he_IL/katello.po +77 -263
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/katello.po +77 -263
- data/locale/id/LC_MESSAGES/katello.mo +0 -0
- data/locale/id/katello.po +77 -263
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +78 -264
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +634 -822
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +474 -662
- data/locale/katello.pot +1194 -1472
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/katello.po +77 -263
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +2125 -2324
- data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ml_IN/katello.po +77 -263
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/katello.po +77 -263
- data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
- data/locale/nl_NL/katello.po +77 -263
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/katello.po +77 -263
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/katello.po +77 -263
- data/locale/pl/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl/katello.po +77 -263
- data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl_PL/katello.po +77 -263
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/katello.po +77 -263
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +258 -445
- data/locale/ro/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro/katello.po +77 -263
- data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro_RO/katello.po +77 -263
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +78 -264
- data/locale/sl/LC_MESSAGES/katello.mo +0 -0
- data/locale/sl/katello.po +77 -263
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +77 -263
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +77 -263
- data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta_IN/katello.po +77 -263
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/katello.po +77 -263
- data/locale/tr/LC_MESSAGES/katello.mo +0 -0
- data/locale/tr/katello.po +77 -263
- data/locale/vi/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi/katello.po +77 -263
- data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi_VN/katello.po +77 -263
- data/locale/zh/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh/katello.po +77 -263
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +632 -824
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +78 -264
- data/webpack/ForemanColumnExtensions/index.js +12 -4
- data/webpack/components/ActivationKeysSearch/index.js +6 -7
- data/webpack/components/Bookmark/AddBookmarkModal.js +3 -3
- data/webpack/components/Bookmark/Bookmark.scss +3 -3
- data/webpack/components/Bookmark/index.js +7 -2
- data/webpack/components/EditableSwitch.js +1 -1
- data/webpack/components/EditableTextInput/EditableTextInput.js +1 -1
- data/webpack/components/EditableTextInput/editableTextInput.scss +1 -1
- data/webpack/components/Errata/index.js +1 -24
- data/webpack/components/Loading.js +10 -6
- data/webpack/components/Packages/index.js +2 -1
- data/webpack/components/SelectAllCheckbox/index.js +7 -3
- data/webpack/components/SelectableDropdown/SelectableDropdown.js +21 -3
- data/webpack/components/Table/EmptyStateMessage.js +12 -14
- data/webpack/components/Table/MainTable.js +8 -7
- data/webpack/components/Table/MainTable.scss +4 -4
- data/webpack/components/extensions/HostDetails/ActionsBar/index.js +4 -1
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.js +1 -1
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +9 -6
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/changeHostCVModal.test.js +2 -1
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/contentViews.fixtures.json +4 -1
- data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +23 -6
- data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.scss +1 -1
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.js +5 -3
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.scss +3 -3
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +1 -1
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsModal.test.js +25 -10
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +5 -2
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.scss +2 -2
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +5 -4
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeCard.test.js +6 -3
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +19 -12
- data/webpack/components/extensions/HostDetails/Cards/__tests__/errataOverviewCard.test.js +1 -1
- data/webpack/components/extensions/HostDetails/DetailsTabCards/HwPropertiesCard.js +1 -4
- data/webpack/components/extensions/HostDetails/DetailsTabCards/ImageModeCard.js +1 -4
- data/webpack/components/extensions/HostDetails/DetailsTabCards/InstalledProductsCard.js +1 -4
- data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/HwPropertiesCard.test.js +63 -0
- data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/ImageModeCard.test.js +73 -0
- data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/InstalledProductsCard.test.js +45 -0
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.js +12 -2
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.js +10 -13
- data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +46 -21
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +15 -7
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +13 -3
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +34 -20
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +8 -6
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.js +5 -3
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesEnabler.js +12 -13
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +16 -6
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsInstallModal.test.js +10 -5
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsTab.test.js +48 -22
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +123 -47
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/moduleStreamsTab.test.js +14 -7
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +10 -5
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +41 -24
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +50 -25
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +50 -25
- data/webpack/components/extensions/HostDetails/hostDetailsHelpers.js +3 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_Review.js +16 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_ReviewFooter.js +6 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/BulkErrataWizard.js +5 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_Review.js +16 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_ReviewFooter.js +6 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +15 -2
- data/webpack/components/extensions/Hosts/BulkActions/HostReview.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/__tests__/bulkChangeHostCVModal.test.js +2 -1
- data/webpack/components/extensions/Hosts/FontAwesomeImageModeIcon.js +1 -1
- data/webpack/components/extensions/Hosts/ImageModeHostAlert.js +14 -0
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +14 -17
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +1 -1
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +1 -1
- data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +38 -49
- data/webpack/containers/Application/overrides.scss +7 -7
- data/webpack/ouia_id_check.js +15 -11
- data/webpack/redux/actions/RedHatRepositories/helpers.js +0 -2
- data/webpack/scenes/ActivationKeys/Details/__tests__/activationKeyDetails.test.js +12 -6
- data/webpack/scenes/ActivationKeys/Details/components/DeleteMenu.js +12 -2
- data/webpack/scenes/ActivationKeys/Details/components/EditModal.js +3 -3
- data/webpack/scenes/AlternateContentSources/Create/ACSCreateWizard.js +3 -1
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCreateFinish.js +3 -1
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCredentials.js +12 -6
- data/webpack/scenes/AlternateContentSources/Create/Steps/ACSSmartProxies.js +1 -1
- data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +22 -7
- data/webpack/scenes/AlternateContentSources/Create/Steps/NameACS.js +2 -2
- data/webpack/scenes/AlternateContentSources/Create/Steps/SelectSource.js +1 -1
- data/webpack/scenes/AlternateContentSources/Create/__tests__/acsCreate.test.js +6 -3
- data/webpack/scenes/AlternateContentSources/Details/ACSExpandableDetails.js +25 -15
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditCredentials.js +9 -6
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditDetails.js +2 -2
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditSmartProxies.js +1 -1
- data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +33 -7
- data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSEdits.test.js +10 -5
- data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSExpandableDetails.test.js +4 -2
- data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +10 -8
- data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsTable.test.js +4 -2
- data/webpack/scenes/BootedContainerImages/BootedContainerImagesPage.js +5 -5
- data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +8 -4
- data/webpack/scenes/Content/__tests__/contentTable.test.js +4 -2
- data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +1 -1
- data/webpack/scenes/ContentViews/Copy/__tests__/contentViewCopyResult.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Copy/__tests__/copyContentView.test.js +2 -1
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +86 -31
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.scss +10 -2
- data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +10 -4
- data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +3 -1
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeleteEnvironmentsSelection.js +6 -6
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignActivationKeysForm.js +7 -2
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignHostsForm.js +7 -2
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReview.js +3 -3
- data/webpack/scenes/ContentViews/Delete/Steps/CVEnvironmentSelectionForm.scss +1 -1
- data/webpack/scenes/ContentViews/Delete/__tests__/CvData.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +3 -2
- data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +10 -8
- data/webpack/scenes/ContentViews/Delete/__tests__/cvDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +16 -5
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +19 -5
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +1 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +11 -2
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/compositeCVDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +69 -27
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/publishedContentViewDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +22 -29
- data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +6 -2
- data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +20 -7
- data/webpack/scenes/ContentViews/Details/Filters/Add/__tests__/cvFilterAdd.test.js +4 -2
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositorySelection.js +5 -2
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +3 -1
- data/webpack/scenes/ContentViews/Details/Filters/ArtifactsWithNoErrata.js +1 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +4 -2
- data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +13 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +23 -7
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +23 -5
- data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +15 -3
- data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +15 -3
- data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +13 -1
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +6 -4
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +11 -1
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentModal.test.js +4 -2
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/matchContentModal.scss +1 -1
- data/webpack/scenes/ContentViews/Details/Filters/Rules/DebPackage/AddEditDebPackageRuleModal.js +2 -2
- data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +4 -4
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVContainerImageFilterContent.test.js +18 -12
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +7 -11
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +81 -70
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewErrataByDateDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +4 -2
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilters.test.js +52 -38
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +9 -4
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +18 -12
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErratumFilterDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailModuleAffectedRepos.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailWithAffectedRepos.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterFixutre.fixture.json +2 -1
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +77 -67
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilterDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterDetail.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +2 -2
- data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +4 -2
- data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +1 -1
- data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +7 -5
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +6 -3
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewRepoAdd.fixture.json +1 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/ActionSummary.js +3 -2
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteModal.js +3 -1
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ConfirmBulkDelete.js +2 -2
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignActivationKeys.js +3 -1
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignHosts.js +3 -1
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReviewEnvironments.js +4 -4
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompare.scss +11 -11
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareHeader.js +15 -5
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionEnvironments.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +13 -3
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +3 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +17 -13
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignActivationKeysForm.js +12 -7
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostsForm.js +64 -7
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +52 -21
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +30 -16
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.scss +7 -7
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +5 -3
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsTable.js +4 -2
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +6 -3
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsEmpty.test.js +2 -1
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +6 -6
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetail.test.js +35 -4
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetail.test.js +197 -0
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetails.fixtures.json +82 -0
- data/webpack/scenes/ContentViews/Publish/CVPublishFinish.js +3 -7
- data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +2 -2
- data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +6 -5
- data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +3 -1
- data/webpack/scenes/ContentViews/Publish/__tests__/publishContentView.test.js +15 -7
- data/webpack/scenes/ContentViews/Publish/cvPublishForm.scss +4 -4
- data/webpack/scenes/ContentViews/Table/ContentViewVersionCell.js +6 -4
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +14 -3
- data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +3 -0
- data/webpack/scenes/ContentViews/__tests__/basicContentViews.fixtures.js +1 -0
- data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +89 -2
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +85 -14
- data/webpack/scenes/ContentViews/__tests__/mockDetails.fixtures.json +2 -1
- data/webpack/scenes/ContentViews/components/ContentViewIcon.js +20 -6
- data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelect.js +4 -1
- data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelectOption.js +11 -2
- data/webpack/scenes/ContentViews/components/ContentViewsCounter.js +27 -7
- data/webpack/scenes/ContentViews/components/EnvironmentLabels.js +2 -2
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +6 -2
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.scss +4 -1
- data/webpack/scenes/ContentViews/components/FiltersAppliedIcon.js +4 -2
- data/webpack/scenes/ContentViews/components/NeedsPublishIcon.js +7 -6
- data/webpack/scenes/ContentViews/components/NeedsPublishIcon.scss +2 -2
- data/webpack/scenes/ContentViews/components/contentViewIcon.scss +16 -3
- data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +6 -1
- data/webpack/scenes/ContentViews/expansions/RelatedCompositeContentViewsModal.js +3 -3
- data/webpack/scenes/ContentViews/expansions/__tests__/contentViewComponentsModal.test.js +2 -1
- data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +5 -3
- data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceTemplate.js +3 -2
- data/webpack/scenes/Hosts/ChangeContentSource/components/FormField.js +1 -1
- data/webpack/scenes/Hosts/ChangeContentSource/components/HostsModal.js +1 -1
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepositoryContent.js +1 -1
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/__tests__/__snapshots__/EnabledRepositoryContent.test.js.snap +1 -1
- data/webpack/scenes/RedHatRepositories/index.scss +1 -1
- data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +27 -7
- data/webpack/scenes/SmartProxy/ExpandedSmartProxyRepositories.js +51 -2
- data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +2 -2
- data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +14 -9
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnConfigurationForm.scss +1 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CustomCdnTypeForm.js +2 -2
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/NetworkSyncForm.js +6 -6
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CdnTypeForm.test.js +2 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CustomCdnTypeForm.test.js +2 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/ExportSyncForm.test.js +2 -1
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/NetworkSyncForm.test.js +2 -1
- metadata +72 -53
- data/app/models/katello/yum_metadata_file.rb +0 -22
- data/app/services/katello/pulp3/yum_metadata_file.rb +0 -20
- data/db/migrate/20250714190050_add_missing_rpms_evr_index.rb +0 -14
@@ -62,7 +62,8 @@ test('Can call API for Module streams and show on screen on page load', async (d
|
|
62
62
|
expect(getAllByText(firstModuleStreams.name)[0]).toBeInTheDocument());
|
63
63
|
// Assert request was made and completed, see helper function
|
64
64
|
assertNockRequest(autocompleteScope);
|
65
|
-
assertNockRequest(scope
|
65
|
+
assertNockRequest(scope);
|
66
|
+
done(); // Pass jest callback to confirm test is done
|
66
67
|
act(done);
|
67
68
|
});
|
68
69
|
|
@@ -89,7 +90,8 @@ test('Can handle no Module streams being present', async (done) => {
|
|
89
90
|
await patientlyWaitFor(() => expect(queryByText('This host does not have any Module streams.')).toBeInTheDocument());
|
90
91
|
// Assert request was made and completed, see helper function
|
91
92
|
assertNockRequest(autocompleteScope);
|
92
|
-
assertNockRequest(scope
|
93
|
+
assertNockRequest(scope);
|
94
|
+
done(); // Pass jest callback to confirm test is done
|
93
95
|
act(done);
|
94
96
|
});
|
95
97
|
|
@@ -166,7 +168,8 @@ test('When there are no search results, can display an empty state with a clear
|
|
166
168
|
assertNockRequest(badAutoCompleteScope);
|
167
169
|
assertNockRequest(badSearchScope);
|
168
170
|
assertNockRequest(scopeWithoutSearch);
|
169
|
-
assertNockRequest(autocompleteScope
|
171
|
+
assertNockRequest(autocompleteScope);
|
172
|
+
done();
|
170
173
|
});
|
171
174
|
|
172
175
|
test('Can filter results based on status', async (done) => {
|
@@ -198,7 +201,8 @@ test('Can filter results based on status', async (done) => {
|
|
198
201
|
fireEvent.click(installed);
|
199
202
|
assertNockRequest(autocompleteScope);
|
200
203
|
assertNockRequest(scope);
|
201
|
-
assertNockRequest(scope2
|
204
|
+
assertNockRequest(scope2);
|
205
|
+
done();
|
202
206
|
act(done);
|
203
207
|
});
|
204
208
|
|
@@ -231,7 +235,8 @@ test('Can filter results based on Installation status', async (done) => {
|
|
231
235
|
fireEvent.click(installed);
|
232
236
|
assertNockRequest(autocompleteScope);
|
233
237
|
assertNockRequest(scope);
|
234
|
-
assertNockRequest(scope2
|
238
|
+
assertNockRequest(scope2);
|
239
|
+
done();
|
235
240
|
act(done);
|
236
241
|
});
|
237
242
|
|
@@ -260,7 +265,8 @@ test('Can provide dropdown actions with redirects on Module Streams with customi
|
|
260
265
|
expect(getByText('Enable')).toHaveAttribute('href', '/job_invocations/new?feature=katello_module_stream_action&search=name%20%5E%20(test-host)&inputs%5Baction%5D=enable&inputs%5Bmodule_spec%5D=walrus:2.4');
|
261
266
|
expect(getByText('Install')).toHaveAttribute('href', '/job_invocations/new?feature=katello_module_stream_action&search=name%20%5E%20(test-host)&inputs%5Baction%5D=install&inputs%5Bmodule_spec%5D=walrus:2.4');
|
262
267
|
assertNockRequest(autocompleteScope);
|
263
|
-
assertNockRequest(scope
|
268
|
+
assertNockRequest(scope);
|
269
|
+
done();
|
264
270
|
act(done);
|
265
271
|
});
|
266
272
|
|
@@ -305,6 +311,7 @@ test('Can perform actions on Module Streams', async (done) => {
|
|
305
311
|
fireEvent.click(getByLabelText('confirm-module-action'));
|
306
312
|
assertNockRequest(autocompleteScope);
|
307
313
|
assertNockRequest(scope);
|
308
|
-
assertNockRequest(jobScope
|
314
|
+
assertNockRequest(jobScope);
|
315
|
+
done();
|
309
316
|
act(done);
|
310
317
|
});
|
@@ -79,7 +79,8 @@ test('Can call API for installable packages and show on screen on page load', as
|
|
79
79
|
await patientlyWaitFor(() => expect(getAllByText(firstPackages.name)[0]).toBeInTheDocument());
|
80
80
|
// Assert request was made and completed, see helper function
|
81
81
|
assertNockRequest(autocompleteScope);
|
82
|
-
assertNockRequest(scope
|
82
|
+
assertNockRequest(scope);
|
83
|
+
done(); // Pass jest callback to confirm test is done
|
83
84
|
});
|
84
85
|
|
85
86
|
test('Can handle no installable packages being present', async (done) => {
|
@@ -111,7 +112,8 @@ test('Can handle no installable packages being present', async (done) => {
|
|
111
112
|
await patientlyWaitFor(() => expect(queryByText('No packages available to install')).toBeInTheDocument());
|
112
113
|
// Assert request was made and completed, see helper function
|
113
114
|
assertNockRequest(autocompleteScope);
|
114
|
-
assertNockRequest(scope
|
115
|
+
assertNockRequest(scope);
|
116
|
+
done(); // Pass jest callback to confirm test is done
|
115
117
|
});
|
116
118
|
|
117
119
|
|
@@ -148,7 +150,8 @@ test('Can install a package via remote execution', async (done) => {
|
|
148
150
|
|
149
151
|
expect(triggerPackageInstall).toHaveBeenCalled();
|
150
152
|
assertNockRequest(autocompleteScope);
|
151
|
-
assertNockRequest(scope
|
153
|
+
assertNockRequest(scope);
|
154
|
+
done();
|
152
155
|
});
|
153
156
|
|
154
157
|
test('Can install a package via customized remote execution', async (done) => {
|
@@ -185,7 +188,8 @@ test('Can install a package via customized remote execution', async (done) => {
|
|
185
188
|
`/job_invocations/new?feature=${REX_FEATURES.KATELLO_PACKAGE_INSTALL}&search=name%20%5E%20(test-host)&inputs%5Bpackage%5D=duck,cheetah`,
|
186
189
|
);
|
187
190
|
assertNockRequest(autocompleteScope);
|
188
|
-
assertNockRequest(scope
|
191
|
+
assertNockRequest(scope);
|
192
|
+
done();
|
189
193
|
});
|
190
194
|
|
191
195
|
test('Uses package_install_by_search_query template when in select all mode', async (done) => {
|
@@ -223,6 +227,7 @@ test('Uses package_install_by_search_query template when in select all mode', as
|
|
223
227
|
`/job_invocations/new?feature=${REX_FEATURES.KATELLO_PACKAGE_INSTALL_BY_SEARCH}&search=name%20%5E%20(test-host)&inputs%5BPackage%20search%20query%5D=id%20!%5E%20(32376)`,
|
224
228
|
);
|
225
229
|
assertNockRequest(autocompleteScope);
|
226
|
-
assertNockRequest(scope
|
230
|
+
assertNockRequest(scope);
|
231
|
+
done();
|
227
232
|
});
|
228
233
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { renderWithRedux, patientlyWaitFor, fireEvent } from 'react-testing-lib-wrapper';
|
2
|
+
import { renderWithRedux, patientlyWaitFor, fireEvent, act } from 'react-testing-lib-wrapper';
|
3
3
|
import * as hooks from 'foremanReact/components/PF4/TableIndexPage/Table/TableHooks';
|
4
4
|
import { nockInstance, assertNockRequest, mockForemanAutocomplete } from '../../../../../test-utils/nockWrapper';
|
5
5
|
import { foremanApi } from '../../../../../services/api';
|
@@ -79,7 +79,8 @@ test('Can call API for packages and show on screen on page load', async (done) =
|
|
79
79
|
await patientlyWaitFor(() => expect(getAllByText(firstPackage.name)[0]).toBeInTheDocument());
|
80
80
|
// Assert request was made and completed, see helper function
|
81
81
|
assertNockRequest(autocompleteScope);
|
82
|
-
assertNockRequest(scope
|
82
|
+
assertNockRequest(scope);
|
83
|
+
act(done); // Pass jest callback to confirm test is done
|
83
84
|
});
|
84
85
|
|
85
86
|
test('Can handle no packages being present', async (done) => {
|
@@ -105,7 +106,8 @@ test('Can handle no packages being present', async (done) => {
|
|
105
106
|
await patientlyWaitFor(() => expect(queryByText('This host does not have any packages.')).toBeInTheDocument());
|
106
107
|
// Assert request was made and completed, see helper function
|
107
108
|
assertNockRequest(autocompleteScope);
|
108
|
-
assertNockRequest(scope
|
109
|
+
assertNockRequest(scope);
|
110
|
+
act(done); // Pass jest callback to confirm test is done
|
109
111
|
});
|
110
112
|
|
111
113
|
test('Can filter by package status', async (done) => {
|
@@ -145,7 +147,8 @@ test('Can filter by package status', async (done) => {
|
|
145
147
|
|
146
148
|
assertNockRequest(autocompleteScope);
|
147
149
|
assertNockRequest(scope);
|
148
|
-
assertNockRequest(scope2
|
150
|
+
assertNockRequest(scope2);
|
151
|
+
act(done); // Pass jest callback to confirm test is done
|
149
152
|
});
|
150
153
|
|
151
154
|
test('Can upgrade a package via remote execution', async (done) => {
|
@@ -191,17 +194,20 @@ test('Can upgrade a package via remote execution', async (done) => {
|
|
191
194
|
expect(getByText('coreutils')).toBeInTheDocument();
|
192
195
|
});
|
193
196
|
|
194
|
-
const kebabDropdown = getByLabelText('
|
197
|
+
const kebabDropdown = getByLabelText('Kebab toggle');
|
195
198
|
kebabDropdown.click();
|
196
199
|
|
200
|
+
await patientlyWaitFor(() => expect(getByText('Upgrade via remote execution')).toBeInTheDocument());
|
197
201
|
const rexAction = getByText('Upgrade via remote execution');
|
198
|
-
await
|
199
|
-
|
202
|
+
await act(async () => {
|
203
|
+
fireEvent.click(rexAction);
|
204
|
+
});
|
200
205
|
|
201
206
|
assertNockRequest(autocompleteScope);
|
202
207
|
assertNockRequest(scope);
|
203
208
|
assertNockRequest(statusScope);
|
204
209
|
assertNockRequest(upgradeScope, done);
|
210
|
+
act(done);
|
205
211
|
});
|
206
212
|
|
207
213
|
test('Can upgrade a package via customized remote execution', async (done) => {
|
@@ -235,7 +241,7 @@ test('Can upgrade a package via customized remote execution', async (done) => {
|
|
235
241
|
expect(getByText('coreutils')).toBeInTheDocument();
|
236
242
|
});
|
237
243
|
|
238
|
-
const kebabDropdown = getByLabelText('
|
244
|
+
const kebabDropdown = getByLabelText('Kebab toggle');
|
239
245
|
kebabDropdown.click();
|
240
246
|
|
241
247
|
const rexAction = getByText('Upgrade via customized remote execution');
|
@@ -247,12 +253,14 @@ test('Can upgrade a package via customized remote execution', async (done) => {
|
|
247
253
|
'href',
|
248
254
|
`/job_invocations/new?feature=${feature}&search=name%20%5E%20(${hostname})&inputs%5Bpackage%5D=${packageName}`,
|
249
255
|
);
|
250
|
-
|
251
|
-
|
256
|
+
await act(async () => {
|
257
|
+
fireEvent.click(rexAction);
|
258
|
+
});
|
252
259
|
|
253
260
|
assertNockRequest(autocompleteScope);
|
254
261
|
assertNockRequest(scope);
|
255
262
|
assertNockRequest(statusScope, done);
|
263
|
+
act(done);
|
256
264
|
});
|
257
265
|
|
258
266
|
test('Can remove a package via remote execution', async (done) => {
|
@@ -283,13 +291,14 @@ test('Can remove a package via remote execution', async (done) => {
|
|
283
291
|
|
284
292
|
await patientlyWaitFor(() => expect(getAllByText(firstPackage.name)[0]).toBeInTheDocument());
|
285
293
|
|
286
|
-
const kebabDropdown = getByLabelText('
|
287
|
-
|
294
|
+
const kebabDropdown = getByLabelText('Kebab toggle');
|
295
|
+
fireEvent.click(kebabDropdown);
|
296
|
+
await patientlyWaitFor(() => expect(getByText('Remove')).toBeInTheDocument());
|
288
297
|
|
289
298
|
const rexAction = getByText('Remove');
|
290
|
-
await
|
291
|
-
|
292
|
-
|
299
|
+
await act(async () => {
|
300
|
+
fireEvent.click(rexAction);
|
301
|
+
});
|
293
302
|
assertNockRequest(autocompleteScope);
|
294
303
|
assertNockRequest(scope);
|
295
304
|
assertNockRequest(removeScope, done);
|
@@ -336,11 +345,13 @@ test('Can bulk remove a package via remote execution', async (done) => {
|
|
336
345
|
|
337
346
|
const rexAction = getByText('Remove');
|
338
347
|
await patientlyWaitFor(() => expect(rexAction).toBeInTheDocument());
|
339
|
-
|
340
|
-
|
348
|
+
await act(async () => {
|
349
|
+
fireEvent.click(rexAction);
|
350
|
+
});
|
341
351
|
assertNockRequest(autocompleteScope);
|
342
352
|
assertNockRequest(scope);
|
343
353
|
assertNockRequest(removeScope, done);
|
354
|
+
act(done);
|
344
355
|
});
|
345
356
|
|
346
357
|
test('Can bulk upgrade via remote execution', async (done) => {
|
@@ -381,14 +392,16 @@ test('Can bulk upgrade via remote execution', async (done) => {
|
|
381
392
|
|
382
393
|
const upgradeDropdown = getAllByRole('button', { name: 'Select' })[1];
|
383
394
|
fireEvent.click(upgradeDropdown);
|
384
|
-
|
385
395
|
const rexAction = getByLabelText('bulk_upgrade_rex');
|
386
396
|
expect(rexAction).toBeInTheDocument();
|
387
|
-
|
397
|
+
await act(async () => {
|
398
|
+
fireEvent.click(rexAction);
|
399
|
+
});
|
388
400
|
|
389
401
|
assertNockRequest(autocompleteScope);
|
390
402
|
assertNockRequest(scope);
|
391
|
-
assertNockRequest(upgradeScope
|
403
|
+
assertNockRequest(upgradeScope);
|
404
|
+
act(done);
|
392
405
|
});
|
393
406
|
|
394
407
|
test('Can bulk upgrade via customized remote execution', async (done) => {
|
@@ -427,7 +440,8 @@ test('Can bulk upgrade via customized remote execution', async (done) => {
|
|
427
440
|
expect(rexAction).toHaveAttribute('href', job);
|
428
441
|
|
429
442
|
assertNockRequest(autocompleteScope);
|
430
|
-
assertNockRequest(scope
|
443
|
+
assertNockRequest(scope);
|
444
|
+
act(done);
|
431
445
|
});
|
432
446
|
|
433
447
|
test('Upgrade is disabled when there are non-upgradable packages selected', async (done) => {
|
@@ -457,7 +471,8 @@ test('Upgrade is disabled when there are non-upgradable packages selected', asyn
|
|
457
471
|
expect(upgradeDropdown).toHaveAttribute('disabled');
|
458
472
|
|
459
473
|
assertNockRequest(autocompleteScope);
|
460
|
-
assertNockRequest(scope
|
474
|
+
assertNockRequest(scope);
|
475
|
+
act(done);
|
461
476
|
});
|
462
477
|
|
463
478
|
test('Remove is disabled when in select all mode', async (done) => {
|
@@ -483,7 +498,8 @@ test('Remove is disabled when in select all mode', async (done) => {
|
|
483
498
|
expect(removeButton).toHaveAttribute('aria-disabled', 'true');
|
484
499
|
|
485
500
|
assertNockRequest(autocompleteScope);
|
486
|
-
assertNockRequest(scope
|
501
|
+
assertNockRequest(scope);
|
502
|
+
act(done);
|
487
503
|
});
|
488
504
|
|
489
505
|
test('Sets initial search query from url params', async (done) => {
|
@@ -504,6 +520,7 @@ test('Sets initial search query from url params', async (done) => {
|
|
504
520
|
expect(queryByText(secondPackage.name)).not.toBeInTheDocument();
|
505
521
|
|
506
522
|
assertNockRequest(autocompleteScope);
|
507
|
-
assertNockRequest(scope
|
523
|
+
assertNockRequest(scope);
|
524
|
+
act(done); // Pass jest callback to confirm test is done
|
508
525
|
});
|
509
526
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { renderWithRedux, patientlyWaitFor, within, fireEvent } from 'react-testing-lib-wrapper';
|
2
|
+
import { renderWithRedux, patientlyWaitFor, within, fireEvent, act } from 'react-testing-lib-wrapper';
|
3
3
|
import { nockInstance, assertNockRequest, mockAutocomplete } from '../../../../../test-utils/nockWrapper';
|
4
4
|
import katelloApi, { foremanApi } from '../../../../../services/api';
|
5
5
|
import { REPOSITORY_SETS_KEY } from '../RepositorySetsTab/RepositorySetsConstants';
|
@@ -83,7 +83,8 @@ test('Can call API for repository sets and show basic table', async (done) => {
|
|
83
83
|
// Assert that the repository sets are now showing on the screen, but wait for them to appear.
|
84
84
|
await patientlyWaitFor(() => expect(getByText(firstRepoSet.contentUrl)).toBeInTheDocument());
|
85
85
|
assertNockRequest(autocompleteScope);
|
86
|
-
assertNockRequest(scope
|
86
|
+
assertNockRequest(scope);
|
87
|
+
done(); // Pass jest callback to confirm test is done
|
87
88
|
});
|
88
89
|
|
89
90
|
test('Can handle no repository sets being present', async (done) => {
|
@@ -108,7 +109,8 @@ test('Can handle no repository sets being present', async (done) => {
|
|
108
109
|
await patientlyWaitFor(() => expect(queryByText('No repository sets to show.')).toBeInTheDocument());
|
109
110
|
// Assert request was made and completed, see helper function
|
110
111
|
assertNockRequest(autocompleteScope);
|
111
|
-
assertNockRequest(scope
|
112
|
+
assertNockRequest(scope);
|
113
|
+
done(); // Pass jest callback to confirm test is done
|
112
114
|
});
|
113
115
|
|
114
116
|
test('Toggle Group shows if it\'s not the default content view or library enviroment', async (done) => {
|
@@ -127,7 +129,8 @@ test('Toggle Group shows if it\'s not the default content view or library enviro
|
|
127
129
|
await patientlyWaitFor(() => expect(getByText(firstRepoSet.contentUrl)).toBeInTheDocument());
|
128
130
|
expect(queryByLabelText('Limit to environment')).toBeInTheDocument();
|
129
131
|
assertNockRequest(autocompleteScope);
|
130
|
-
assertNockRequest(scope
|
132
|
+
assertNockRequest(scope);
|
133
|
+
done(); // Pass jest callback to confirm test is done
|
131
134
|
});
|
132
135
|
|
133
136
|
test('Toggle Group shows if it\'s the default content view but non-library environment', async (done) => {
|
@@ -151,7 +154,8 @@ test('Toggle Group shows if it\'s the default content view but non-library envir
|
|
151
154
|
await patientlyWaitFor(() => expect(getByText(firstRepoSet.contentUrl)).toBeInTheDocument());
|
152
155
|
expect(queryByLabelText('Limit to environment')).toBeInTheDocument();
|
153
156
|
assertNockRequest(autocompleteScope);
|
154
|
-
assertNockRequest(scope
|
157
|
+
assertNockRequest(scope);
|
158
|
+
done(); // Pass jest callback to confirm test is done
|
155
159
|
});
|
156
160
|
|
157
161
|
test('Toggle Group shows if it\'s the library environment but a non-default content view', async (done) => {
|
@@ -174,7 +178,8 @@ test('Toggle Group shows if it\'s the library environment but a non-default cont
|
|
174
178
|
await patientlyWaitFor(() => expect(getByText(firstRepoSet.contentUrl)).toBeInTheDocument());
|
175
179
|
expect(queryByLabelText('Limit to environment')).toBeInTheDocument();
|
176
180
|
assertNockRequest(autocompleteScope);
|
177
|
-
assertNockRequest(scope
|
181
|
+
assertNockRequest(scope);
|
182
|
+
done(); // Pass jest callback to confirm test is done
|
178
183
|
});
|
179
184
|
|
180
185
|
test('Toggle Group does not show if it\'s the library environment and default content view', async (done) => {
|
@@ -199,7 +204,8 @@ test('Toggle Group does not show if it\'s the library environment and default co
|
|
199
204
|
await patientlyWaitFor(() => expect(getByText(firstRepoSet.contentUrl)).toBeInTheDocument());
|
200
205
|
expect(queryByLabelText('Limit to environment')).not.toBeInTheDocument();
|
201
206
|
assertNockRequest(autocompleteScope);
|
202
|
-
assertNockRequest(scope
|
207
|
+
assertNockRequest(scope);
|
208
|
+
done(); // Pass jest callback to confirm test is done
|
203
209
|
});
|
204
210
|
|
205
211
|
test('Can toggle with the Toggle Group ', async (done) => {
|
@@ -221,7 +227,8 @@ test('Can toggle with the Toggle Group ', async (done) => {
|
|
221
227
|
expect(queryByLabelText('Limit to environment')).toHaveAttribute('aria-pressed', 'true');
|
222
228
|
expect(queryByLabelText('No limit')).toHaveAttribute('aria-pressed', 'false');
|
223
229
|
assertNockRequest(autocompleteScope);
|
224
|
-
assertNockRequest(scope
|
230
|
+
assertNockRequest(scope);
|
231
|
+
done(); // Pass jest callback to confirm test is done
|
225
232
|
});
|
226
233
|
|
227
234
|
test('Can override to disabled', async (done) => {
|
@@ -244,9 +251,10 @@ test('Can override to disabled', async (done) => {
|
|
244
251
|
expect(getAllByText('Enabled')).toHaveLength(2);
|
245
252
|
expect(getAllByText('Disabled')).toHaveLength(1);
|
246
253
|
// Find the first action menu and click it
|
247
|
-
const actionMenu = getAllByLabelText('
|
248
|
-
|
249
|
-
|
254
|
+
const actionMenu = getAllByLabelText('Kebab toggle')[0].closest('button');
|
255
|
+
await act(async () => {
|
256
|
+
fireEvent.click(actionMenu);
|
257
|
+
});
|
250
258
|
const overrideMenuItem = getByText('Override to disabled');
|
251
259
|
expect(overrideMenuItem).toBeInTheDocument();
|
252
260
|
fireEvent.click(overrideMenuItem);
|
@@ -259,7 +267,8 @@ test('Can override to disabled', async (done) => {
|
|
259
267
|
|
260
268
|
assertNockRequest(autocompleteScope);
|
261
269
|
assertNockRequest(scope);
|
262
|
-
assertNockRequest(contentOverrideScope
|
270
|
+
assertNockRequest(contentOverrideScope);
|
271
|
+
done(); // Pass jest callback to confirm test is done
|
263
272
|
});
|
264
273
|
|
265
274
|
test('Can override to enabled', async (done) => {
|
@@ -284,8 +293,10 @@ test('Can override to enabled', async (done) => {
|
|
284
293
|
expect(getAllByText('Enabled')).toHaveLength(2);
|
285
294
|
expect(getAllByText('Disabled')).toHaveLength(1);
|
286
295
|
// The second item is overridden to disabled; we're going to override to enabled
|
287
|
-
const actionMenu = getAllByLabelText('
|
288
|
-
|
296
|
+
const actionMenu = getAllByLabelText('Kebab toggle')[1].closest('button');
|
297
|
+
await act(async () => {
|
298
|
+
fireEvent.click(actionMenu);
|
299
|
+
});
|
289
300
|
|
290
301
|
const overrideMenuItem = getByText('Override to enabled');
|
291
302
|
expect(overrideMenuItem).toBeInTheDocument();
|
@@ -298,7 +309,8 @@ test('Can override to enabled', async (done) => {
|
|
298
309
|
|
299
310
|
assertNockRequest(autocompleteScope);
|
300
311
|
assertNockRequest(scope);
|
301
|
-
assertNockRequest(contentOverrideScope
|
312
|
+
assertNockRequest(contentOverrideScope);
|
313
|
+
done(); // Pass jest callback to confirm test is done
|
302
314
|
});
|
303
315
|
|
304
316
|
test('Can reset to default', async (done) => {
|
@@ -323,8 +335,10 @@ test('Can reset to default', async (done) => {
|
|
323
335
|
expect(getAllByText('Disabled')).toHaveLength(1);
|
324
336
|
|
325
337
|
// The second item is overridden to disabled but would normally be enabled; we're going to reset
|
326
|
-
const actionMenu = getAllByLabelText('
|
327
|
-
|
338
|
+
const actionMenu = getAllByLabelText('Kebab toggle')[1].closest('button');
|
339
|
+
await act(async () => {
|
340
|
+
fireEvent.click(actionMenu);
|
341
|
+
});
|
328
342
|
|
329
343
|
const overrideMenuItem = getByText('Reset to default');
|
330
344
|
expect(overrideMenuItem).toBeInTheDocument();
|
@@ -337,7 +351,8 @@ test('Can reset to default', async (done) => {
|
|
337
351
|
|
338
352
|
assertNockRequest(autocompleteScope);
|
339
353
|
assertNockRequest(scope);
|
340
|
-
assertNockRequest(contentOverrideScope
|
354
|
+
assertNockRequest(contentOverrideScope);
|
355
|
+
done(); // Pass jest callback to confirm test is done
|
341
356
|
});
|
342
357
|
|
343
358
|
test('Can override in bulk', async (done) => {
|
@@ -358,14 +373,17 @@ test('Can override in bulk', async (done) => {
|
|
358
373
|
getByLabelText('Select row 0').click();
|
359
374
|
getByLabelText('Select row 1').click();
|
360
375
|
const actionMenu = getByLabelText('bulk_actions');
|
361
|
-
|
376
|
+
await act(async () => {
|
377
|
+
fireEvent.click(actionMenu);
|
378
|
+
});
|
362
379
|
const resetToDefault = queryByText('Reset to default');
|
363
380
|
expect(resetToDefault).toBeInTheDocument();
|
364
381
|
resetToDefault.click();
|
365
382
|
|
366
383
|
assertNockRequest(autocompleteScope);
|
367
384
|
assertNockRequest(scope);
|
368
|
-
assertNockRequest(contentOverrideScope
|
385
|
+
assertNockRequest(contentOverrideScope);
|
386
|
+
done(); // Pass jest callback to confirm test is done});
|
369
387
|
});
|
370
388
|
test('Can override in bulk when limited to environment', async (done) => {
|
371
389
|
const autocompleteScope = mockAutocomplete(nockInstance, autocompleteUrl);
|
@@ -391,14 +409,17 @@ test('Can override in bulk when limited to environment', async (done) => {
|
|
391
409
|
await patientlyWaitFor(() => expect(getByText(firstRepoSet.contentUrl)).toBeInTheDocument());
|
392
410
|
getByLabelText('Select all').click();
|
393
411
|
const actionMenu = getByLabelText('bulk_actions');
|
394
|
-
|
412
|
+
await act(async () => {
|
413
|
+
fireEvent.click(actionMenu);
|
414
|
+
});
|
395
415
|
const resetToDefault = queryByText('Reset to default');
|
396
416
|
expect(resetToDefault).toBeInTheDocument();
|
397
417
|
resetToDefault.click();
|
398
418
|
|
399
419
|
assertNockRequest(autocompleteScope);
|
400
420
|
assertNockRequest(scope);
|
401
|
-
assertNockRequest(contentOverrideScope
|
421
|
+
assertNockRequest(contentOverrideScope);
|
422
|
+
done();
|
402
423
|
});
|
403
424
|
|
404
425
|
test('Can filter by status', async (done) => {
|
@@ -422,7 +443,9 @@ test('Can filter by status', async (done) => {
|
|
422
443
|
const statusContainer = queryByLabelText('select Status container', { ignore: 'th' });
|
423
444
|
const statusDropdown = within(statusContainer).queryByText('Status');
|
424
445
|
expect(statusDropdown).toBeInTheDocument();
|
425
|
-
|
446
|
+
await act(async () => {
|
447
|
+
fireEvent.click(statusDropdown);
|
448
|
+
});
|
426
449
|
const overridden = getByRole('option', { name: 'select Overridden' });
|
427
450
|
fireEvent.click(overridden);
|
428
451
|
await patientlyWaitFor(() => {
|
@@ -430,7 +453,8 @@ test('Can filter by status', async (done) => {
|
|
430
453
|
});
|
431
454
|
assertNockRequest(autocompleteScope);
|
432
455
|
assertNockRequest(scope);
|
433
|
-
assertNockRequest(scope2
|
456
|
+
assertNockRequest(scope2);
|
457
|
+
done(); // Pass jest callback to confirm test is done
|
434
458
|
});
|
435
459
|
|
436
460
|
test('Can display restrictions as labels', async (done) => {
|
@@ -448,5 +472,6 @@ test('Can display restrictions as labels', async (done) => {
|
|
448
472
|
expect(secondRepoSet.archRestricted).not.toBeNull();
|
449
473
|
expect(getByText(secondRepoSet.archRestricted)).toBeInTheDocument();
|
450
474
|
assertNockRequest(autocompleteScope);
|
451
|
-
assertNockRequest(scope
|
475
|
+
assertNockRequest(scope);
|
476
|
+
done(); // Pass jest callback to confirm test is done
|
452
477
|
});
|