Monitor websites uptime using Cloudflare Workers
Something went wrong. Try again.
TypeScript
at optimization
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import { describe, expect, it } from 'vitest';import { checkFrequencySliderIndex, expectedChecksPerDay, expectedDnsSnapshotsPerDay, intervalSecondsForSliderIndex, isValidTimeout,} from './monitor-form.logic.js';
describe('monitor form calculations', () => { it('moves by one minute through 15 minutes, then by five minutes through 60', () => { expect(intervalSecondsForSliderIndex(0)).toBe(60); expect(intervalSecondsForSliderIndex(13)).toBe(840); expect(intervalSecondsForSliderIndex(14)).toBe(900); expect(intervalSecondsForSliderIndex(15)).toBe(1_200); expect(intervalSecondsForSliderIndex(23)).toBe(3_600); expect(checkFrequencySliderIndex(1_800)).toBe(17); });
it('counts every selected regional target check', () => { expect(expectedChecksPerDay(['us-east', 'eu-west', 'asia'], 300)).toBe(864); expect( expectedChecksPerDay( [ 'us-east', 'us-west', 'canada-central', 'eu-west', 'eu-north', 'eu-south', 'asia', 'asia-east', 'asia-south', ], 60, ), ).toBe(12_960); });
it('rejects a timeout equal to its check interval', () => { expect(isValidTimeout(60_000, 60)).toBe(false); expect(isValidTimeout(30_000, 60)).toBe(true); });
it('keeps DNS snapshots off by default and counts one daily snapshot per region when enabled', () => { expect(expectedDnsSnapshotsPerDay(['us-east', 'eu-west'], false)).toBe(0); expect(expectedDnsSnapshotsPerDay(['us-east', 'eu-west'], true)).toBe(2); expect(expectedChecksPerDay(['us-east', 'eu-west'], 300)).toBe(576); });});