mirror of
https://codeberg.org/davrot/forgejo.git
synced 2025-04-21 23:36:43 +02:00
Dateien nach „tests/e2e“ hochladen
This commit is contained in:
parent
65803bfcd5
commit
f5b74b3865
1 changed files with 297 additions and 0 deletions
297
tests/e2e/rm_dir.test.e2e.ts
Normal file
297
tests/e2e/rm_dir.test.e2e.ts
Normal file
|
@ -0,0 +1,297 @@
|
|||
// @watch start
|
||||
// templates/user/auth/**
|
||||
// web_src/js/features/user-**
|
||||
// modules/{user,auth}/**
|
||||
// @watch end
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { test } from './utils_e2e.ts';
|
||||
|
||||
test('delete directory test', async ({ page }, workerInfo) => {
|
||||
page.setDefaultTimeout(0);
|
||||
|
||||
// Create user
|
||||
await expect(async () => {
|
||||
const response = await page.goto('/user/sign_up');
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
await page.fill('input[name=user_name]', `e2e-test-${workerInfo.workerIndex}`);
|
||||
await page.fill('input[name=email]', `e2e-test-${workerInfo.workerIndex}@test.com`);
|
||||
await page.fill('input[name=password]', 'test123test123');
|
||||
await page.fill('input[name=retype]', 'test123test123');
|
||||
await page.click('form button.ui.primary.button:visible');
|
||||
}).toPass();
|
||||
|
||||
// Remove later because after creating a new account it is logged in
|
||||
// Log-in into account
|
||||
await expect(async () => {
|
||||
const response = await page.goto('/user/login');
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
// await expect(async () => {
|
||||
await page.fill('input[name=user_name]', `e2e-test-${workerInfo.workerIndex}`);
|
||||
await page.fill('input[name=password]', 'test123test123');
|
||||
await page.getByRole('button', { name: 'Sign in' }).click();
|
||||
// }).toPass();
|
||||
|
||||
// Create a new repos
|
||||
await expect(async () => {
|
||||
const response = await page.goto('/repo/create');
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
await page.fill('input[name=repo_name]', 'e2e-test');
|
||||
await page.getByRole('button', { name: 'Create repository' }).click();
|
||||
}).toPass();
|
||||
|
||||
// Go into the repo
|
||||
// Create file1.txt
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/_new/master`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
await expect(async () => {
|
||||
await page.getByPlaceholder('Name your file…').click();
|
||||
await page.getByPlaceholder('Name your file…').fill('file1.txt');
|
||||
await page.locator('.view-lines').click();
|
||||
await page.getByLabel('Editor content').fill('Test 1');
|
||||
await page.getByRole('button', { name: 'Commit changes' }).click();
|
||||
}).toPass();
|
||||
// Is file there?
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/file1.txt`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
// Create dir2/file2.txt
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/_new/master`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
await expect(async () => {
|
||||
await page.getByPlaceholder('Name your file…').click();
|
||||
await page.getByPlaceholder('Name your file…').fill('dir2/file2.txt');
|
||||
await page.locator('.view-lines').click();
|
||||
await page.getByLabel('Editor content').fill('Test 2');
|
||||
await page.getByRole('button', { name: 'Commit changes' }).click();
|
||||
}).toPass();
|
||||
// Is file there?
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/file2.txt`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
// Create dir2/dir3/file3.txt
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/_new/master`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
await expect(async () => {
|
||||
await page.getByPlaceholder('Name your file…').click();
|
||||
await page.getByPlaceholder('Name your file…').fill('dir2/dir3/file3.txt');
|
||||
await page.locator('.view-lines').click();
|
||||
await page.getByLabel('Editor content').fill('Test 3');
|
||||
await page.getByRole('button', { name: 'Commit changes' }).click();
|
||||
}).toPass();
|
||||
// Is file there?
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/dir3/file3.txt`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
// Create dir2/dir3/file3b.txt
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/_new/master`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
await expect(async () => {
|
||||
await page.getByPlaceholder('Name your file…').click();
|
||||
await page.getByPlaceholder('Name your file…').fill('dir2/dir3/file3b.txt');
|
||||
await page.locator('.view-lines').click();
|
||||
await page.getByLabel('Editor content').fill('Test 3');
|
||||
await page.getByRole('button', { name: 'Commit changes' }).click();
|
||||
}).toPass();
|
||||
// Is file there?
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/dir3/file3b.txt`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(page.getByRole('link', { name: 'Delete file' })).toBeVisible();
|
||||
// Now we are ready for the test
|
||||
|
||||
// Logout
|
||||
await expect(async () => {
|
||||
await page.locator('div[aria-label="Profile and settings…"]').click();
|
||||
await page.getByText('Sign Out').click();
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto('/');
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
// Delete shouldn't be able for a logged out person
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
await expect(page.getByRole('link', { name: 'Delete file' })).toBeHidden();
|
||||
|
||||
// Create a different user
|
||||
await expect(async () => {
|
||||
const response = await page.goto('/user/sign_up');
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
await expect(async () => {
|
||||
await page.fill('input[name=user_name]', `oe2e-test-${workerInfo.workerIndex}`);
|
||||
await page.fill('input[name=email]', `oe2e-test-${workerInfo.workerIndex}@test.com`);
|
||||
await page.fill('input[name=password]', 'test123test123');
|
||||
await page.fill('input[name=retype]', 'test123test123');
|
||||
await page.click('form button.ui.primary.button:visible');
|
||||
}).toPass();
|
||||
// Remove later because after creating a new account it is logged in
|
||||
// Log-in into account
|
||||
await expect(async () => {
|
||||
const response = await page.goto('/user/login');
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
await expect(async () => {
|
||||
await page.fill('input[name=user_name]', `oe2e-test-${workerInfo.workerIndex}`);
|
||||
await page.fill('input[name=password]', 'test123test123');
|
||||
await page.getByRole('button', { name: 'Sign in' }).click();
|
||||
}).toPass();
|
||||
|
||||
// Delete shouldn't be able for a different person
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
await expect(page.getByRole('link', { name: 'Delete file' })).toBeHidden();
|
||||
|
||||
// Logout
|
||||
await expect(async () => {
|
||||
await page.locator('div[aria-label="Profile and settings…"]').click();
|
||||
await page.getByText('Sign Out').click();
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto('/');
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
// Log-in of the correct account
|
||||
await expect(async () => {
|
||||
const response = await page.goto('/user/login');
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
await page.fill('input[name=user_name]', `e2e-test-${workerInfo.workerIndex}`);
|
||||
await page.fill('input[name=password]', 'test123test123');
|
||||
await page.getByRole('button', { name: 'Sign in' }).click();
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(page.getByRole('link', { name: 'Delete file' })).toBeVisible();
|
||||
// Security test done...
|
||||
|
||||
// Still all files there?
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/file1.txt`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/file2.txt`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/dir3/file3.txt`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/dir3/file3b.txt`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
// remove dir3 and content
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/dir3`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(page.getByRole('link', { name: 'Delete file' })).toBeVisible();
|
||||
|
||||
await expect(async () => {
|
||||
await page.getByRole('link', { name: 'Delete file' }).click();
|
||||
await page.getByRole('button', { name: 'Commit changes' }).click();
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/file1.txt`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/file2.txt`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/dir3/file3.txt`);
|
||||
expect(response?.status()).toBe(404);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/dir3/file3b.txt`);
|
||||
expect(response?.status()).toBe(404);
|
||||
}).toPass();
|
||||
|
||||
// remove root and content
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/`);
|
||||
expect(response?.status()).toBe(200);
|
||||
}).toPass();
|
||||
|
||||
await expect(page.getByRole('link', { name: 'Delete file' })).toBeVisible();
|
||||
|
||||
await expect(async () => {
|
||||
await page.getByRole('link', { name: 'Delete file' }).click();
|
||||
await page.getByRole('button', { name: 'Commit changes' }).click();
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/file1.txt`);
|
||||
expect(response?.status()).toBe(404);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/file2.txt`);
|
||||
expect(response?.status()).toBe(404);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/dir3/file3.txt`);
|
||||
expect(response?.status()).toBe(404);
|
||||
}).toPass();
|
||||
|
||||
await expect(async () => {
|
||||
const response = await page.goto(`/e2e-test-${workerInfo.workerIndex}/e2e-test/src/branch/master/dir2/dir3/file3b.txt`);
|
||||
expect(response?.status()).toBe(404);
|
||||
}).toPass();
|
||||
|
||||
});
|
Loading…
Add table
Reference in a new issue