// @vitest-environment happy-dom
//
// InstalledAddonsProvider: sin provider = desconocido (undefined), con provider
// responde por clave de addon y por capacidad.
import { afterEach, describe, expect, it } from 'vitest'
import { cleanup, render, screen } from '@testing-library/react'
import {
InstalledAddonsProvider,
useAddonInstalled,
useCapabilityProvided,
useInstalledAddons,
} from '../installed-addons-context'
afterEach(() => cleanup())
function Probe() {
const fiscal = useAddonInstalled('fiscal_mexico')
const issuer = useCapabilityProvided('fiscal.invoice_issuer')
const all = useInstalledAddons()
return (
{String(fiscal)}|{String(issuer)}|{all ? [...all.addons].join(',') : 'null'}
)
}
describe('InstalledAddonsProvider', () => {
it('sin provider devuelve undefined/null (nunca asume ausente)', () => {
render()
expect(screen.getByTestId('probe').textContent).toBe('undefined|undefined|null')
})
it('responde por addon y por capacidad', () => {
render(
,
)
expect(screen.getByTestId('probe').textContent).toBe('true|true|customers,fiscal_mexico')
})
it('addon no instalado = false', () => {
render(
,
)
expect(screen.getByTestId('probe').textContent).toBe('false|false|customers')
})
})