fix: correct orphan references after TR-069 typing refactor

- tests/device.spec.ts: fix 6× organizeParameters() calls passing wrapped
  response object instead of flat ParameterInfoStruct[] (runtime break)
- tests/device.spec.ts: fix setTmpParamValues([{x:1}]) with valid shape
- immediate_command_state_machine.ts: type handleResponse message param as
  CWMPTaskResultData (was any, gap in typing contract)
- configuration_evaluation_state.ts: replace fragile ../../../app/ dynamic
  import paths with proper static imports from ../../protocol/tr069_types.js
- main_state_machine.ts: replace all inline dynamic import() type casts with
  static imports (GetParameterNamesResponse, GetParameterValuesResponse,
  ParameterValueStruct, SetParameterAttribute, DownloadParameter, etc.)
This commit is contained in:
Kevin L'Hereec committed 2026-07-20 16:27:38 +02:00
1 parent f3eb8e1650
commit b643077e8d
4 files changed
+35 -36

No files matched your search

+10 -24
View File
@@ -89,14 +89,10 @@ describe('Device', () => {
d.setProperty(new DeviceProperty('Device.ManagementServer.PeriodicInformInterval', '60'))
d.setProperty(new DeviceProperty('Device.DeviceInfo.Manufacturer', 'Sagemcom'))
d.organizeParameters(
{
ParameterList: {
ParameterInfoStruct: [
{ Name: 'Device.ManagementServer.PeriodicInformInterval', Writable: '1' },
{ Name: 'Device.DeviceInfo.Manufacturer', Writable: '0' },
],
},
},
[
{ Name: 'Device.ManagementServer.PeriodicInformInterval', Writable: '1' },
{ Name: 'Device.DeviceInfo.Manufacturer', Writable: '0' },
],
new Date()
)
// Writable=1 → parameter, Writable=0 → property
@@ -153,7 +149,7 @@ describe('Device', () => {
it('clearTmpValues resets temporary state', () => {
const d = makeDevice()
d.setTmpParamValues([{ x: 1 }])
d.setTmpParamValues([{ Name: 'Device.X', Value: { _: '1' } }])
d.tmpPC = 'code'
d.clearTmpValues()
expect(d.getTmpParamValues()).toEqual([])
@@ -163,9 +159,7 @@ describe('Device', () => {
it('organizeParameters moves writable property to parameter', () => {
const d = makeDevice()
d.setProperty(new DeviceProperty('Device.X', 'val'))
d.organizeParameters({
ParameterList: { ParameterInfoStruct: [{ Name: 'Device.X', Writable: '1' }] },
}, new Date())
d.organizeParameters([{ Name: 'Device.X', Writable: '1' }], new Date())
expect(d.getParameter('Device.X')).toBeDefined()
expect(d.getProperty('Device.X')).toBeNull()
})
@@ -173,34 +167,26 @@ describe('Device', () => {
it('organizeParameters moves non-writable parameter to property', () => {
const d = makeDevice()
d.setParameter(new DeviceParameter('Device.Y', 'val'))
d.organizeParameters({
ParameterList: { ParameterInfoStruct: [{ Name: 'Device.Y', Writable: 0 }] },
}, new Date())
d.organizeParameters([{ Name: 'Device.Y', Writable: 0 }], new Date())
expect(d.getProperty('Device.Y')).toBeDefined()
expect(d.getParameter('Device.Y')).toBeNull()
})
it('organizeParameters adds new writable as parameter', () => {
const d = makeDevice()
d.organizeParameters({
ParameterList: { ParameterInfoStruct: [{ Name: 'Device.New.Param', Writable: '1' }] },
}, new Date())
d.organizeParameters([{ Name: 'Device.New.Param', Writable: '1' }], new Date())
expect(d.getParameter('Device.New.Param')).toBeDefined()
})
it('organizeParameters adds new non-writable as property', () => {
const d = makeDevice()
d.organizeParameters({
ParameterList: { ParameterInfoStruct: [{ Name: 'Device.New.Prop', Writable: '0' }] },
}, new Date())
d.organizeParameters([{ Name: 'Device.New.Prop', Writable: '0' }], new Date())
expect(d.getProperty('Device.New.Prop')).toBeDefined()
})
it('organizeParameters skips object paths (ending with dot)', () => {
const d = makeDevice()
d.organizeParameters({
ParameterList: { ParameterInfoStruct: [{ Name: 'Device.Info.', Writable: '1' }] },
}, new Date())
d.organizeParameters([{ Name: 'Device.Info.', Writable: '1' }], new Date())
expect(d.getParameter('Device.Info.')).toBeNull()
expect(d.getProperty('Device.Info.')).toBeNull()
})