forked from trent_larson/crowd-funder-for-time-pwa
Filename-based sequence
This commit is contained in:
59
test-playwright/20-create-project.spec.ts
Normal file
59
test-playwright/20-create-project.spec.ts
Normal file
@@ -0,0 +1,59 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
|
||||
test('test', async ({ page }) => {
|
||||
// Generate a random string of 16 characters
|
||||
let randomString = Math.random().toString(36).substring(2, 18);
|
||||
|
||||
// In case the string is shorter than 16 characters, generate more characters until it is 16 characters long
|
||||
while (randomString.length < 16) {
|
||||
randomString += Math.random().toString(36).substring(2, 18);
|
||||
}
|
||||
const finalRandomString = randomString.substring(0, 16);
|
||||
|
||||
// Standard texts
|
||||
const standardTitle = "Idea ";
|
||||
const standardDescription = "Description of Idea ";
|
||||
|
||||
// Combine texts with the random string
|
||||
const finalTitle = standardTitle + finalRandomString;
|
||||
const finalDescription = standardDescription + finalRandomString;
|
||||
|
||||
// Create new ID using seed phrase "rigid shrug mobile…"
|
||||
await page.goto('./start');
|
||||
await page.getByText('You have a seed').click();
|
||||
await page.getByPlaceholder('Seed Phrase').click();
|
||||
await page.getByPlaceholder('Seed Phrase').fill('rigid shrug mobile smart veteran half all pond toilet brave review universe ship congress found yard skate elite apology jar uniform subway slender luggage');
|
||||
await page.getByRole('button', { name: 'Import' }).click();
|
||||
|
||||
// Set name
|
||||
await page.getByRole('link', { name: 'Set Your Name' }).click();
|
||||
await page.getByPlaceholder('Name').click();
|
||||
await page.getByPlaceholder('Name').fill('User Zero');
|
||||
await page.getByRole('button', { name: 'Save Changes' }).click();
|
||||
|
||||
// Check DID
|
||||
await expect(page.getByRole('code')).toContainText('did:ethr:0x0000694B58C2cC69658993A90D3840C560f2F51F');
|
||||
|
||||
// Pause for 5 seconds
|
||||
await page.waitForTimeout(5000); // I have to wait, otherwise the (+) button to add a new project doesn't appear
|
||||
|
||||
// Create new project
|
||||
await page.goto('./projects');
|
||||
await page.getByRole('link', { name: 'Projects', exact: true }).click();
|
||||
await page.getByRole('button').click();
|
||||
await page.getByPlaceholder('Idea Name').click();
|
||||
await page.getByPlaceholder('Idea Name').fill(finalTitle); // Add random suffix
|
||||
await page.getByPlaceholder('Description').click();
|
||||
await page.getByPlaceholder('Description').fill(finalDescription);
|
||||
await page.getByPlaceholder('Website').click();
|
||||
await page.getByPlaceholder('Website').fill('https://example.com');
|
||||
await page.getByPlaceholder('Start Date').click();
|
||||
await page.getByPlaceholder('Start Date').fill('2025-12-01');
|
||||
await page.getByPlaceholder('Start Time').click();
|
||||
await page.getByPlaceholder('Start Time').fill('12:00');
|
||||
await page.getByRole('button', { name: 'Save Project' }).click();
|
||||
|
||||
// Check texts
|
||||
await expect(page.locator('h2')).toContainText(finalTitle);
|
||||
await expect(page.locator('#Content')).toContainText(finalDescription);
|
||||
});
|
||||
Reference in New Issue
Block a user