101 lines
3.4 KiB
TypeScript
101 lines
3.4 KiB
TypeScript
import { test, expect, Page } from '@playwright/test'
|
|
|
|
test.describe.configure({ mode: 'serial' })
|
|
|
|
let page: Page
|
|
|
|
test.beforeAll(async ({ browser }) => {
|
|
page = await browser.newPage()
|
|
})
|
|
|
|
test.afterAll(async () => {
|
|
await page.reload()
|
|
await page.click("//button[@data-testid='actiontest-delete-file/']")
|
|
await page.click("(//div[@id='FileltemActiondelete']//div)[2]")
|
|
await page.click("(//button[@id='dialogDeleteConfirm']//span)[2]")
|
|
await page.close()
|
|
})
|
|
|
|
test('Login', async ({}) => {
|
|
await page.goto('http://localhost:3010/admin')
|
|
|
|
await expect(page).toHaveTitle('Sign in to EDM')
|
|
await page.fill("input[name='username']", 'admin')
|
|
await page.fill("input[name='password']", 'P@ssw0rd')
|
|
await page.click("input[name='login']")
|
|
})
|
|
|
|
test('Create Cabinet', async () => {
|
|
await page.click("//div[@id='triggerFolderCreateFileItem']")
|
|
await page.fill("(//input[@placeholder='กรอกชื่อ'])[1]", 'test-delete-file')
|
|
await page.click("//button[@type='submit']")
|
|
await expect(page.locator("(//div[@class='col'])[3]")).toContainText(
|
|
/test-delete-file/,
|
|
)
|
|
})
|
|
|
|
test('Go into Cabinet', async () => {
|
|
await page.click("//div[@data-pathname='test-delete-file/']")
|
|
await expect(
|
|
page.locator("//div[contains(@class,'flex items-center')]//div[1]"),
|
|
).toContainText(/test-delete-file/)
|
|
})
|
|
|
|
test('Create Drawer', async () => {
|
|
await page.click("//div[@id='triggerFolderCreateFileItem']")
|
|
await page.fill("(//input[@placeholder='กรอกชื่อ'])[1]", 'test-delete-file')
|
|
await page.click("//button[@type='submit']")
|
|
await expect(page.locator("(//div[@class='col'])[3]")).toContainText(
|
|
/test-delete-file/,
|
|
)
|
|
})
|
|
|
|
test('Go into Drawer', async () => {
|
|
await page.click("//div[@data-pathname='test-delete-file/test-delete-file/']")
|
|
await expect(
|
|
page.locator("//div[contains(@class,'flex items-center')]//div[3]"),
|
|
).toContainText(/test-delete-file/)
|
|
})
|
|
|
|
test('Create Folder', async () => {
|
|
await page.click("//div[@id='triggerFolderCreateFileItem']")
|
|
await page.fill("(//input[@placeholder='กรอกชื่อ'])[1]", 'test-delete-file')
|
|
await page.click("//button[@type='submit']")
|
|
await expect(page.locator("(//div[@class='col'])[3]")).toContainText(
|
|
/test-delete-file/,
|
|
)
|
|
})
|
|
|
|
test('Go into Folder', async () => {
|
|
await page.click(
|
|
"//div[@data-pathname='test-delete-file/test-delete-file/test-delete-file/']",
|
|
)
|
|
await expect(
|
|
page.locator("//div[contains(@class,'flex items-center')]//div[5]"),
|
|
).toContainText(/test-delete-file/)
|
|
})
|
|
|
|
test('Upload File', async () => {
|
|
await page.click("//div[@id='triggerFileCreateFileItem']")
|
|
await page.setInputFiles("//input[@type='file']", 'tests/file.txt')
|
|
await page.fill("//input[@placeholder='กรอกชื่อเรื่อง']", 'test-delete-file')
|
|
await page.click("(//form[@class='q-form']//button)[2]")
|
|
await page.waitForTimeout(3000)
|
|
await expect(
|
|
page.locator(
|
|
"//div[@data-pathname='test-delete-file/test-delete-file/test-delete-file/file.txt']",
|
|
),
|
|
).toContainText(/test-delete-file/)
|
|
})
|
|
|
|
test('Delete File', async () => {
|
|
await page.click(
|
|
"//button[@data-testid='actiontest-delete-file/test-delete-file/test-delete-file/file.txt']",
|
|
)
|
|
await page.click("//div[@id='FileltemActiondelete']")
|
|
await page.click("//button[@id='dialogDeleteConfirm']")
|
|
await page.waitForTimeout(3000)
|
|
await expect(
|
|
page.locator("(//div[@class='grid q-mt-md'])[2]"),
|
|
).not.toContainText(/test-delete-file/)
|
|
})
|