2024-01-31 14:35:41 +03:00
|
|
|
/** @file Test copying, moving, cutting and pasting. */
|
|
|
|
import * as test from '@playwright/test'
|
|
|
|
|
|
|
|
import * as actions from './actions'
|
|
|
|
|
|
|
|
test.test.beforeEach(actions.mockAllAndLogin)
|
|
|
|
|
|
|
|
test.test('create folder', async ({ page }) => {
|
|
|
|
const assetRows = actions.locateAssetRows(page)
|
|
|
|
|
|
|
|
await actions.locateNewFolderIcon(page).click()
|
|
|
|
// Assets: [0: Folder 1]
|
|
|
|
await test.expect(assetRows).toHaveCount(1)
|
|
|
|
await test.expect(assetRows.nth(0)).toBeVisible()
|
|
|
|
await test.expect(assetRows.nth(0)).toHaveText(/^New Folder 1/)
|
|
|
|
})
|
|
|
|
|
|
|
|
test.test('create project', async ({ page }) => {
|
|
|
|
const assetRows = actions.locateAssetRows(page)
|
|
|
|
|
|
|
|
await actions.locateNewProjectButton(page).click()
|
|
|
|
// Assets: [0: Project 1]
|
|
|
|
await test.expect(assetRows).toHaveCount(1)
|
|
|
|
await test.expect(actions.locateEditor(page)).toBeVisible()
|
|
|
|
})
|
|
|
|
|
|
|
|
test.test('upload file', async ({ page }) => {
|
|
|
|
const assetRows = actions.locateAssetRows(page)
|
|
|
|
|
|
|
|
const fileChooserPromise = page.waitForEvent('filechooser')
|
|
|
|
await actions.locateUploadFilesIcon(page).click()
|
|
|
|
const fileChooser = await fileChooserPromise
|
|
|
|
const name = 'foo.txt'
|
|
|
|
const content = 'hello world'
|
2024-02-27 15:52:21 +03:00
|
|
|
await fileChooser.setFiles([{ name, buffer: Buffer.from(content), mimeType: 'text/plain' }])
|
2024-01-31 14:35:41 +03:00
|
|
|
|
|
|
|
await test.expect(assetRows).toHaveCount(1)
|
|
|
|
await test.expect(assetRows.nth(0)).toBeVisible()
|
|
|
|
await test.expect(assetRows.nth(0)).toHaveText(new RegExp('^' + name))
|
|
|
|
})
|
|
|
|
|
|
|
|
test.test('create secret', async ({ page }) => {
|
|
|
|
const assetRows = actions.locateAssetRows(page)
|
|
|
|
|
|
|
|
await actions.locateNewSecretIcon(page).click()
|
|
|
|
const name = 'a secret name'
|
|
|
|
const value = 'a secret value'
|
|
|
|
await actions.locateSecretNameInput(page).fill(name)
|
|
|
|
await actions.locateSecretValueInput(page).fill(value)
|
|
|
|
await actions.locateCreateButton(page).click()
|
|
|
|
await test.expect(assetRows).toHaveCount(1)
|
|
|
|
await test.expect(assetRows.nth(0)).toBeVisible()
|
|
|
|
await test.expect(assetRows.nth(0)).toHaveText(new RegExp('^' + name))
|
|
|
|
})
|