diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-02-20 16:49:51 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-02-20 16:49:51 +0300 |
commit | 71786ddc8e28fbd3cb3fcc4b3ff15e5962a1c82e (patch) | |
tree | 6a2d93ef3fb2d353bb7739e4b57e6541f51cdd71 /spec/frontend/packages_and_registries/package_registry/pages/details_spec.js | |
parent | a7253423e3403b8c08f8a161e5937e1488f5f407 (diff) |
Add latest changes from gitlab-org/gitlab@15-9-stable-eev15.9.0-rc42
Diffstat (limited to 'spec/frontend/packages_and_registries/package_registry/pages/details_spec.js')
-rw-r--r-- | spec/frontend/packages_and_registries/package_registry/pages/details_spec.js | 56 |
1 files changed, 50 insertions, 6 deletions
diff --git a/spec/frontend/packages_and_registries/package_registry/pages/details_spec.js b/spec/frontend/packages_and_registries/package_registry/pages/details_spec.js index eb3b999c1ca..b494965a3cb 100644 --- a/spec/frontend/packages_and_registries/package_registry/pages/details_spec.js +++ b/spec/frontend/packages_and_registries/package_registry/pages/details_spec.js @@ -15,7 +15,7 @@ import InstallationCommands from '~/packages_and_registries/package_registry/com import PackageFiles from '~/packages_and_registries/package_registry/components/details/package_files.vue'; import PackageHistory from '~/packages_and_registries/package_registry/components/details/package_history.vue'; import PackageTitle from '~/packages_and_registries/package_registry/components/details/package_title.vue'; -import DeletePackage from '~/packages_and_registries/package_registry/components/functional/delete_package.vue'; +import DeletePackages from '~/packages_and_registries/package_registry/components/functional/delete_packages.vue'; import PackageVersionsList from '~/packages_and_registries/package_registry/components/details/package_versions_list.vue'; import { FETCH_PACKAGE_DETAILS_ERROR_MESSAGE, @@ -85,7 +85,7 @@ describe('PackagesApp', () => { provide, stubs: { PackageTitle, - DeletePackage, + DeletePackages, GlModal: { template: ` <div> @@ -128,7 +128,8 @@ describe('PackagesApp', () => { const findDependenciesCountBadge = () => wrapper.findByTestId('dependencies-badge'); const findNoDependenciesMessage = () => wrapper.findByTestId('no-dependencies-message'); const findDependencyRows = () => wrapper.findAllComponents(DependencyRow); - const findDeletePackage = () => wrapper.findComponent(DeletePackage); + const findDeletePackageModal = () => wrapper.findAllComponents(DeletePackages).at(1); + const findDeletePackages = () => wrapper.findComponent(DeletePackages); afterEach(() => { wrapper.destroy(); @@ -267,7 +268,7 @@ describe('PackagesApp', () => { await waitForPromises(); - findDeletePackage().vm.$emit('end'); + findDeletePackageModal().vm.$emit('end'); expect(window.location.replace).toHaveBeenCalledWith( 'projectListUrl?showSuccessDeleteAlert=true', @@ -281,7 +282,7 @@ describe('PackagesApp', () => { await waitForPromises(); - findDeletePackage().vm.$emit('end'); + findDeletePackageModal().vm.$emit('end'); expect(window.location.replace).toHaveBeenCalledWith( 'groupListUrl?showSuccessDeleteAlert=true', @@ -595,13 +596,56 @@ describe('PackagesApp', () => { it('binds the correct props', async () => { const versionNodes = packageVersions(); - createComponent({ packageEntity: { versions: { nodes: versionNodes } } }); + createComponent(); + await waitForPromises(); expect(findVersionsList().props()).toMatchObject({ + canDestroy: true, versions: expect.arrayContaining(versionNodes), }); }); + + describe('delete packages', () => { + it('exists and has the correct props', async () => { + createComponent(); + + await waitForPromises(); + + expect(findDeletePackages().props()).toMatchObject({ + refetchQueries: [{ query: getPackageDetails, variables: {} }], + showSuccessAlert: true, + }); + }); + + it('deletePackages is bound to package-versions-list delete event', async () => { + createComponent(); + + await waitForPromises(); + + findVersionsList().vm.$emit('delete', [{ id: 1 }]); + + expect(findDeletePackages().emitted('start')).toEqual([[]]); + }); + + it('start and end event set loading correctly', async () => { + createComponent(); + + await waitForPromises(); + + findDeletePackages().vm.$emit('start'); + + await nextTick(); + + expect(findVersionsList().props('isLoading')).toBe(true); + + findDeletePackages().vm.$emit('end'); + + await nextTick(); + + expect(findVersionsList().props('isLoading')).toBe(false); + }); + }); }); describe('dependency links', () => { |