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
+41
View File
@@ -0,0 +1,41 @@
const path = require('path')
const { selectStampAndUpload } = require('../helpers')
const { Assert, Click } = require('../library')
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function testFolderUpload(page) {
await Click.elementWithText(page, 'a', 'Files')
await Click.elementWithTextAndUpload(
page,
'button',
'Add Folder',
path.resolve(__dirname, '../test-data/test-folder'),
)
await assertUploadPreview(page)
await selectStampAndUpload(page)
await assertDownloadPreview(page)
}
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function assertDownloadPreview(page) {
await assertUploadPreview(page)
await Assert.elementWithTextExists(page, 'p', 'Swarm Hash: f3cace09[…]6a30aff5')
await Assert.elementWithTextExists(page, 'p', 'Folder Name: test-folder')
await Assert.elementWithTextExists(page, 'p', 'Kind: Folder')
await Assert.elementWithTextExists(page, 'h6', '4 items')
}
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function assertUploadPreview(page) {
await Assert.elementWithTextExists(page, 'p', 'Folder Name: test-folder')
await Assert.elementWithTextExists(page, 'p', 'Kind: Folder')
await Assert.elementWithTextExists(page, 'p', 'Size: 6.56 KB')
}
module.exports = { testFolderUpload }
+38
View File
@@ -0,0 +1,38 @@
const path = require('path')
const { Assert, Click } = require('../library')
const { selectStampAndUpload } = require('../helpers')
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function testImageFileUpload(page) {
await Click.elementWithText(page, 'a', 'Files')
await Click.elementWithTextAndUpload(
page,
'button',
'Add File',
path.resolve(__dirname, '../test-data/1337x1337.jpg'),
)
await assertUploadPreview(page)
await selectStampAndUpload(page)
await assertDownloadPreview(page)
}
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function assertUploadPreview(page) {
await Assert.elementWithTextExists(page, 'p', 'Filename: 1337x1337.jpg')
await Assert.elementWithTextExists(page, 'p', 'Kind: image/jpeg')
await Assert.elementWithTextExists(page, 'p', 'Size: 116.88 KB')
}
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function assertDownloadPreview(page) {
await assertUploadPreview(page)
await Assert.elementWithTextExists(page, 'p', 'Swarm Hash: 91a70e81[…]758fbbde')
}
module.exports = { testImageFileUpload }
+30
View File
@@ -0,0 +1,30 @@
const path = require('path')
const { selectStampAndUpload, assertUploadedContentAtPath } = require('../helpers')
const { Click } = require('../library')
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function testReactWebsiteUpload(page) {
await Click.elementWithText(page, 'a', 'Files')
await Click.elementWithTextAndUpload(
page,
'button',
'Add Website',
path.resolve(__dirname, '../test-data/test-react-website'),
)
const swarmHash = await selectStampAndUpload(page)
await assertUploadedContentAtPath(swarmHash, 'index.html', 'text/html; charset=utf-8')
await assertUploadedContentAtPath(swarmHash, 'asset-manifest.json', 'application/json')
await assertUploadedContentAtPath(swarmHash, 'static/css/main.073c9b0a.css', 'text/css; charset=utf-8')
await assertUploadedContentAtPath(swarmHash, 'static/css/main.073c9b0a.css.map', '')
await assertUploadedContentAtPath(swarmHash, 'static/js/787.28cb0dcd.chunk.js', 'text/javascript; charset=utf-8')
await assertUploadedContentAtPath(swarmHash, 'static/js/787.28cb0dcd.chunk.js.map', '')
await assertUploadedContentAtPath(
swarmHash,
'static/media/logo.6ce24c58023cc2f8fd88fe9d219db6c6.svg',
'image/svg+xml',
)
}
module.exports = { testReactWebsiteUpload }
+33
View File
@@ -0,0 +1,33 @@
const path = require('path')
const { selectStampAndUpload } = require('../helpers')
const { Assert, Click } = require('../library')
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function testTextFileUpload(page) {
await Click.elementWithText(page, 'a', 'Files')
await Click.elementWithTextAndUpload(page, 'button', 'Add File', path.resolve(__dirname, '../test-data/text.txt'))
await assertUploadPreview(page)
await selectStampAndUpload(page)
await assertDownloadPreview(page)
}
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function assertUploadPreview(page) {
await Assert.elementWithTextExists(page, 'p', 'Filename: text.txt')
await Assert.elementWithTextExists(page, 'p', 'Kind: text/plain')
await Assert.elementWithTextExists(page, 'p', 'Size: 1.64 KB')
}
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function assertDownloadPreview(page) {
assertUploadPreview(page)
await Assert.elementWithTextExists(page, 'p', 'Swarm Hash: c6e8a03e[…]327a88c4')
}
module.exports = { testTextFileUpload }
+38
View File
@@ -0,0 +1,38 @@
const path = require('path')
const { selectStampAndUpload } = require('../helpers')
const { Assert, Click } = require('../library')
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function testUnicodeFileUpload(page) {
await Click.elementWithText(page, 'a', 'Files')
await Click.elementWithTextAndUpload(
page,
'button',
'Add File',
path.resolve(__dirname, '../test-data/—𝖆𝖆🙇\\𝖈𝖈.txt'),
)
await assertUploadPreview(page)
await selectStampAndUpload(page)
await assertDownloadPreview(page)
}
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function assertUploadPreview(page) {
await Assert.elementWithTextExists(page, 'p', 'Filename: —𝖆𝖆🙇\\𝖈𝖈.txt')
await Assert.elementWithTextExists(page, 'p', 'Kind: text/plain')
await Assert.elementWithTextExists(page, 'p', 'Size: 5.51 KB')
}
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function assertDownloadPreview(page) {
assertUploadPreview(page)
await Assert.elementWithTextExists(page, 'p', 'Swarm Hash: 2a3f5bfc[…]77e2a4c1')
}
module.exports = { testUnicodeFileUpload }
@@ -0,0 +1,21 @@
const path = require('path')
const { selectStampAndUpload, assertUploadedContentAtPath } = require('../helpers')
const { Click } = require('../library')
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function testUnicodeWebsiteUpload(page) {
await Click.elementWithText(page, 'a', 'Files')
await Click.elementWithTextAndUpload(
page,
'button',
'Add Website',
path.resolve(__dirname, '../test-data/test-unicode-website—𝖆𝖆🙇\\𝖈𝖈'),
)
const swarmHash = await selectStampAndUpload(page)
await assertUploadedContentAtPath(swarmHash, 'index.html', 'text/html; charset=utf-8')
await assertUploadedContentAtPath(swarmHash, '—𝖆𝖆🙇/𝖈𝖈.txt', 'text/plain; charset=utf-8')
}
module.exports = { testUnicodeWebsiteUpload }
+41
View File
@@ -0,0 +1,41 @@
const path = require('path')
const { selectStampAndUpload } = require('../helpers')
const { Assert, Click } = require('../library')
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function testWebsiteUpload(page) {
await Click.elementWithText(page, 'a', 'Files')
await Click.elementWithTextAndUpload(
page,
'button',
'Add Website',
path.resolve(__dirname, '../test-data/test-website'),
)
await assertUploadPreview(page)
await selectStampAndUpload(page)
await assertDownloadPreview(page)
}
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function assertUploadPreview(page) {
await Assert.elementWithTextExists(page, 'p', 'Folder Name: test-website')
await Assert.elementWithTextExists(page, 'p', 'Kind: Website')
await Assert.elementWithTextExists(page, 'p', 'Size: 390.10 KB')
}
/**
* @param {puppeteer.Page} page Puppeteer Page object returned by `browser.newPage()`
*/
async function assertDownloadPreview(page) {
await assertUploadPreview(page)
await Assert.elementWithTextExists(page, 'p', 'Swarm Hash: d7fc1259[…]ac11e6f7')
await Assert.elementWithTextExists(page, 'p', 'Folder Name: test-website')
await Assert.elementWithTextExists(page, 'p', 'Kind: Website')
await Assert.elementWithTextExists(page, 'h6', '3 items')
}
module.exports = { testWebsiteUpload }