import initSetHelperText, { HELPER_TEXT_SERVICE_PING_DISABLED, HELPER_TEXT_SERVICE_PING_ENABLED, } from '~/pages/admin/application_settings/metrics_and_profiling/usage_statistics'; describe('UsageStatistics', () => { const FIXTURE = 'application_settings/usage.html'; let servicePingCheckBox; let servicePingFeaturesCheckBox; let servicePingFeaturesLabel; let servicePingFeaturesHelperText; beforeEach(() => { loadFixtures(FIXTURE); initSetHelperText(); servicePingCheckBox = document.getElementById('application_setting_usage_ping_enabled'); servicePingFeaturesCheckBox = document.getElementById( 'application_setting_usage_ping_features_enabled', ); servicePingFeaturesLabel = document.getElementById('service_ping_features_label'); servicePingFeaturesHelperText = document.getElementById('service_ping_features_helper_text'); }); const expectEnabledservicePingFeaturesCheckBox = () => { expect(servicePingFeaturesCheckBox.classList.contains('gl-cursor-not-allowed')).toBe(false); expect(servicePingFeaturesHelperText.textContent).toEqual(HELPER_TEXT_SERVICE_PING_ENABLED); }; const expectDisabledservicePingFeaturesCheckBox = () => { expect(servicePingFeaturesLabel.classList.contains('gl-cursor-not-allowed')).toBe(true); expect(servicePingFeaturesHelperText.textContent).toEqual(HELPER_TEXT_SERVICE_PING_DISABLED); }; describe('Registration Features checkbox', () => { it('is disabled when Service Ping checkbox is unchecked', () => { expect(servicePingCheckBox.checked).toBe(false); expectDisabledservicePingFeaturesCheckBox(); }); it('is enabled when Servie Ping checkbox is checked', () => { servicePingCheckBox.click(); expect(servicePingCheckBox.checked).toBe(true); expectEnabledservicePingFeaturesCheckBox(); }); it('is switched to disabled when Service Ping checkbox is unchecked ', () => { servicePingCheckBox.click(); servicePingFeaturesCheckBox.click(); expectEnabledservicePingFeaturesCheckBox(); servicePingCheckBox.click(); expect(servicePingCheckBox.checked).toBe(false); expect(servicePingFeaturesCheckBox.checked).toBe(false); expectDisabledservicePingFeaturesCheckBox(); }); }); });