feat: sync and update with all changes from fork (#720)

* feat: sync and update with all changes from fork
* refactor: extract clipboard copy logic into custom hook
* fix: correct spelling of DEFAULT_REFRESH_FREQUENCY_MS in Stamps and WalletBalance providers
* refactor(ui-tests): replace fixed sleeps with condition-based waits
* fix: handle null values for size and granteeCount in infoGroups
* fix(lint): add newline at end of file in useClipboardCopy hook
* fix(ui-tests): page.goto URL
* refactor: update import paths for useClipboardCopy

---------

Co-authored-by: Ferenc Sárai <sarai.ferenc@gmail.com>
This commit is contained in:
Bálint Ujvári
2026-03-02 11:34:39 +01:00
committed by GitHub
parent b0f00a624a
commit 519c411db0
303 changed files with 16609 additions and 29415 deletions
+54
View File
@@ -0,0 +1,54 @@
import { renderHook, waitFor } from '@testing-library/react'
import cors from 'cors'
import express from 'express'
import type { Server } from 'http'
import { useBeeDesktop } from '@/hooks/apiHooks'
interface AddressInfo {
address: string
family: string
port: number
}
export function mockServer(data: Record<string | number | symbol, string | boolean>): Promise<Server> {
const app = express()
app.use(cors())
app.get('/info', (req, res) => {
res.send(data)
})
return new Promise(resolve => {
const server = app.listen(() => {
resolve(server)
})
})
}
let serverCorrect: Server
let serverCorrectURL: string
beforeAll(async () => {
serverCorrect = await mockServer({ autoUpdateEnabled: true, version: '0.1.0' })
const portServerCorrect = (serverCorrect.address() as AddressInfo).port
serverCorrectURL = `http://localhost:${portServerCorrect}`
})
afterAll(async () => {
await new Promise(resolve => serverCorrect.close(resolve))
})
describe('useBeeDesktop', () => {
it('should not have error when connected to bee-desktop', async () => {
const { result } = renderHook(() => useBeeDesktop(true, serverCorrectURL))
await waitFor(() => {
expect(result.current.isLoading).toBe(false)
})
expect(result.current.desktopAutoUpdateEnabled).toBe(true)
expect(result.current.beeDesktopVersion).toBe('0.1.0')
expect(result.current.error).toBe(null)
})
})