mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-05-11 18:10:01 +08:00
60 lines
2.2 KiB
TypeScript
60 lines
2.2 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
import { WORKER_URL, createTestAddress, deleteAddress } from '../../fixtures/test-helpers';
|
|
|
|
test.describe('Address Password Login', () => {
|
|
test('set password then login with it', async ({ request }) => {
|
|
const { jwt, address } = await createTestAddress(request, 'pwd-login');
|
|
|
|
try {
|
|
// Set a password on the address
|
|
const changePwdRes = await request.post(`${WORKER_URL}/api/address_change_password`, {
|
|
headers: { Authorization: `Bearer ${jwt}` },
|
|
data: { new_password: 'test-password-123' },
|
|
});
|
|
expect(changePwdRes.ok()).toBe(true);
|
|
const changePwdBody = await changePwdRes.json();
|
|
expect(changePwdBody.success).toBe(true);
|
|
|
|
// Login with the correct password
|
|
const loginRes = await request.post(`${WORKER_URL}/api/address_login`, {
|
|
data: { email: address, password: 'test-password-123' },
|
|
});
|
|
expect(loginRes.ok()).toBe(true);
|
|
const loginBody = await loginRes.json();
|
|
expect(loginBody.jwt).toBeTruthy();
|
|
expect(loginBody.address).toBe(address);
|
|
|
|
// The new JWT should work — verify by fetching settings
|
|
const settingsRes = await request.get(`${WORKER_URL}/api/settings`, {
|
|
headers: { Authorization: `Bearer ${loginBody.jwt}` },
|
|
});
|
|
expect(settingsRes.ok()).toBe(true);
|
|
} finally {
|
|
await deleteAddress(request, jwt);
|
|
}
|
|
});
|
|
|
|
test('login with wrong password returns 401', async ({ request }) => {
|
|
const { jwt, address } = await createTestAddress(request, 'pwd-wrong');
|
|
|
|
try {
|
|
// Set a password
|
|
const changePwdRes = await request.post(`${WORKER_URL}/api/address_change_password`, {
|
|
headers: { Authorization: `Bearer ${jwt}` },
|
|
data: { new_password: 'correct-password' },
|
|
});
|
|
expect(changePwdRes.ok()).toBe(true);
|
|
const changePwdBody = await changePwdRes.json();
|
|
expect(changePwdBody.success).toBe(true);
|
|
|
|
// Login with wrong password
|
|
const loginRes = await request.post(`${WORKER_URL}/api/address_login`, {
|
|
data: { email: address, password: 'wrong-password' },
|
|
});
|
|
expect(loginRes.status()).toBe(401);
|
|
} finally {
|
|
await deleteAddress(request, jwt);
|
|
}
|
|
});
|
|
});
|