Files
lnbits/tests/integration/008_lnaddress-conflict.spec.js
T
2026-07-16 10:40:28 +03:00

55 lines
1.5 KiB
JavaScript

const {
test,
expect,
setupIntegration,
state,
jsonRequest,
uninstallExtension,
getAdminSession,
refreshExtensionCatalog,
installLatestExtensionViaUi,
setExtensionActiveViaUi
} = require('./scenario-helpers')
setupIntegration()
test('008 lnaddress and lnurlp redirect conflict handling', async ({
browser
}) => {
test.setTimeout(10 * 60 * 1000)
const admin = await getAdminSession(browser)
await jsonRequest(state.adminContext, 'patch', '/admin/api/v1/settings', {
data: {
lnbits_extensions_manifests: [
'https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/extensions.json',
'https://raw.githubusercontent.com/lnbits/lnaddress/refs/heads/main/manifest.json'
]
}
})
await refreshExtensionCatalog(state.adminContext)
await uninstallExtension(state.adminContext, 'lnaddress')
await installLatestExtensionViaUi(admin, 'lnurlp')
await installLatestExtensionViaUi(admin, 'lnaddress')
await setExtensionActiveViaUi(admin, 'lnurlp', false)
const conflict = await setExtensionActiveViaUi(
admin,
'lnurlp',
true,
[200, 400]
)
const conflictText = JSON.stringify(conflict)
if (conflictText.includes('Already mapped')) {
expect(conflictText).toContain('Already mapped')
} else {
expect(conflict?.success).toBeTruthy()
}
await setExtensionActiveViaUi(admin, 'lnaddress', false).catch(error => {
if (!String(error.message).includes('Could not find extension card')) {
throw error
}
})
await setExtensionActiveViaUi(admin, 'lnurlp', true)
})