Merge pull request #216 from kimatata/develop
This commit is contained in:
14
.github/workflows/e2e.yml
vendored
14
.github/workflows/e2e.yml
vendored
@@ -22,11 +22,14 @@ jobs:
|
||||
run: |
|
||||
sudo apt install -y docker-compose
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
|
||||
- name: Install Playwright
|
||||
run: npx playwright install
|
||||
run: npx playwright install --with-deps
|
||||
|
||||
- name: Start docker containers
|
||||
run: docker-compose up --build
|
||||
run: docker-compose up --build -d
|
||||
|
||||
- name: Run E2E tests
|
||||
run: npm run e2e
|
||||
@@ -34,6 +37,7 @@ jobs:
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
name: playwright-report
|
||||
path: playwright-report/
|
||||
retention-days: 30
|
||||
name: e2e-report
|
||||
path: |
|
||||
playwright-report/
|
||||
playwright-screenshots/
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,5 +3,6 @@ coverage/
|
||||
.env
|
||||
/test-results/
|
||||
/playwright-report/
|
||||
/playwright-screenshots/
|
||||
/blob-report/
|
||||
/playwright/.cache/
|
||||
|
||||
39
e2e/first-user-signup.spec.ts
Normal file
39
e2e/first-user-signup.spec.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
|
||||
test('First User signup and create project', async ({ page }) => {
|
||||
const screenshotDir = 'playwright-screenshots/first-user-signup';
|
||||
|
||||
// Move to Sign up page
|
||||
await page.goto('http://localhost:8000/en/account/signup');
|
||||
|
||||
// Fill sign up form
|
||||
await page.getByRole('textbox', { name: 'Email*' }).fill('user1@example.com');
|
||||
await page.getByRole('textbox', { name: 'User name*' }).fill('user1');
|
||||
await page.getByRole('textbox', { name: 'Password Password' }).fill('password');
|
||||
await page.getByRole('textbox', { name: 'Password (confirm)' }).fill('password');
|
||||
|
||||
// Sign up
|
||||
await page.getByRole('button', { name: 'Sign up' }).click();
|
||||
await page.waitForURL('**/en/account');
|
||||
await page.screenshot({ path: `${screenshotDir}/after-sign-up.png`, fullPage: true });
|
||||
|
||||
// Move to projects page
|
||||
await page.getByRole('button', { name: 'Find Projects' }).click();
|
||||
await page.waitForURL('**/en/projects');
|
||||
|
||||
// Create new project
|
||||
await page.getByRole('button', { name: 'New Project' }).click();
|
||||
await page.getByLabel('Project Name').fill('sample project');
|
||||
await page.getByRole('button', { name: 'Create' }).click();
|
||||
|
||||
// Move to new project
|
||||
const projectLink = await page.getByRole('link', { name: 'sample project' });
|
||||
await expect(projectLink).toBeVisible();
|
||||
await projectLink.click();
|
||||
await page.waitForURL('**/en/projects/1/home');
|
||||
|
||||
await page.screenshot({
|
||||
path: `${screenshotDir}/after-create-project.png`,
|
||||
fullPage: true,
|
||||
});
|
||||
});
|
||||
@@ -94,7 +94,7 @@ export default function HeaderNavbarMenu({ messages, locale }: Props) {
|
||||
<NavbarItem className="hidden md:block">
|
||||
<Chip size="sm" variant="flat">
|
||||
<Link className="data-[active=true]:text-primary data-[active=true]:font-medium" href="/" locale={locale}>
|
||||
1.0.0-beta.10
|
||||
1.0.0-beta.11
|
||||
</Link>
|
||||
</Chip>
|
||||
</NavbarItem>
|
||||
|
||||
@@ -41,11 +41,13 @@ export default defineConfig({
|
||||
{
|
||||
name: 'firefox',
|
||||
use: { ...devices['Desktop Firefox'] },
|
||||
testIgnore: '**/first-user-signup.spec.ts',
|
||||
},
|
||||
|
||||
{
|
||||
name: 'webkit',
|
||||
use: { ...devices['Desktop Safari'] },
|
||||
testIgnore: '**/first-user-signup.spec.ts',
|
||||
},
|
||||
|
||||
/* Test against mobile viewports. */
|
||||
|
||||
Reference in New Issue
Block a user