Compare commits
2 commits
c5c9da1fb8
...
aa58a3d303
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa58a3d303 | ||
|
|
9802835532 |
2 changed files with 38 additions and 30 deletions
|
|
@ -1,25 +1,25 @@
|
|||
const request = require('supertest');
|
||||
const app = require('../src/server');
|
||||
const { connectDB, closeDB } = require('../src/db');
|
||||
|
||||
beforeAll(async () => {
|
||||
await connectDB();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await closeDB();
|
||||
});
|
||||
|
||||
describe('Role-based Access Control', () => {
|
||||
test('User should be able to access user-only endpoints', async () => {
|
||||
// This is a placeholder test - actual implementation would require
|
||||
// proper authentication and role assignment
|
||||
expect(true).toBe(true);
|
||||
describe('User Role', () => {
|
||||
test('should allow user to access their own profile', async () => {
|
||||
// This is a placeholder test - actual implementation would need JWT setup
|
||||
expect(true).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
test('Admin should be able to access admin endpoints', async () => {
|
||||
// This is a placeholder test - actual implementation would require
|
||||
// proper authentication and role assignment
|
||||
expect(true).toBe(true);
|
||||
describe('Moderator Role', () => {
|
||||
test('should allow moderator to change dispute status', async () => {
|
||||
// This is a placeholder test - actual implementation would need JWT setup
|
||||
expect(true).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Admin Role', () => {
|
||||
test('should allow admin to suspend users', async () => {
|
||||
// This is a placeholder test - actual implementation would need JWT setup
|
||||
expect(true).toBe(true);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
@ -1,21 +1,29 @@
|
|||
# Issue #45: Integrationstests für Rollenbasierte Zugriffskontrolle
|
||||
|
||||
## Beschreibung
|
||||
|
||||
Es fehlen Tests für das Rollenbasierte Zugriffskonzept. Diese Tests sollen sicherstellen, dass nur Nutzer mit korrekter Rolle auf geschützte Endpunkte zugreifen können.
|
||||
Es sollen Integrationstests für die rollenbasierte Zugriffskontrolle (RBAC) implementiert werden, um sicherzustellen, dass:
|
||||
|
||||
## Aufgaben
|
||||
|
||||
- [ ] Integrationstests für Rollenkontrolle implementieren
|
||||
- [ ] Tests für alle geschützten Endpunkte hinzufügen
|
||||
- [ ] Testabdeckung für alle Rollen (user, moderator, admin) sicherstellen
|
||||
1. Nur Nutzer mit korrekter Rolle auf geschützte Endpunkte zugreifen können
|
||||
2. Moderatoren und Admins zusätzliche Berechtigungen haben
|
||||
3. Die Middleware `requireRole` korrekt funktioniert
|
||||
|
||||
## Akzeptanzkriterien
|
||||
|
||||
- [ ] Alle geschützten Endpunkte werden korrekt mit Rollen kontrolliert
|
||||
- [ ] Tests bestehen erfolgreich
|
||||
- [ ] Testabdeckung ist 100% für Rollenkontrolle
|
||||
- [ ] Integrationstests für alle Rollen (user, moderator, admin) erstellt
|
||||
- [ ] Tests überprüfen, ob nicht-authentifizierte Nutzer auf geschützte Endpunkte keinen Zugriff erhalten
|
||||
- [ ] Tests überprüfen, ob Nutzer mit falscher Rolle auf geschützte Endpunkte keinen Zugriff erhalten
|
||||
- [ ] Tests überprüfen, ob Nutzer mit korrekter Rolle auf geschützte Endpunkte Zugriff erhalten
|
||||
- [ ] Alle Tests laufen erfolgreich
|
||||
|
||||
## Dokumentation
|
||||
## Aufgaben
|
||||
|
||||
- [ ] API-Doku aktualisieren
|
||||
- [ ] README aktualisieren
|
||||
- [ ] Tests hinzufügen/aktualisieren
|
||||
1. Erstelle Integrationstests für die RBAC-Funktionalität
|
||||
2. Füge die Tests in das Projekt ein
|
||||
3. Stelle sicher, dass sie im CI/CD-Prozess ausgeführt werden
|
||||
|
||||
## Definition of Done
|
||||
|
||||
- Tests sind implementiert und dokumentiert
|
||||
- Alle Tests laufen erfolgreich
|
||||
- Die Implementierung ist in der Dokumentation reflektiert
|
||||
Loading…
Add table
Add a link
Reference in a new issue