Bridge dome light mode mapping and flightlab seat belt flow

This commit is contained in:
itsrubberduck
2026-02-18 22:43:56 +01:00
parent 36ad4677dc
commit 7862f1ffd4
3 changed files with 94 additions and 51 deletions

View File

@@ -0,0 +1,24 @@
import { describe, it } from 'node:test'
import assert from 'node:assert/strict'
import { resolveDomeLightMode } from '~~/server/api/bridge/data.post'
describe('bridge dome light mode mapping', () => {
it('maps all dome/nav combinations to expected mode', () => {
assert.equal(resolveDomeLightMode({ dome_light: false, nav_logo_lights: false }), 'off')
assert.equal(resolveDomeLightMode({ dome_light: false, nav_logo_lights: true }), 'off')
assert.equal(resolveDomeLightMode({ dome_light: true, nav_logo_lights: false }), 'amber')
assert.equal(resolveDomeLightMode({ dome_light: true, nav_logo_lights: true }), 'white')
})
it('supports numeric and string boolean payloads', () => {
assert.equal(resolveDomeLightMode({ dome_light: 1, nav_logo_lights: 0 }), 'amber')
assert.equal(resolveDomeLightMode({ dome_light: '1', nav_logo_lights: '1' }), 'white')
assert.equal(resolveDomeLightMode({ dome_light: 'false', nav_logo_lights: 'true' }), 'off')
})
it('returns null when dome_light is missing or invalid', () => {
assert.equal(resolveDomeLightMode({ nav_logo_lights: true }), null)
assert.equal(resolveDomeLightMode({ dome_light: 'invalid', nav_logo_lights: true }), null)
})
})