Enhance CSV saving functionality by adding token retrieval from authorization header if not present in cookies. Update tests to validate CSV saving for users with 'vorstand' role.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 56s
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 56s
This commit is contained in:
@@ -37,7 +37,38 @@ vi.mock('child_process', () => ({
|
||||
}))
|
||||
|
||||
vi.mock('util', () => ({
|
||||
promisify: () => () => Promise.resolve({ stdout: 'PDF Inhalt', stderr: '' })
|
||||
promisify: () => () => Promise.resolve({
|
||||
stdout: `§ 1 Name und Sitz
|
||||
Der Verein führt den Namen Harheimer TC.
|
||||
|
||||
§ 2 Zweck
|
||||
Der Verein verfolgt ausschließlich und unmittelbar gemeinnützige Zwecke.
|
||||
|
||||
§ 3 Mitgliedschaft
|
||||
(1) Mitglied kann jede natürliche Person werden.
|
||||
(2) Über die Aufnahme entscheidet der Vorstand.
|
||||
|
||||
§ 4 Beiträge
|
||||
Die Mitglieder zahlen Beiträge nach Maßgabe der Beitragsordnung.
|
||||
|
||||
§ 5 Vorstand
|
||||
Der Vorstand besteht aus dem Vorsitzenden, dem Schriftführer und dem Kassenwart.
|
||||
|
||||
§ 6 Schlussbestimmungen
|
||||
Diese Satzung tritt mit Beschluss der Mitgliederversammlung in Kraft.
|
||||
|
||||
Zusätzlicher Satzungstext zur Plausibilitätsprüfung.
|
||||
Zusätzlicher Satzungstext zur Plausibilitätsprüfung.
|
||||
Zusätzlicher Satzungstext zur Plausibilitätsprüfung.
|
||||
Zusätzlicher Satzungstext zur Plausibilitätsprüfung.
|
||||
Zusätzlicher Satzungstext zur Plausibilitätsprüfung.
|
||||
`,
|
||||
stderr: ''
|
||||
})
|
||||
}))
|
||||
|
||||
vi.mock('../server/utils/upload-validation.js', () => ({
|
||||
assertPdfMagicHeader: vi.fn().mockResolvedValue(undefined)
|
||||
}))
|
||||
|
||||
import saveCsvHandler from '../server/api/cms/save-csv.post.js'
|
||||
@@ -67,11 +98,26 @@ describe('CMS File Endpoints', () => {
|
||||
mockSuccessReadBody({ filename: 'mannschaften.csv', content: 'data' })
|
||||
vi.spyOn(fs, 'mkdir').mockResolvedValue(undefined)
|
||||
vi.spyOn(fs, 'writeFile').mockResolvedValue(undefined)
|
||||
vi.spyOn(fs, 'rename').mockResolvedValue(undefined)
|
||||
vi.spyOn(fs, 'stat').mockResolvedValue({ size: Buffer.byteLength('data', 'utf8') } as any)
|
||||
|
||||
const response = await saveCsvHandler(event)
|
||||
expect(response.success).toBe(true)
|
||||
expect(fs.writeFile).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('erlaubt vorstand beim CSV-Speichern', async () => {
|
||||
const event = createEvent({ cookies: { auth_token: 'token' } })
|
||||
mockSuccessReadBody({ filename: 'spielplan.csv', content: 'kopf;wert' })
|
||||
vi.spyOn(fs, 'mkdir').mockResolvedValue(undefined)
|
||||
vi.spyOn(fs, 'writeFile').mockResolvedValue(undefined)
|
||||
vi.spyOn(fs, 'rename').mockResolvedValue(undefined)
|
||||
vi.spyOn(fs, 'stat').mockResolvedValue({ size: Buffer.byteLength('kopf;wert', 'utf8') } as any)
|
||||
getUserFromToken.mockResolvedValue({ id: 'vorstand', role: 'vorstand' })
|
||||
|
||||
const response = await saveCsvHandler(event)
|
||||
expect(response.success).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
describe('POST /api/cms/upload-spielplan-pdf', () => {
|
||||
|
||||
Reference in New Issue
Block a user