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

50 lines
1.4 KiB
JavaScript

const {
test,
expect,
setupIntegration,
state,
jsonRequest,
textRequest,
getAdminSession,
installExtensionVersionViaUi,
enableExtensionViaUi
} = require('./scenario-helpers')
setupIntegration()
test('009 example extension can downgrade and upgrade data shape', async ({
browser
}) => {
test.setTimeout(10 * 60 * 1000)
const admin = await getAdminSession(browser)
async function installAndCheck(testVersion, extensionVersion) {
const releases = await jsonRequest(
state.adminContext,
'get',
'/api/v1/extension/example/releases'
)
const release = releases.find(item => item.version === extensionVersion)
expect(release).toBeTruthy()
await installExtensionVersionViaUi(admin, 'example', release.version)
await enableExtensionViaUi(admin, 'example')
const page = await textRequest(state.adminContext, 'get', '/example')
expect(page).toContain(
`Do not remove. Test install extension version: ${testVersion}`
)
const response = await jsonRequest(
state.adminContext,
'get',
'/example/api/v1/test/00000000'
)
expect(response.version ?? response.id).toBe(String(testVersion))
expect(response.test_id ?? response.wallet).toBe('00000000')
}
await installAndCheck(1, '1.0.1')
await installAndCheck(2, '1.0.6')
await installAndCheck(1, '1.0.1')
await installAndCheck(2, '1.0.6')
await installAndCheck(1, '1.0.1')
})