fix: correct website upload path (#483)

* test(wip): add ui tests

* fix: correct website upload path

* fix: use includes

* test: rewrite ui tests

* build: remove concurrently

* ci: run puppeteer in headless

* test: add regression tests

* test: add website regression 03 test

* test: add react test website

* chore: revert newlines

Co-authored-by: Cafe137 <aron@aronsoos.com>
This commit is contained in:
Cafe137
2022-07-25 11:24:32 +02:00
committed by GitHub
parent f01477ea70
commit 186d0352cf
35 changed files with 1521 additions and 1 deletions
+36
View File
@@ -0,0 +1,36 @@
const puppeteer = require('puppeteer')
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', '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: 89ef8f3e[…]504e5d1c')
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 }
+33
View File
@@ -0,0 +1,33 @@
const puppeteer = require('puppeteer')
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', '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: 5de1d879[…]3427432d')
}
module.exports = { testImageFileUpload }
+25
View File
@@ -0,0 +1,25 @@
const puppeteer = require('puppeteer')
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', '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', 'application/javascript')
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 puppeteer = require('puppeteer')
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', '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: da0773a9[…]5f7a1b54')
}
module.exports = { testTextFileUpload }
+36
View File
@@ -0,0 +1,36 @@
const puppeteer = require('puppeteer')
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', '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: b9a6d15d[…]d0d48b81')
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 }