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",
|
"postcss": "^8.4.0",
|
||||||
"supertest": "^7.1.0",
|
"supertest": "^7.1.0",
|
||||||
"tailwindcss": "^3.4.0",
|
"tailwindcss": "^3.4.0",
|
||||||
"vitest": "^2.1.4",
|
"vitest": "^4.0.16",
|
||||||
"vue-eslint-parser": "^10.2.0"
|
"vue-eslint-parser": "^10.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,33 @@ vi.mock('../server/utils/auth.js', () => {
|
|||||||
deleteSession: vi.fn(),
|
deleteSession: vi.fn(),
|
||||||
getUserFromToken: vi.fn(),
|
getUserFromToken: vi.fn(),
|
||||||
readSessions: 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'
|
import fs from 'fs/promises'
|
||||||
|
|
||||||
vi.mock('../server/utils/auth.js', () => ({
|
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', () => {
|
vi.mock('multer', () => {
|
||||||
|
|||||||
@@ -4,7 +4,12 @@ import { createEvent, mockSuccessReadBody } from './setup'
|
|||||||
vi.mock('../server/utils/auth.js', () => ({
|
vi.mock('../server/utils/auth.js', () => ({
|
||||||
getUserFromToken: vi.fn(),
|
getUserFromToken: vi.fn(),
|
||||||
readUsers: 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', () => {
|
vi.mock('nodemailer', () => {
|
||||||
|
|||||||
@@ -7,7 +7,12 @@ vi.mock('../server/utils/auth.js', () => ({
|
|||||||
getUserFromToken: vi.fn(),
|
getUserFromToken: vi.fn(),
|
||||||
verifyToken: vi.fn(),
|
verifyToken: vi.fn(),
|
||||||
readUsers: 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', () => ({
|
vi.mock('sharp', () => ({
|
||||||
|
|||||||
@@ -8,7 +8,23 @@ vi.mock('../server/utils/auth.js', () => ({
|
|||||||
readMembers: vi.fn(),
|
readMembers: vi.fn(),
|
||||||
writeUsers: vi.fn(),
|
writeUsers: vi.fn(),
|
||||||
readSessions: 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', () => ({
|
vi.mock('../server/utils/members.js', () => ({
|
||||||
|
|||||||
@@ -27,6 +27,9 @@ import spielplaeneHandler from '../server/api/spielplaene.get.js'
|
|||||||
|
|
||||||
describe('Öffentliche API-Endpunkte', () => {
|
describe('Öffentliche API-Endpunkte', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
|
// Setze SMTP-Credentials für Tests
|
||||||
|
process.env.SMTP_USER = 'test@example.com'
|
||||||
|
process.env.SMTP_PASS = 'test-password'
|
||||||
vi.restoreAllMocks()
|
vi.restoreAllMocks()
|
||||||
vi.clearAllMocks()
|
vi.clearAllMocks()
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -64,6 +64,10 @@ global.createError = ({ statusCode = 500, statusMessage, message }: any) => {
|
|||||||
|
|
||||||
global.useRuntimeConfig = () => ({
|
global.useRuntimeConfig = () => ({
|
||||||
encryptionKey: 'test-encryption-key',
|
encryptionKey: 'test-encryption-key',
|
||||||
|
smtpHost: 'localhost',
|
||||||
|
smtpPort: 1025,
|
||||||
|
smtpUser: 'test',
|
||||||
|
smtpPass: 'pass',
|
||||||
smtp: {
|
smtp: {
|
||||||
host: 'localhost',
|
host: 'localhost',
|
||||||
port: 1025,
|
port: 1025,
|
||||||
|
|||||||
Reference in New Issue
Block a user