56 lines
No EOL
1.6 KiB
JavaScript
56 lines
No EOL
1.6 KiB
JavaScript
// Test für Auth-API Endpunkte
|
|
import { test, expect } from '@playwright/test';
|
|
|
|
test.describe('Auth API Tests', () => {
|
|
test('should register a new user', async ({ request }) => {
|
|
const response = await request.post('/auth/register', {
|
|
data: {
|
|
email: 'test@example.com',
|
|
password: 'password123',
|
|
name: 'Test User'
|
|
}
|
|
});
|
|
|
|
expect(response.status()).toBe(201);
|
|
const responseBody = await response.json();
|
|
expect(responseBody).toHaveProperty('userId');
|
|
expect(responseBody).toHaveProperty('email', 'test@example.com');
|
|
});
|
|
|
|
test('should login with valid credentials', async ({ request }) => {
|
|
const response = await request.post('/auth/login', {
|
|
data: {
|
|
email: 'test@example.com',
|
|
password: 'password123'
|
|
}
|
|
});
|
|
|
|
expect(response.status()).toBe(200);
|
|
const responseBody = await response.json();
|
|
expect(responseBody).toHaveProperty('token');
|
|
expect(responseBody).toHaveProperty('userId');
|
|
});
|
|
|
|
test('should not login with invalid credentials', async ({ request }) => {
|
|
const response = await request.post('/auth/login', {
|
|
data: {
|
|
email: 'test@example.com',
|
|
password: 'wrongpassword'
|
|
}
|
|
});
|
|
|
|
expect(response.status()).toBe(401);
|
|
});
|
|
|
|
test('should not register with existing email', async ({ request }) => {
|
|
const response = await request.post('/auth/register', {
|
|
data: {
|
|
email: 'test@example.com',
|
|
password: 'password123',
|
|
name: 'Test User'
|
|
}
|
|
});
|
|
|
|
expect(response.status()).toBe(409);
|
|
});
|
|
}); |