mirror of
https://github.com/OpenSquawk/OpenSquawk
synced 2026-08-06 01:06:28 +08:00
Bridge dome light mode mapping and flightlab seat belt flow
This commit is contained in:
24
tests/server/bridgeDataDomeLight.test.ts
Normal file
24
tests/server/bridgeDataDomeLight.test.ts
Normal 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)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user