import { describe, it, expect, beforeEach } from 'vitest' import { initApiEnvSwitcher } from '../../assets/modules/api-env-switcher.js' describe('initApiEnvSwitcher', () => { beforeEach(() => { document.body.innerHTML = '' }) it('does nothing without env-switcher', () => { expect(() => initApiEnvSwitcher()).not.toThrow() }) it('switches to live environment', () => { document.body.innerHTML = `
https://example.com/api/sandbox
Sandbox desc
/api/sandbox /api/sandbox ` initApiEnvSwitcher() document.querySelector('[data-env="live"]').click() expect(document.getElementById('env-base-url').textContent).toBe('https://example.com/api/live') expect(document.getElementById('env-description').textContent).toContain('production') const prefixes = document.querySelectorAll('.api-env-prefix') prefixes.forEach(el => { expect(el.textContent).toBe('/api/live') expect(el.className).toContain('text-green-400') }) }) it('switches back to sandbox', () => { document.body.innerHTML = `https://test.com/api/live
Live desc
/api/live ` initApiEnvSwitcher() document.querySelector('[data-env="sandbox"]').click() expect(document.getElementById('env-base-url').textContent).toBe('https://test.com/api/sandbox') expect(document.querySelector('.api-env-prefix').textContent).toBe('/api/sandbox') }) it('uses location.origin when no data-host', () => { document.body.innerHTML = `