CallwiseDocs

Tests

Unit-Tests, Tests der Datenbanksicherheit und der Ende-zu-Ende-Smoke-Test.

BefehlWas er abdecktBraucht
pnpm testUnit-Tests: Preisregeln, der Shop (Warenkorb, Einwilligung, Bestellungen), Zugriffsstufen, der Demo-Generator, die Engine für SkripttestsNichts
pnpm test:rlsEin Test je Sicherheitsinvariante, einschließlich Schreibvorgängen, die fehlschlagen müssenLokales Supabase läuft und ist zurückgesetzt
pnpm test:e2ePlaywright-Smoke-Test der Demo, mit blockiertem Netz zu DrittenPlaywright und Chrome

Unit-Tests

pnpm test

Unter anderem prüfen diese, dass jeder Tarif, jedes Paket und jedes Add-on bei oder unter $290 im Monat liegt und dass Durchschnitte wie die Bearbeitungszeit nie über Tage summiert werden.

Die Tests des Shops (pnpm --filter @callwise/store test) prüfen, dass eine Bestellung ohne Einwilligung abgelehnt wird, dass die Einwilligung mit Zeitstempel, Versionsstand der Bedingungen und dem genauen Text gespeichert wird, dass Beginn, Ende und Verlängerungsdatum der Laufzeit stimmen, dass die Summe einer Bestellung dem Jahresangebot entspricht, dass unvereinbare Add-ons abgelehnt werden und dass kein Erstattungspfad existiert. Für die kostenlose Woche prüfen sie, dass eine erste Bestellung heute $0 abbucht und die Daten der Testphase sowie der ersten Abbuchung speichert, dass eine zweite Bestellung für dieselbe E-Mail keine Testphase erhält und heute abgebucht wird, dass der Job an Tag 7 genau einmal abbucht (zweimal ausgeführt, eine Abbuchung), nie vor Tag 7 und nie eine gekündigte Testphase, dass eine Kündigung während der Testphase nichts abbucht und eine Kündigung nach der ersten Abbuchung abgelehnt wird, und dass Kartendaten nie vollständig gespeichert werden.

Tests der Datenbanksicherheit

pnpm supabase:web:start
pnpm supabase:web:reset
pnpm test:rls

Jeder Test meldet sich als erzeugter Benutzer an und versucht etwas, das die Regeln verbieten: Ein Mitglied veröffentlicht ein Skript, ein Inhaber hebt seinen eigenen Tarif an, ein Benutzer liest die Anrufe eines anderen Arbeitsbereichs. Der Test besteht, wenn Postgres ablehnt.

Ende zu Ende

pnpm test:e2e

Öffnet die Demo in einem Browser und klickt sich durch die Hauptseiten. Anfragen an jeden externen Host werden blockiert, der Test beweist also auch, dass die Demo keine externen Aufrufe macht.

On this page