Umlaute statt Umschreibungen
Oberflaeche, Fehlermeldungen und Kommentare schrieben durchgehend ae, oe, ue und ss. Dafuer gab es keinen Grund - die Anwendung ist deutschsprachig und laeuft durchgehend in UTF-8. Betroffen waren 55 Dateien, darunter alle sichtbaren Texte: Guthaben-Zaehler, Import, Nutzerverwaltung, Passwortwechsel und die Zwei-Faktor-Einrichtung. Der Name einer Migration bleibt im README-Beispiel bewusst bei ASCII, weil daraus ein Verzeichnisname wird.
This commit is contained in:
@@ -18,7 +18,7 @@ let audit: Audit;
|
||||
let db: Db;
|
||||
let ctx: { actorId: number; actorName: string };
|
||||
|
||||
// Ein Export, wie ihn ein Shop liefern koennte: mehr Spalten als die App braucht.
|
||||
// Ein Export, wie ihn ein Shop liefern könnte: mehr Spalten als die App braucht.
|
||||
const CSV = [
|
||||
'Bestellnummer;Steam-ID;Produkt;Email;Rechnungsadresse;Zahlungsart',
|
||||
'P-1;76561198000000501;CC-Paket;spieler@example.com;Musterweg 1, 12345 Musterstadt;PayPal',
|
||||
@@ -45,7 +45,7 @@ before(async () => {
|
||||
audit = await import('../src/services/audit.js');
|
||||
|
||||
const user = await db.prisma.user.create({
|
||||
data: { username: 'datenschuetzer', passwordHash: 'x', role: 'ADMIN' },
|
||||
data: { username: 'datenschützer', passwordHash: 'x', role: 'ADMIN' },
|
||||
});
|
||||
ctx = { actorId: user.id, actorName: user.username };
|
||||
|
||||
@@ -80,7 +80,7 @@ describe('Datenminimierung beim Import', () => {
|
||||
assert.equal(rawAfter['Steam-ID'], '76561198000000501', 'die zugeordnete Spalte bleibt');
|
||||
});
|
||||
|
||||
it('raeumt auch einen verworfenen Import auf', async () => {
|
||||
it('räumt auch einen verworfenen Import auf', async () => {
|
||||
const parsed = imports.parseUpload('shop2.csv', Buffer.from(CSV, 'utf8'));
|
||||
const importId = await imports.createImport('shop2.csv', parsed, ctx);
|
||||
await imports.applyMapping(importId, MAPPING, ctx);
|
||||
@@ -116,7 +116,7 @@ describe('Fehlgeschlagene Anmeldung', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('Loeschung eines Spielers', () => {
|
||||
describe('Löschung eines Spielers', () => {
|
||||
it('entfernt auch Spuren in Import-Zeilen und Audit-Details', async () => {
|
||||
// Eigene Bestellnummer, sonst greift zu Recht die Dedup-Logik.
|
||||
const csv = [
|
||||
@@ -152,7 +152,7 @@ describe('Loeschung eines Spielers', () => {
|
||||
const auditEntries = await db.prisma.auditLog.findMany({
|
||||
where: { targetType: 'player', targetId: String(player.id) },
|
||||
});
|
||||
assert.ok(auditEntries.length > 0, 'die Vorgaenge selbst bleiben nachvollziehbar');
|
||||
assert.ok(auditEntries.length > 0, 'die Vorgänge selbst bleiben nachvollziehbar');
|
||||
for (const entry of auditEntries) {
|
||||
const details = JSON.stringify(entry.details ?? {});
|
||||
assert.ok(
|
||||
@@ -164,7 +164,7 @@ describe('Loeschung eines Spielers', () => {
|
||||
});
|
||||
|
||||
describe('Aufbewahrung des Audit-Logs', () => {
|
||||
it('loescht Eintraege jenseits der Frist, neuere bleiben', async () => {
|
||||
it('löscht Einträge jenseits der Frist, neuere bleiben', async () => {
|
||||
const alt = new Date(Date.now() - 400 * 24 * 3600 * 1000);
|
||||
|
||||
const veraltet = await db.prisma.auditLog.create({
|
||||
|
||||
Reference in New Issue
Block a user