Analyse: Zeitumstellungs-Test mit Abenduhr und Ereignissen, erkennt naives Vorzeitraum-Fenster
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
37bec17d73
commit
97bff91a99
1 file changed
+8
-2
@@ -234,8 +234,12 @@ test('Stats: avgSec/avgScroll gerundet, null ohne en; Tageswert avgSec', async (
|
||||
});
|
||||
|
||||
test('Stats: Vorzeitraum über die Zeitumstellung lückenlos und ohne Überlappung', async () => {
|
||||
const NOV = Date.UTC(2026, 10, 10, 10); // range 30, Zeitumstellung am 25.10. liegt im Zeitraum
|
||||
const { db } = mk();
|
||||
// range 30 um 23:30 Berlin: Zeitumstellung am 25.10. liegt im Zeitraum. Spätabends wäre now - 30 * 24 h
|
||||
// schon der 12.10. (00:30 Berlin) und ein naives Fenster würde sich überlappen; mittags fiele das nicht auf.
|
||||
const NOV = Date.UTC(2026, 10, 10, 22, 30);
|
||||
const { db, ev } = mk();
|
||||
ev({ ts: Date.UTC(2026, 9, 11, 10), type: 'pv', path: '/', vp: 'd', country: 'DE', device: 'd' }); // 11.10. mittags: Vorzeitraum
|
||||
ev({ ts: Date.UTC(2026, 9, 12, 10), type: 'pv', path: '/', vp: 'd', country: 'DE', device: 'd' }); // 12.10. mittags: aktueller Zeitraum
|
||||
const a = await admin(db, () => NOV);
|
||||
const j = await (await a.get(`/a/admin/stats/${KEY}?range=30`)).json();
|
||||
assert.equal(j.series[0].day, '2026-10-12');
|
||||
@@ -246,6 +250,8 @@ test('Stats: Vorzeitraum über die Zeitumstellung lückenlos und ohne Überlappu
|
||||
const all = [...j.series, ...j.previous.series].map((s) => s.day);
|
||||
assert.equal(all.length, 60);
|
||||
assert.equal(new Set(all).size, 60);
|
||||
assert.equal(j.previous.totals.pv, 1); assert.equal(j.previous.series[29].pv, 1);
|
||||
assert.equal(j.totals.pv, 1); assert.equal(j.series[0].pv, 1);
|
||||
a.close();
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user