mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-05-06 20:32:55 +08:00
* feat: return address_id in /admin/new_address response - Add address_id field to newAddress function return type - Update CHANGELOG.md and CHANGELOG_EN.md Fixes #912 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * test: verify address_id in new_address response * fix: add address_id validation and improve test coverage - Add null check for address_id after DB query - Change address_id to required field in return type - Add dedicated test for /admin/new_address endpoint - Update e2e helper return type to non-optional --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
import { WORKER_URL, TEST_DOMAIN, createTestAddress, deleteAddress, requestSendAccess } from '../../fixtures/test-helpers';
|
|
|
|
test.describe('Address Lifecycle', () => {
|
|
test('create address, request send access, fetch settings, then delete', async ({ request }) => {
|
|
// Create address
|
|
const { jwt, address, address_id } = await createTestAddress(request, 'lifecycle-test');
|
|
expect(address).toContain('@' + TEST_DOMAIN);
|
|
expect(jwt).toBeTruthy();
|
|
expect(address_id).toBeGreaterThan(0);
|
|
|
|
// Request send access (creates address_sender row with DEFAULT_SEND_BALANCE)
|
|
await requestSendAccess(request, jwt);
|
|
|
|
// Fetch address settings — balance should match DEFAULT_SEND_BALANCE=10
|
|
const settingsRes = await request.get(`${WORKER_URL}/api/settings`, {
|
|
headers: { Authorization: `Bearer ${jwt}` },
|
|
});
|
|
expect(settingsRes.ok()).toBe(true);
|
|
const settings = await settingsRes.json();
|
|
expect(settings.send_balance).toBe(10);
|
|
|
|
// Delete address
|
|
await deleteAddress(request, jwt);
|
|
|
|
// Verify address is gone — settings should fail
|
|
const afterDelete = await request.get(`${WORKER_URL}/api/settings`, {
|
|
headers: { Authorization: `Bearer ${jwt}` },
|
|
});
|
|
expect(afterDelete.ok()).toBe(false);
|
|
});
|
|
});
|