74 lines
1.7 KiB
TypeScript
74 lines
1.7 KiB
TypeScript
import { describe, test, expect, vi } from 'vitest';
|
|
import { GET } from '../src/routes/api/list/[vorgang]/+server';
|
|
|
|
vi.mock('$lib/server/vorgangService', () => ({
|
|
getCrimesListByToken: vi.fn()
|
|
}));
|
|
|
|
import { getCrimesListByToken } from '$lib/server/vorgangService';
|
|
|
|
const MockEvent = {
|
|
params: { vorgang: '123' },
|
|
locals: {
|
|
user: { id: 'admin', admin: true }
|
|
}
|
|
};
|
|
|
|
describe('API-Endpoints: list/[vorgang]', () => {
|
|
test('Unerlaubter Zugriff', async () => {
|
|
const event = {
|
|
locals: {
|
|
user: null
|
|
}
|
|
};
|
|
|
|
const response = await GET(event);
|
|
expect(response.status).toBe(401);
|
|
|
|
const json = await response.json();
|
|
const errorObj = { error: 'Unauthorized' };
|
|
expect(json).toEqual(errorObj);
|
|
});
|
|
|
|
test('Vorgang ohne Tatorte', async () => {
|
|
const testTatorte = [];
|
|
|
|
vi.mocked(getCrimesListByToken).mockReturnValueOnce(testTatorte);
|
|
|
|
const response = await GET(MockEvent);
|
|
expect(response.status).toBe(200);
|
|
|
|
const json = await response.json();
|
|
expect(json).toEqual(testTatorte);
|
|
});
|
|
|
|
test('Vorgang mit Tatorte', async () => {
|
|
const testTatorte = [
|
|
{
|
|
name: 'model-A',
|
|
lastModified: '2025-08-28T09:44:12.453Z',
|
|
etag: '558f35716f6af953f9bb5d75f6d77e6a',
|
|
size: 8947140,
|
|
prefix: '7596e4d5-c51f-482d-a4aa-ff76434305fc',
|
|
show_button: true
|
|
},
|
|
{
|
|
name: 'model-z',
|
|
lastModified: '2025-08-28T10:37:20.142Z',
|
|
etag: '43e3989c32c4682bee407baaf83b6fa0',
|
|
size: 35788560,
|
|
prefix: '7596e4d5-c51f-482d-a4aa-ff76434305fc',
|
|
show_button: true
|
|
}
|
|
];
|
|
|
|
vi.mocked(getCrimesListByToken).mockReturnValueOnce(testTatorte);
|
|
|
|
const response = await GET(MockEvent);
|
|
expect(response.status).toBe(200);
|
|
|
|
const json = await response.json();
|
|
expect(json).toEqual(testTatorte);
|
|
});
|
|
});
|