|
|
|
@@ -1,34 +1,34 @@
|
|
|
|
import { render, screen, within } from '@testing-library/svelte';
|
|
|
|
import { render, screen, within } from '@testing-library/svelte';
|
|
|
|
import { describe, expect, it, test } from "vitest";
|
|
|
|
import { describe, expect, it, test } from 'vitest';
|
|
|
|
import TatortListPage from "../src/routes/(token-based)/list/[vorgang]/+page.svelte";
|
|
|
|
import TatortListPage from '../src/routes/(token-based)/list/[vorgang]/+page.svelte';
|
|
|
|
import { baseData } from './fixtures';
|
|
|
|
import { baseData } from './fixtures';
|
|
|
|
|
|
|
|
|
|
|
|
describe('Seite: Vorgangsansicht', () => {
|
|
|
|
describe('Seite: Vorgangsansicht', () => {
|
|
|
|
test.todo('zeigt PIN und Share-Link, wenn Admin');
|
|
|
|
test.todo('zeigt PIN und Share-Link, wenn Admin');
|
|
|
|
test.todo('zeigt PIN und Share-Link disabeld, wenn Liste leer')
|
|
|
|
test.todo('zeigt PIN und Share-Link disabeld, wenn Liste leer');
|
|
|
|
|
|
|
|
|
|
|
|
describe('Szenario: Liste leer (unabhängig von Rolle)', () => {
|
|
|
|
describe('Szenario: Liste leer (unabhängig von Rolle)', () => {
|
|
|
|
it('zeigt Hinweistext bei leerer Liste', () => {
|
|
|
|
it('zeigt Hinweistext bei leerer Liste', () => {
|
|
|
|
const testData = { ...baseData, crimesList: [] };
|
|
|
|
const testData = { ...baseData, crimesList: [] };
|
|
|
|
const { getByTestId } = render(TatortListPage, {props:{data: testData}});
|
|
|
|
const { getByTestId } = render(TatortListPage, { props: { data: testData } });
|
|
|
|
|
|
|
|
|
|
|
|
expect(getByTestId('empty-list')).toBeInTheDocument();
|
|
|
|
expect(getByTestId('empty-list')).toBeInTheDocument();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
it('zeigt keinen Listeneintrag', () => {
|
|
|
|
it('zeigt keinen Listeneintrag', () => {
|
|
|
|
const items = screen.queryAllByTestId('test-list-item');
|
|
|
|
const items = screen.queryAllByTestId('test-list-item');
|
|
|
|
|
|
|
|
|
|
|
|
expect(items).toHaveLength(0);
|
|
|
|
expect(items).toHaveLength(0);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
describe('Szenario: Liste gefüllt (unabhängig von Rolle)', () => {
|
|
|
|
describe('Szenario: Liste gefüllt (unabhängig von Rolle)', () => {
|
|
|
|
it('rendert mindestens ein Listenelement bei vorhandenen crimesList-Daten', () => {
|
|
|
|
it('rendert mindestens ein Listenelement bei vorhandenen crimesList-Daten', () => {
|
|
|
|
const testData = { ...baseData };
|
|
|
|
const testData = { ...baseData };
|
|
|
|
const { queryAllByTestId } = render(TatortListPage, {props:{data: testData}});
|
|
|
|
const { queryAllByTestId } = render(TatortListPage, { props: { data: testData } });
|
|
|
|
const items = queryAllByTestId('test-list-item');
|
|
|
|
const items = queryAllByTestId('test-list-item');
|
|
|
|
|
|
|
|
|
|
|
|
expect(items.length).toBeGreaterThan(0);
|
|
|
|
expect(items.length).toBeGreaterThan(0);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
it('zeigt für jeden Eintrag einen Link', () => {
|
|
|
|
it('zeigt für jeden Eintrag einen Link', () => {
|
|
|
|
@@ -54,36 +54,34 @@ describe('Seite: Vorgangsansicht', () => {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test.todo('testet zuletzt angezeigt, wenn item.lastModified');
|
|
|
|
test.todo('testet zuletzt angezeigt, wenn item.lastModified');
|
|
|
|
test.todo('zeigt Dateigröße, wenn item.size vorhanden ist');
|
|
|
|
test.todo('zeigt Dateigröße, wenn item.size vorhanden ist');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
describe('Szenario: Admin + Liste gefüllt', () => {
|
|
|
|
describe('Szenario: Admin + Liste gefüllt', () => {
|
|
|
|
const testData = { ...baseData, user: { ...baseData.user, admin: true }};
|
|
|
|
const testData = { ...baseData, user: { ...baseData.user, admin: true } };
|
|
|
|
it('zeigt Listeneinträge mit Komponente NameItemEditor', () => {
|
|
|
|
it('zeigt Listeneinträge mit Komponente NameItemEditor', () => {
|
|
|
|
const { getAllByTestId } = render(TatortListPage, {props:{data: testData}});
|
|
|
|
const { getAllByTestId } = render(TatortListPage, { props: { data: testData } });
|
|
|
|
const items = getAllByTestId('test-nameItemEditor');
|
|
|
|
const items = getAllByTestId('test-nameItemEditor');
|
|
|
|
|
|
|
|
|
|
|
|
expect(items.length).toBeGreaterThan(0);
|
|
|
|
expect(items.length).toBeGreaterThan(0);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
test.todo('Modal testen, wenn open')
|
|
|
|
test.todo('Modal testen, wenn open');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
describe('Szenario: Viewer + Liste gefüllt', () => {
|
|
|
|
describe('Szenario: Viewer + Liste gefüllt', () => {
|
|
|
|
const testData = { ...baseData, user: { ...baseData.user, admin: false }};
|
|
|
|
const testData = { ...baseData, user: { ...baseData.user, admin: false } };
|
|
|
|
it('zeigt Listeneinträge mit p', () => {
|
|
|
|
it('zeigt Listeneinträge mit p', () => {
|
|
|
|
render(TatortListPage, { props: { data: testData } });
|
|
|
|
render(TatortListPage, { props: { data: testData } });
|
|
|
|
const paragraphs = screen.queryAllByTestId('test-nameItem-p');
|
|
|
|
const paragraphs = screen.queryAllByTestId('test-nameItem-p');
|
|
|
|
|
|
|
|
|
|
|
|
expect(paragraphs).toHaveLength(testData.crimesList.length);
|
|
|
|
expect(paragraphs).toHaveLength(testData.crimesList.length);
|
|
|
|
paragraphs.forEach((p, i) => {
|
|
|
|
paragraphs.forEach((p, i) => {
|
|
|
|
expect(p).toHaveTextContent(testData.crimesList[i].name);
|
|
|
|
expect(p).toHaveTextContent(testData.crimesList[i].name);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
test.todo('zeigt keinen Share-Link oder PIN')
|
|
|
|
test.todo('zeigt keinen Share-Link oder PIN');
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|