import initGkeNamespace from '~/create_cluster/gke_cluster_namespace'; describe('GKE cluster namespace', () => { const changeEvent = new Event('change'); const isHidden = el => el.classList.contains('hidden'); const hasDisabledInput = el => el.querySelector('input').disabled; let glManagedCheckbox; let selfManaged; let glManaged; beforeEach(() => { setFixtures(`
`); glManagedCheckbox = document.querySelector('.js-gl-managed'); selfManaged = document.querySelector('.js-namespace'); glManaged = document.querySelector('.js-namespace-prefixed'); initGkeNamespace(); }); describe('GKE cluster namespace toggles', () => { it('initially displays the GitLab-managed label and input', () => { expect(isHidden(glManaged)).toEqual(false); expect(hasDisabledInput(glManaged)).toEqual(false); expect(isHidden(selfManaged)).toEqual(true); expect(hasDisabledInput(selfManaged)).toEqual(true); }); it('displays the self-managed label and input when the Gitlab-managed checkbox is unchecked', () => { glManagedCheckbox.checked = false; glManagedCheckbox.dispatchEvent(changeEvent); expect(isHidden(glManaged)).toEqual(true); expect(hasDisabledInput(glManaged)).toEqual(true); expect(isHidden(selfManaged)).toEqual(false); expect(hasDisabledInput(selfManaged)).toEqual(false); }); it('displays the GitLab-managed label and input when the Gitlab-managed checkbox is checked', () => { glManagedCheckbox.checked = true; glManagedCheckbox.dispatchEvent(changeEvent); expect(isHidden(glManaged)).toEqual(false); expect(hasDisabledInput(glManaged)).toEqual(false); expect(isHidden(selfManaged)).toEqual(true); expect(hasDisabledInput(selfManaged)).toEqual(true); }); }); });