Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/packages_and_registries/package_registry/pages/list_spec.js')
-rw-r--r--spec/frontend/packages_and_registries/package_registry/pages/list_spec.js75
1 files changed, 12 insertions, 63 deletions
diff --git a/spec/frontend/packages_and_registries/package_registry/pages/list_spec.js b/spec/frontend/packages_and_registries/package_registry/pages/list_spec.js
index b3cbd9f5dcf..a2ec527ce12 100644
--- a/spec/frontend/packages_and_registries/package_registry/pages/list_spec.js
+++ b/spec/frontend/packages_and_registries/package_registry/pages/list_spec.js
@@ -1,4 +1,4 @@
-import { GlAlert, GlEmptyState, GlSprintf, GlLink } from '@gitlab/ui';
+import { GlEmptyState, GlSprintf, GlLink } from '@gitlab/ui';
import Vue, { nextTick } from 'vue';
import VueApollo from 'vue-apollo';
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
@@ -8,26 +8,18 @@ import ListPage from '~/packages_and_registries/package_registry/pages/list.vue'
import PackageTitle from '~/packages_and_registries/package_registry/components/list/package_title.vue';
import PackageSearch from '~/packages_and_registries/package_registry/components/list/package_search.vue';
import OriginalPackageList from '~/packages_and_registries/package_registry/components/list/packages_list.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 {
PROJECT_RESOURCE_TYPE,
GROUP_RESOURCE_TYPE,
GRAPHQL_PAGE_SIZE,
EMPTY_LIST_HELP_URL,
PACKAGE_HELP_URL,
- DELETE_PACKAGES_ERROR_MESSAGE,
- DELETE_PACKAGES_SUCCESS_MESSAGE,
} from '~/packages_and_registries/package_registry/constants';
import getPackagesQuery from '~/packages_and_registries/package_registry/graphql/queries/get_packages.query.graphql';
import destroyPackagesMutation from '~/packages_and_registries/package_registry/graphql/mutations/destroy_packages.mutation.graphql';
-import {
- packagesListQuery,
- packageData,
- pagination,
- packagesDestroyMutation,
- packagesDestroyMutationError,
-} from '../mock_data';
+import { packagesListQuery, packageData, pagination } from '../mock_data';
jest.mock('~/flash');
@@ -53,12 +45,11 @@ describe('PackagesListApp', () => {
filters: { packageName: 'foo', packageType: 'CONAN' },
};
- const findAlert = () => wrapper.findComponent(GlAlert);
const findPackageTitle = () => wrapper.findComponent(PackageTitle);
const findSearch = () => wrapper.findComponent(PackageSearch);
const findListComponent = () => wrapper.findComponent(PackageList);
const findEmptyState = () => wrapper.findComponent(GlEmptyState);
- const findDeletePackage = () => wrapper.findComponent(DeletePackage);
+ const findDeletePackages = () => wrapper.findComponent(DeletePackages);
const mountComponent = ({
resolver = jest.fn().mockResolvedValue(packagesListQuery()),
@@ -82,7 +73,7 @@ describe('PackagesListApp', () => {
GlSprintf,
GlLink,
PackageList,
- DeletePackage,
+ DeletePackages,
},
});
};
@@ -243,26 +234,26 @@ describe('PackagesListApp', () => {
});
});
- describe('delete package', () => {
+ describe('delete packages', () => {
it('exists and has the correct props', async () => {
mountComponent();
await waitForFirstRequest();
- expect(findDeletePackage().props()).toMatchObject({
+ expect(findDeletePackages().props()).toMatchObject({
refetchQueries: [{ query: getPackagesQuery, variables: {} }],
showSuccessAlert: true,
});
});
- it('deletePackage is bound to package-list package:delete event', async () => {
+ it('deletePackages is bound to package-list delete event', async () => {
mountComponent();
await waitForFirstRequest();
- findListComponent().vm.$emit('package:delete', { id: 1 });
+ findListComponent().vm.$emit('delete', [{ id: 1 }]);
- expect(findDeletePackage().emitted('start')).toEqual([[]]);
+ expect(findDeletePackages().emitted('start')).toEqual([[]]);
});
it('start and end event set loading correctly', async () => {
@@ -270,59 +261,17 @@ describe('PackagesListApp', () => {
await waitForFirstRequest();
- findDeletePackage().vm.$emit('start');
+ findDeletePackages().vm.$emit('start');
await nextTick();
expect(findListComponent().props('isLoading')).toBe(true);
- findDeletePackage().vm.$emit('end');
+ findDeletePackages().vm.$emit('end');
await nextTick();
expect(findListComponent().props('isLoading')).toBe(false);
});
});
-
- describe('bulk delete package', () => {
- const items = [{ id: '1' }, { id: '2' }];
-
- it('calls mutation with the right values and shows success alert', async () => {
- const mutationResolver = jest.fn().mockResolvedValue(packagesDestroyMutation());
- mountComponent({
- mutationResolver,
- });
-
- await waitForFirstRequest();
-
- findListComponent().vm.$emit('delete', items);
-
- expect(mutationResolver).toHaveBeenCalledWith({
- ids: items.map((item) => item.id),
- });
-
- await waitForPromises();
-
- expect(findAlert().exists()).toBe(true);
- expect(findAlert().props('variant')).toEqual('success');
- expect(findAlert().text()).toMatchInterpolatedText(DELETE_PACKAGES_SUCCESS_MESSAGE);
- });
-
- it('on error shows danger alert', async () => {
- const mutationResolver = jest.fn().mockResolvedValue(packagesDestroyMutationError());
- mountComponent({
- mutationResolver,
- });
-
- await waitForFirstRequest();
-
- findListComponent().vm.$emit('delete', items);
-
- await waitForPromises();
-
- expect(findAlert().exists()).toBe(true);
- expect(findAlert().props('variant')).toEqual('danger');
- expect(findAlert().text()).toMatchInterpolatedText(DELETE_PACKAGES_ERROR_MESSAGE);
- });
- });
});