mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2026-08-25 03:59:53 +00:00
Also remove group from herdsman on remove. #2265
This commit is contained in:
@@ -253,7 +253,10 @@ class BridgeConfig extends BaseExtension {
|
||||
|
||||
removeGroup(topic, message) {
|
||||
const name = message;
|
||||
settings.removeGroup(name);
|
||||
const entity = this.zigbee.resolveEntity(message);
|
||||
assert(entity && entity.type === 'group', `Group '${message}' does not exist`);
|
||||
settings.removeGroup(message);
|
||||
entity.group.removeFromDatabase();
|
||||
logger.info(`Removed group '${name}'`);
|
||||
}
|
||||
|
||||
|
||||
@@ -267,10 +267,11 @@ describe('Bridge config', () => {
|
||||
});
|
||||
|
||||
it('Should allow to remove groups', async () => {
|
||||
settings.addGroup('to_be_removed')
|
||||
MQTT.events.message('zigbee2mqtt/bridge/config/remove_group', 'to_be_removed');
|
||||
const group = zigbeeHerdsman.groups.group_1;
|
||||
MQTT.events.message('zigbee2mqtt/bridge/config/remove_group', 'group_1');
|
||||
await flushPromises();
|
||||
expect(settings.getGroup('to_be_removed')).toStrictEqual(null);
|
||||
expect(group.removeFromDatabase).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
|
||||
it('Shouldnt allow add groups without id or friendly_name in json', async () => {
|
||||
|
||||
@@ -7,6 +7,7 @@ class Group {
|
||||
this.command = jest.fn();
|
||||
this.meta = {};
|
||||
this.members = members;
|
||||
this.removeFromDatabase = jest.fn();
|
||||
this.hasMember = (endpoint) => this.members.includes(endpoint);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user