Dienstplan-Pro/test.html
Kenearos 9a26d8b9ef Merge feature/bonus-varianten: 3 variants + vacation + date-stepper
Conflicts resolved:
- sw.js: bumped CACHE_NAME to dienstplan-pro-v4 (was v3 + v2). Both
  variants.js and image-import.js are in ASSETS.
- storage.js: kept STORAGE_KEY_DUTIES + STORAGE_KEY_VACATION (Feature B)
  alongside STORAGE_KEY_OPENROUTER_KEY/MODEL + DEFAULT_MODEL (Feature A).
- styles.css: appended Feature B variants/vacation/date-stepper rules
  after Feature A modal/key rules; both blocks coexist.
2026-05-12 18:45:31 +02:00

149 lines
3.6 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dienstplan Test Suite</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
background: #f5f5f5;
}
h1 {
color: #667eea;
}
.test-suite {
background: white;
border-radius: 8px;
padding: 20px;
margin-bottom: 20px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.test-case {
padding: 10px;
margin: 5px 0;
border-left: 4px solid #ccc;
background: #f9f9f9;
}
.test-case.pass {
border-left-color: #28a745;
background: #f0f9f4;
}
.test-case.fail {
border-left-color: #dc3545;
background: #fff0f0;
}
.test-name {
font-weight: 600;
margin-bottom: 5px;
}
.test-details {
font-size: 0.9em;
color: #666;
font-family: monospace;
}
.summary {
display: flex;
gap: 20px;
margin-bottom: 20px;
}
.summary-item {
flex: 1;
padding: 20px;
border-radius: 8px;
text-align: center;
color: white;
font-size: 1.2em;
}
.summary-item.total {
background: #667eea;
}
.summary-item.passed {
background: #28a745;
}
.summary-item.failed {
background: #dc3545;
}
.summary-item .label {
font-size: 0.8em;
opacity: 0.9;
}
.summary-item .value {
font-size: 2em;
font-weight: bold;
}
button {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
border: none;
padding: 12px 24px;
border-radius: 6px;
font-size: 1em;
cursor: pointer;
margin-bottom: 20px;
}
button:hover {
opacity: 0.9;
}
.error-details {
background: #fff0f0;
border: 1px solid #dc3545;
padding: 10px;
margin-top: 10px;
border-radius: 4px;
font-family: monospace;
font-size: 0.85em;
color: #721c24;
}
</style>
</head>
<body>
<h1>🧪 Dienstplan Bonusrechner - Test Suite</h1>
<button id="run-tests" onclick="runAllTests()">Alle Tests ausführen</button>
<div class="summary" id="summary" style="display: none;">
<div class="summary-item total">
<div class="label">Gesamt</div>
<div class="value" id="total-tests">0</div>
</div>
<div class="summary-item passed">
<div class="label">Bestanden</div>
<div class="value" id="passed-tests">0</div>
</div>
<div class="summary-item failed">
<div class="label">Fehlgeschlagen</div>
<div class="value" id="failed-tests">0</div>
</div>
</div>
<div id="test-results"></div>
<script src="holidays.js"></script>
<script src="variants.js"></script>
<script src="calculator.js"></script>
<script src="storage.js"></script>
<script src="image-import.js"></script>
<script src="test-suite.js"></script>
</body>
</html>