summaryrefslogtreecommitdiff
path: root/spec/frontend/packages_and_registries/settings/project/settings/components/registry_settings_app_spec.js
blob: f576bc79eaea0e56659867af3551eb3dfda2ef5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { shallowMount } from '@vue/test-utils';
import component from '~/packages_and_registries/settings/project/components/registry_settings_app.vue';
import ContainerExpirationPolicy from '~/packages_and_registries/settings/project/components/container_expiration_policy.vue';
import PackagesCleanupPolicy from '~/packages_and_registries/settings/project/components/packages_cleanup_policy.vue';

describe('Registry Settings app', () => {
  let wrapper;

  const findContainerExpirationPolicy = () => wrapper.find(ContainerExpirationPolicy);
  const findPackagesCleanupPolicy = () => wrapper.find(PackagesCleanupPolicy);

  afterEach(() => {
    wrapper.destroy();
    wrapper = null;
  });

  const mountComponent = (provide) => {
    wrapper = shallowMount(component, {
      provide,
    });
  };

  it.each`
    showContainerRegistrySettings | showPackageRegistrySettings
    ${true}                       | ${false}
    ${true}                       | ${true}
    ${false}                      | ${true}
    ${false}                      | ${false}
  `(
    'container expiration policy $showContainerRegistrySettings and package cleanup policy is $showPackageRegistrySettings',
    ({ showContainerRegistrySettings, showPackageRegistrySettings }) => {
      mountComponent({
        showContainerRegistrySettings,
        showPackageRegistrySettings,
      });

      expect(findContainerExpirationPolicy().exists()).toBe(showContainerRegistrySettings);
      expect(findPackagesCleanupPolicy().exists()).toBe(showPackageRegistrySettings);
    },
  );
});