diff --git a/playwright/package-lock.json b/playwright/package-lock.json index 2a278ee9..5356b7a9 100644 --- a/playwright/package-lock.json +++ b/playwright/package-lock.json @@ -17,7 +17,7 @@ "@playwright/test": "^1.52.0", "dotenv": "^16.5.0", "dotenv-expand": "^12.0.2", - "maildev": "github:timshel/maildev#3.0.5" + "maildev": "npm:@timshel_npm/maildev@^3.1.2" } }, "node_modules/@asamuzakjp/css-color": { @@ -1333,10 +1333,11 @@ } }, "node_modules/maildev": { - "version": "3.0.4", - "resolved": "git+ssh://git@github.com/timshel/maildev.git#ac9aa31d50b1849a73248eaa679a5702e9d10f21", + "name": "@timshel_npm/maildev", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@timshel_npm/maildev/-/maildev-3.1.2.tgz", + "integrity": "sha512-AQ6vu7g7K+x/6zFrvKGR9CfJjKNhJI8dhY1wfQr/6tbidADixN7NlY1HK0A6RGE+IW8VghWR5amWWGAabBIELw==", "dev": true, - "license": "MIT", "dependencies": { "@types/mailparser": "^3.4.4", "addressparser": "1.0.1", diff --git a/playwright/package.json b/playwright/package.json index 4dea6b86..b423f660 100644 --- a/playwright/package.json +++ b/playwright/package.json @@ -11,7 +11,7 @@ "@playwright/test": "^1.52.0", "dotenv": "^16.5.0", "dotenv-expand": "^12.0.2", - "maildev": "github:timshel/maildev#3.0.5" + "maildev": "npm:@timshel_npm/maildev@^3.1.2" }, "dependencies": { "mysql2": "^3.14.1", diff --git a/playwright/tests/login.smtp.spec.ts b/playwright/tests/login.smtp.spec.ts index e7f56afe..2f782c14 100644 --- a/playwright/tests/login.smtp.spec.ts +++ b/playwright/tests/login.smtp.spec.ts @@ -50,7 +50,7 @@ test('Login', async ({ context, page }) => { await utils.checkNotification(page, 'Check your email inbox for a verification link'); - const verify = await mailBuffer.next((m) => m.subject === "Verify Your Email"); + const verify = await mailBuffer.expect((m) => m.subject === "Verify Your Email"); expect(verify.from[0]?.address).toBe(process.env.PW_SMTP_FROM); const page2 = await context.newPage(); diff --git a/playwright/tests/organization.smtp.spec.ts b/playwright/tests/organization.smtp.spec.ts index 070cdb89..1104aebe 100644 --- a/playwright/tests/organization.smtp.spec.ts +++ b/playwright/tests/organization.smtp.spec.ts @@ -48,7 +48,7 @@ test('Invite users', async ({ page }) => { }); test('invited with new account', async ({ page }) => { - const invited = await mail2Buffer.next((mail) => mail.subject === 'Join Test'); + const invited = await mail2Buffer.expect((mail) => mail.subject === 'Join Test'); await test.step('Create account', async () => { await page.setContent(invited.html); @@ -69,14 +69,14 @@ test('invited with new account', async ({ page }) => { }); await test.step('Check mails', async () => { - await expect(mail2Buffer.next((m) => m.subject === 'Welcome')).resolves.toBeDefined(); - await expect(mail2Buffer.next((m) => m.subject === 'New Device Logged In From Firefox')).resolves.toBeDefined(); - await expect(mail1Buffer.next((m) => m.subject.includes('Invitation to Test accepted'))).resolves.toBeDefined(); + await mail2Buffer.expect((m) => m.subject === 'Welcome'); + await mail2Buffer.expect((m) => m.subject === 'New Device Logged In From Firefox'); + await mail1Buffer.expect((m) => m.subject.includes('Invitation to Test accepted')); }); }); test('invited with existing account', async ({ page }) => { - const invited = await mail3Buffer.next((mail) => mail.subject === 'Join Test'); + const invited = await mail3Buffer.expect((mail) => mail.subject === 'Join Test'); await page.setContent(invited.html); const link = await page.getByTestId('invite').getAttribute('href'); @@ -95,8 +95,8 @@ test('invited with existing account', async ({ page }) => { await expect(page).toHaveTitle(/Vaultwarden Web/); await utils.checkNotification(page, 'Invitation accepted'); - await expect(mail3Buffer.next((m) => m.subject === 'New Device Logged In From Firefox')).resolves.toBeDefined(); - await expect(mail1Buffer.next((m) => m.subject.includes('Invitation to Test accepted'))).resolves.toBeDefined(); + await mail3Buffer.expect((m) => m.subject === 'New Device Logged In From Firefox'); + await mail1Buffer.expect((m) => m.subject.includes('Invitation to Test accepted')); }); test('Confirm invited user', async ({ page }) => { @@ -105,7 +105,7 @@ test('Confirm invited user', async ({ page }) => { await orgs.members(test, page, 'Test'); await orgs.confirm(test, page, 'Test', users.user2.email); - await expect(mail2Buffer.next((m) => m.subject.includes('Invitation to Test confirmed'))).resolves.toBeDefined(); + await mail2Buffer.expect((m) => m.subject.includes('Invitation to Test confirmed')); }); test('Organization is visible', async ({ page }) => { diff --git a/playwright/tests/setups/2fa.ts b/playwright/tests/setups/2fa.ts index e8702636..1406083e 100644 --- a/playwright/tests/setups/2fa.ts +++ b/playwright/tests/setups/2fa.ts @@ -65,7 +65,7 @@ export async function activateEmail(test: Test, page: Page, user: { name: string export async function retrieveEmailCode(test: Test, page: Page, mailBuffer: MailBuffer): string { return await test.step('retrieve code', async () => { - const codeMail = await mailBuffer.next((mail) => mail.subject.includes("Login Verification Code")); + const codeMail = await mailBuffer.expect((mail) => mail.subject.includes("Login Verification Code")); const page2 = await page.context().newPage(); await page2.setContent(codeMail.html); const code = await page2.getByTestId("2fa").innerText(); diff --git a/playwright/tests/setups/sso.ts b/playwright/tests/setups/sso.ts index 6cb5c917..773a0de0 100644 --- a/playwright/tests/setups/sso.ts +++ b/playwright/tests/setups/sso.ts @@ -53,8 +53,8 @@ export async function logNewUser( if( options.mailBuffer ){ let mailBuffer = options.mailBuffer; await test.step('Check emails', async () => { - await expect(mailBuffer.next((m) => m.subject === "Welcome")).resolves.toBeDefined(); - await expect(mailBuffer.next((m) => m.subject.includes("New Device Logged"))).resolves.toBeDefined(); + await mailBuffer.expect((m) => m.subject === "Welcome"); + await mailBuffer.expect((m) => m.subject.includes("New Device Logged")); }); } }); @@ -131,7 +131,7 @@ export async function logUser( if( mailBuffer ){ await test.step('Check email', async () => { - await expect(mailBuffer.next((m) => m.subject.includes("New Device Logged"))).resolves.toBeDefined(); + await mailBuffer.expect((m) => m.subject.includes("New Device Logged")); }); } }); diff --git a/playwright/tests/setups/user.ts b/playwright/tests/setups/user.ts index c894d986..0b8690cd 100644 --- a/playwright/tests/setups/user.ts +++ b/playwright/tests/setups/user.ts @@ -28,8 +28,8 @@ export async function createAccount(test, page: Page, user: { email: string, nam await utils.checkNotification(page, 'You have been logged in!'); if( mailBuffer ){ - await expect(mailBuffer.next((m) => m.subject === "Welcome")).resolves.toBeDefined(); - await expect(mailBuffer.next((m) => m.subject === "New Device Logged In From Firefox")).resolves.toBeDefined(); + await mailBuffer.expect((m) => m.subject === "Welcome"); + await mailBuffer.expect((m) => m.subject === "New Device Logged In From Firefox"); } }); } @@ -49,7 +49,7 @@ export async function logUser(test, page: Page, user: { email: string, password: await expect(page).toHaveTitle(/Vaultwarden Web/); if( mailBuffer ){ - await expect(mailBuffer.next((m) => m.subject === "New Device Logged In From Firefox")).resolves.toBeDefined(); + await mailBuffer.expect((m) => m.subject === "New Device Logged In From Firefox"); } }); } diff --git a/playwright/tests/sso_organization.smtp.spec.ts b/playwright/tests/sso_organization.smtp.spec.ts index cbe13da3..ff50dbc9 100644 --- a/playwright/tests/sso_organization.smtp.spec.ts +++ b/playwright/tests/sso_organization.smtp.spec.ts @@ -49,7 +49,7 @@ test('Invite users', async ({ page }) => { test('invited with new account', async ({ page }) => { const link = await test.step('Extract email link', async () => { - const invited = await mail2Buffer.next((m) => m.subject === "Join /Test"); + const invited = await mail2Buffer.expect((m) => m.subject === "Join /Test"); await page.setContent(invited.html); return await page.getByTestId("invite").getAttribute("href"); }); @@ -80,14 +80,14 @@ test('invited with new account', async ({ page }) => { }); await test.step('Check mails', async () => { - await expect(mail2Buffer.next((m) => m.subject.includes("New Device Logged"))).resolves.toBeDefined(); - await expect(mail1Buffer.next((m) => m.subject === "Invitation to /Test accepted")).resolves.toBeDefined(); + await mail2Buffer.expect((m) => m.subject.includes("New Device Logged")); + await mail1Buffer.expect((m) => m.subject === "Invitation to /Test accepted"); }); }); test('invited with existing account', async ({ page }) => { const link = await test.step('Extract email link', async () => { - const invited = await mail3Buffer.next((m) => m.subject === "Join /Test"); + const invited = await mail3Buffer.expect((m) => m.subject === "Join /Test"); await page.setContent(invited.html); return await page.getByTestId("invite").getAttribute("href"); }); @@ -115,7 +115,7 @@ test('invited with existing account', async ({ page }) => { }); await test.step('Check mails', async () => { - await expect(mail3Buffer.next((m) => m.subject.includes("New Device Logged"))).resolves.toBeDefined(); - await expect(mail1Buffer.next((m) => m.subject === "Invitation to /Test accepted")).resolves.toBeDefined(); + await mail3Buffer.expect((m) => m.subject.includes("New Device Logged")); + await mail1Buffer.expect((m) => m.subject === "Invitation to /Test accepted"); }); });