@@ -38,7 +38,7 @@ describe('Settings', () => {
38
38
39
39
const clearEnvironmentVariables = ( ) : void => {
40
40
for ( const key in process . env ) {
41
- if ( key . indexOf ( 'ZIGBEE2MQTT_CONFIG_' ) >= 0 ) {
41
+ if ( key . startsWith ( 'ZIGBEE2MQTT_CONFIG_' ) ) {
42
42
delete process . env [ key ] ;
43
43
}
44
44
}
@@ -104,17 +104,16 @@ describe('Settings', () => {
104
104
expect ( s ) . toStrictEqual ( expected ) ;
105
105
} ) ;
106
106
107
- it ( 'Should apply environment variables' , ( ) => {
108
- process . env [ 'ZIGBEE2MQTT_CONFIG_SERIAL_DISABLE_LED' ] = 'true' ;
109
- process . env [ 'ZIGBEE2MQTT_CONFIG_ADVANCED_CHANNEL' ] = '15' ;
110
- process . env [ 'ZIGBEE2MQTT_CONFIG_ADVANCED_OUTPUT' ] = 'attribute_and_json' ;
111
- process . env [ 'ZIGBEE2MQTT_CONFIG_ADVANCED_LOG_OUTPUT' ] = '["console"]' ;
112
- process . env [ 'ZIGBEE2MQTT_CONFIG_MAP_OPTIONS_GRAPHVIZ_COLORS_FILL' ] =
113
- '{"enddevice": "#ff0000", "coordinator": "#00ff00", "router": "#0000ff"}' ;
114
- process . env [ 'ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC' ] = 'testtopic' ;
115
- process . env [ 'ZIGBEE2MQTT_CONFIG_MQTT_SERVER' ] = 'testserver' ;
116
- process . env [ 'ZIGBEE2MQTT_CONFIG_ADVANCED_NETWORK_KEY' ] = 'GENERATE' ;
117
- process . env [ 'ZIGBEE2MQTT_CONFIG_DEVICES' ] = 'devices.yaml' ;
107
+ it ( 'Should apply environment variables as overrides' , ( ) => {
108
+ process . env . ZIGBEE2MQTT_CONFIG_SERIAL_DISABLE_LED = 'true' ;
109
+ process . env . ZIGBEE2MQTT_CONFIG_ADVANCED_CHANNEL = '15' ;
110
+ process . env . ZIGBEE2MQTT_CONFIG_ADVANCED_OUTPUT = 'attribute_and_json' ;
111
+ process . env . ZIGBEE2MQTT_CONFIG_ADVANCED_LOG_OUTPUT = '["console"]' ;
112
+ process . env . ZIGBEE2MQTT_CONFIG_MAP_OPTIONS_GRAPHVIZ_COLORS_FILL = '{"enddevice": "#ff0000", "coordinator": "#00ff00", "router": "#0000ff"}' ;
113
+ process . env . ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC = 'testtopic' ;
114
+ process . env . ZIGBEE2MQTT_CONFIG_MQTT_SERVER = 'testserver' ;
115
+ process . env . ZIGBEE2MQTT_CONFIG_ADVANCED_NETWORK_KEY = 'GENERATE' ;
116
+ process . env . ZIGBEE2MQTT_CONFIG_DEVICES = 'devices.yaml' ;
118
117
119
118
const contentDevices = {
120
119
'0x00158d00018255df' : {
@@ -125,6 +124,7 @@ describe('Settings', () => {
125
124
126
125
write ( configurationFile , { } ) ;
127
126
write ( devicesFile , contentDevices ) ;
127
+ expect ( settings . write ( ) ) ; // trigger writing of ENVs
128
128
expect ( settings . validate ( ) ) . toStrictEqual ( [ ] ) ;
129
129
130
130
const s = settings . get ( ) ;
@@ -147,6 +147,11 @@ describe('Settings', () => {
147
147
expected . advanced . network_key = 'GENERATE' ;
148
148
149
149
expect ( s ) . toStrictEqual ( expected ) ;
150
+
151
+ settings . set ( [ 'advanced' , 'channel' ] , 25 ) ;
152
+
153
+ expect ( settings . get ( ) . advanced . channel ) . toStrictEqual ( 15 ) ;
154
+ expect ( read ( configurationFile ) ) . toMatchObject ( { advanced : { channel : 15 } } ) ;
150
155
} ) ;
151
156
152
157
it ( 'Should add devices' , ( ) => {
0 commit comments