Update package dependencies to vitest v4.0.16 and enhance role management in auth utilities with new role-checking functions in tests
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 57s
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 57s
This commit is contained in:
892
package-lock.json
generated
892
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -41,7 +41,7 @@
|
||||
"postcss": "^8.4.0",
|
||||
"supertest": "^7.1.0",
|
||||
"tailwindcss": "^3.4.0",
|
||||
"vitest": "^2.1.4",
|
||||
"vitest": "^4.0.16",
|
||||
"vue-eslint-parser": "^10.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,33 @@ vi.mock('../server/utils/auth.js', () => {
|
||||
deleteSession: vi.fn(),
|
||||
getUserFromToken: vi.fn(),
|
||||
readSessions: vi.fn(),
|
||||
writeSessions: vi.fn()
|
||||
writeSessions: vi.fn(),
|
||||
migrateUserRoles: vi.fn((user) => {
|
||||
if (!user) return user
|
||||
if (Array.isArray(user.roles)) return user
|
||||
if (user.role) {
|
||||
user.roles = [user.role]
|
||||
delete user.role
|
||||
} else {
|
||||
user.roles = ['mitglied']
|
||||
}
|
||||
return user
|
||||
}),
|
||||
hasRole: vi.fn((user, role) => {
|
||||
if (!user) return false
|
||||
const roles = Array.isArray(user.roles) ? user.roles : (user.role ? [user.role] : [])
|
||||
return roles.includes(role)
|
||||
}),
|
||||
hasAnyRole: vi.fn((user, ...roles) => {
|
||||
if (!user) return false
|
||||
const userRoles = Array.isArray(user.roles) ? user.roles : (user.role ? [user.role] : [])
|
||||
return roles.some(r => userRoles.includes(r))
|
||||
}),
|
||||
hasAllRoles: vi.fn((user, ...roles) => {
|
||||
if (!user) return false
|
||||
const userRoles = Array.isArray(user.roles) ? user.roles : (user.role ? [user.role] : [])
|
||||
return roles.every(r => userRoles.includes(r))
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -3,7 +3,12 @@ import { createEvent, mockSuccessReadBody } from './setup'
|
||||
import fs from 'fs/promises'
|
||||
|
||||
vi.mock('../server/utils/auth.js', () => ({
|
||||
getUserFromToken: vi.fn()
|
||||
getUserFromToken: vi.fn(),
|
||||
hasAnyRole: vi.fn((user, ...roles) => {
|
||||
if (!user) return false
|
||||
const userRoles = Array.isArray(user.roles) ? user.roles : (user.role ? [user.role] : [])
|
||||
return roles.some(r => userRoles.includes(r))
|
||||
})
|
||||
}))
|
||||
|
||||
vi.mock('multer', () => {
|
||||
|
||||
@@ -4,7 +4,12 @@ import { createEvent, mockSuccessReadBody } from './setup'
|
||||
vi.mock('../server/utils/auth.js', () => ({
|
||||
getUserFromToken: vi.fn(),
|
||||
readUsers: vi.fn(),
|
||||
writeUsers: vi.fn()
|
||||
writeUsers: vi.fn(),
|
||||
hasAnyRole: vi.fn((user, ...roles) => {
|
||||
if (!user) return false
|
||||
const userRoles = Array.isArray(user.roles) ? user.roles : (user.role ? [user.role] : [])
|
||||
return roles.some(r => userRoles.includes(r))
|
||||
})
|
||||
}))
|
||||
|
||||
vi.mock('nodemailer', () => {
|
||||
|
||||
@@ -7,7 +7,12 @@ vi.mock('../server/utils/auth.js', () => ({
|
||||
getUserFromToken: vi.fn(),
|
||||
verifyToken: vi.fn(),
|
||||
readUsers: vi.fn(),
|
||||
writeUsers: vi.fn()
|
||||
writeUsers: vi.fn(),
|
||||
hasAnyRole: vi.fn((user, ...roles) => {
|
||||
if (!user) return false
|
||||
const userRoles = Array.isArray(user.roles) ? user.roles : (user.role ? [user.role] : [])
|
||||
return roles.some(r => userRoles.includes(r))
|
||||
})
|
||||
}))
|
||||
|
||||
vi.mock('sharp', () => ({
|
||||
|
||||
@@ -8,7 +8,23 @@ vi.mock('../server/utils/auth.js', () => ({
|
||||
readMembers: vi.fn(),
|
||||
writeUsers: vi.fn(),
|
||||
readSessions: vi.fn(),
|
||||
writeSessions: vi.fn()
|
||||
writeSessions: vi.fn(),
|
||||
migrateUserRoles: vi.fn((user) => {
|
||||
if (!user) return user
|
||||
if (Array.isArray(user.roles)) return user
|
||||
if (user.role) {
|
||||
user.roles = [user.role]
|
||||
delete user.role
|
||||
} else {
|
||||
user.roles = ['mitglied']
|
||||
}
|
||||
return user
|
||||
}),
|
||||
hasAnyRole: vi.fn((user, ...roles) => {
|
||||
if (!user) return false
|
||||
const userRoles = Array.isArray(user.roles) ? user.roles : (user.role ? [user.role] : [])
|
||||
return roles.some(r => userRoles.includes(r))
|
||||
})
|
||||
}))
|
||||
|
||||
vi.mock('../server/utils/members.js', () => ({
|
||||
|
||||
@@ -27,6 +27,9 @@ import spielplaeneHandler from '../server/api/spielplaene.get.js'
|
||||
|
||||
describe('Öffentliche API-Endpunkte', () => {
|
||||
beforeEach(() => {
|
||||
// Setze SMTP-Credentials für Tests
|
||||
process.env.SMTP_USER = 'test@example.com'
|
||||
process.env.SMTP_PASS = 'test-password'
|
||||
vi.restoreAllMocks()
|
||||
vi.clearAllMocks()
|
||||
})
|
||||
|
||||
@@ -64,6 +64,10 @@ global.createError = ({ statusCode = 500, statusMessage, message }: any) => {
|
||||
|
||||
global.useRuntimeConfig = () => ({
|
||||
encryptionKey: 'test-encryption-key',
|
||||
smtpHost: 'localhost',
|
||||
smtpPort: 1025,
|
||||
smtpUser: 'test',
|
||||
smtpPass: 'pass',
|
||||
smtp: {
|
||||
host: 'localhost',
|
||||
port: 1025,
|
||||
|
||||
Reference in New Issue
Block a user