test(ui): adapt SWR contract tests to the cached-resource layer — 692/692
Some checks failed
Demo images / Build & push demo images (push) Failing after 2m9s
Some checks failed
Demo images / Build & push demo images (push) Failing after 2m9s
The keeps-data-visible-while-refreshing tests for PeerFiles, Server, and LightningChannels mounted without Pinia (the converted components now pull the resources store in setup) — add createPinia to the mounts. LightningChannelsPanel: refresh the main channel list before the closed history so the primary entry gets the first response, and null-guard both fetchers' response shapes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
ea254f63af
commit
8fd72b947a
@ -474,9 +474,9 @@ const channelsRes = useCachedResource<ChannelsData>({
|
|||||||
method: 'lnd.listchannels', timeout: 15000, signal, dedup: true, maxRetries: 1,
|
method: 'lnd.listchannels', timeout: 15000, signal, dedup: true, maxRetries: 1,
|
||||||
})
|
})
|
||||||
return {
|
return {
|
||||||
channels: result.channels || [],
|
channels: result?.channels || [],
|
||||||
total_inbound: result.total_inbound || 0,
|
total_inbound: result?.total_inbound || 0,
|
||||||
total_outbound: result.total_outbound || 0,
|
total_outbound: result?.total_outbound || 0,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@ -486,7 +486,7 @@ const closedRes = useCachedResource<ClosedChannel[]>({
|
|||||||
const closed = await rpcClient.call<{ channels: ClosedChannel[] }>({
|
const closed = await rpcClient.call<{ channels: ClosedChannel[] }>({
|
||||||
method: 'lnd.closedchannels', timeout: 15000, signal, dedup: true, maxRetries: 1,
|
method: 'lnd.closedchannels', timeout: 15000, signal, dedup: true, maxRetries: 1,
|
||||||
})
|
})
|
||||||
return closed.channels || []
|
return closed?.channels || []
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
const loading = computed(() =>
|
const loading = computed(() =>
|
||||||
@ -570,8 +570,9 @@ function capacityPercent(amount: number, capacity: number): number {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function loadChannels(): Promise<void> {
|
function loadChannels(): Promise<void> {
|
||||||
|
const main = channelsRes.refresh()
|
||||||
void closedRes.refresh()
|
void closedRes.refresh()
|
||||||
return channelsRes.refresh()
|
return main
|
||||||
}
|
}
|
||||||
|
|
||||||
function feeParams(): { target_conf?: number; sat_per_vbyte?: number } | null {
|
function feeParams(): { target_conf?: number; sat_per_vbyte?: number } | null {
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { flushPromises, mount } from '@vue/test-utils'
|
import { flushPromises, mount } from '@vue/test-utils'
|
||||||
import { describe, expect, it, vi } from 'vitest'
|
import { describe, expect, it, vi } from 'vitest'
|
||||||
|
import { createPinia } from 'pinia'
|
||||||
import PeerFiles from '../PeerFiles.vue'
|
import PeerFiles from '../PeerFiles.vue'
|
||||||
import { rpcClient } from '@/api/rpc-client'
|
import { rpcClient } from '@/api/rpc-client'
|
||||||
|
|
||||||
@ -55,6 +56,8 @@ describe('PeerFiles', () => {
|
|||||||
const wrapper = mount(PeerFiles, {
|
const wrapper = mount(PeerFiles, {
|
||||||
props: { peerId: 'peer.onion' },
|
props: { peerId: 'peer.onion' },
|
||||||
global: {
|
global: {
|
||||||
|
// The shared peer-browse cache lives in the Pinia resources store.
|
||||||
|
plugins: [createPinia()],
|
||||||
stubs: {
|
stubs: {
|
||||||
Teleport: true,
|
Teleport: true,
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { flushPromises, mount } from '@vue/test-utils'
|
import { flushPromises, mount } from '@vue/test-utils'
|
||||||
import { describe, expect, it, vi } from 'vitest'
|
import { describe, expect, it, vi } from 'vitest'
|
||||||
|
import { createPinia } from 'pinia'
|
||||||
import Server from '../Server.vue'
|
import Server from '../Server.vue'
|
||||||
import { rpcClient } from '@/api/rpc-client'
|
import { rpcClient } from '@/api/rpc-client'
|
||||||
|
|
||||||
@ -29,6 +30,8 @@ function deferred<T>() {
|
|||||||
function mountServer(options: { renderTorServices?: boolean } = {}) {
|
function mountServer(options: { renderTorServices?: boolean } = {}) {
|
||||||
return mount(Server, {
|
return mount(Server, {
|
||||||
global: {
|
global: {
|
||||||
|
// The cached-resource layer pulls the Pinia resources store in setup.
|
||||||
|
plugins: [createPinia()],
|
||||||
stubs: {
|
stubs: {
|
||||||
QuickActionsCard: true,
|
QuickActionsCard: true,
|
||||||
TorServicesCard: options.renderTorServices ? false : true,
|
TorServicesCard: options.renderTorServices ? false : true,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user