mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2026-08-28 13:34:24 +00:00
fix: Fix DatabaseEntry with ID 'X' does not exist when adding device to delete group ID (#28583)
This commit is contained in:
@@ -638,6 +638,7 @@ export default class Bridge extends Extension {
|
||||
await entity.zh.removeFromNetwork();
|
||||
}
|
||||
|
||||
this.zigbee.removeGroupFromLookup(entity.ID);
|
||||
settings.removeGroup(entity.ID);
|
||||
}
|
||||
|
||||
|
||||
@@ -432,4 +432,8 @@ export default class Zigbee {
|
||||
groupByID(id: number): Group | undefined {
|
||||
return this.resolveGroup(id);
|
||||
}
|
||||
|
||||
removeGroupFromLookup(id: number): void {
|
||||
this.groupLookup.delete(id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2971,11 +2971,13 @@ describe("Extension: Bridge", () => {
|
||||
|
||||
it("Should allow to remove group", async () => {
|
||||
const group = groups.group_1;
|
||||
const removeGroupFromLookup = vi.spyOn(controller.zigbee, "removeGroupFromLookup");
|
||||
mockMQTTPublishAsync.mockClear();
|
||||
mockMQTTEvents.message("zigbee2mqtt/bridge/request/group/remove", "group_1");
|
||||
await flushPromises();
|
||||
expect(group.removeFromNetwork).toHaveBeenCalledTimes(1);
|
||||
expect(settings.getGroup("group_1")).toBeUndefined();
|
||||
expect(removeGroupFromLookup).toHaveBeenCalledWith(1);
|
||||
expect(mockMQTTPublishAsync).toHaveBeenCalledWith("zigbee2mqtt/bridge/groups", expect.any(String), expect.any(Object));
|
||||
expect(mockMQTTPublishAsync).toHaveBeenCalledWith(
|
||||
"zigbee2mqtt/bridge/response/group/remove",
|
||||
|
||||
Reference in New Issue
Block a user