feat: implement Haptika PPG and Watch V1
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import {
|
||||
HAPTIC_REGULATION_CATALOG_VERSION,
|
||||
HAPTIC_REGULATION_PROTOCOLS,
|
||||
getRegulationProtocol,
|
||||
} from './regulationProtocols';
|
||||
|
||||
describe('shared regulation protocol manifest', () => {
|
||||
it('loads the seven unique, versioned protocols', () => {
|
||||
expect(HAPTIC_REGULATION_CATALOG_VERSION).toBe('1.0.0');
|
||||
expect(HAPTIC_REGULATION_PROTOCOLS).toHaveLength(7);
|
||||
expect(new Set(HAPTIC_REGULATION_PROTOCOLS.map(item => item.kind)).size).toBe(7);
|
||||
});
|
||||
|
||||
it('contains finite phases and declared durations', () => {
|
||||
HAPTIC_REGULATION_PROTOCOLS.forEach(protocol => {
|
||||
expect(protocol.durationSeconds).toBeGreaterThan(0);
|
||||
expect(protocol.allowedDurationsSeconds).toContain(protocol.durationSeconds);
|
||||
expect(protocol.phases.length).toBeGreaterThan(0);
|
||||
protocol.phases.forEach(phase => {
|
||||
expect(Number.isFinite(phase.durationSeconds)).toBe(true);
|
||||
expect(phase.durationSeconds).toBeGreaterThan(0);
|
||||
});
|
||||
expect(getRegulationProtocol(protocol.kind)).toBe(protocol);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user