mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2026-09-17 02:04:21 +00:00
fix(ignore): update deps (#32987)
This commit is contained in:
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"$schema": "https://biomejs.dev/schemas/2.5.3/schema.json",
|
||||
"$schema": "https://biomejs.dev/schemas/2.5.11/schema.json",
|
||||
"vcs": {
|
||||
"enabled": true,
|
||||
"clientKind": "git",
|
||||
|
||||
+6
-6
@@ -48,7 +48,7 @@
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fflate": "^0.8.3",
|
||||
"humanize-duration": "^3.34.1",
|
||||
"js-yaml": "^5.3.0",
|
||||
"js-yaml": "^5.4.1",
|
||||
"mqtt": "^5.15.2",
|
||||
"semver": "^7.8.5",
|
||||
"srvx": "^0.12.7",
|
||||
@@ -60,18 +60,18 @@
|
||||
"zigbee-herdsman": "10.9.1",
|
||||
"zigbee-herdsman-converters": "26.102.0",
|
||||
"zigbee2mqtt-frontend": "0.9.21",
|
||||
"zigbee2mqtt-windfront": "2.14.1"
|
||||
"zigbee2mqtt-windfront": "2.15.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "^2.5.3",
|
||||
"@biomejs/biome": "^2.5.11",
|
||||
"@types/humanize-duration": "^3.27.4",
|
||||
"@types/node": "^26.2.0",
|
||||
"@types/node": "^26.4.0",
|
||||
"@types/readable-stream": "4.0.24",
|
||||
"@types/ws": "8.18.1",
|
||||
"@vitest/coverage-v8": "^3.1.1",
|
||||
"@vitest/coverage-v8": "^3.2.7",
|
||||
"tmp": "^0.2.7",
|
||||
"typescript": "^7.0.2",
|
||||
"vitest": "^3.1.1"
|
||||
"vitest": "^3.2.7"
|
||||
},
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
|
||||
Generated
+578
-492
File diff suppressed because it is too large
Load Diff
@@ -780,61 +780,59 @@ describe("Extension: OTAUpdate", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it.each([
|
||||
"check",
|
||||
"check/downgrade",
|
||||
"update",
|
||||
"update/downgrade",
|
||||
"schedule",
|
||||
"schedule/downgrade",
|
||||
"unschedule",
|
||||
])("refuses to %s when already in progress", async (type) => {
|
||||
if (type.includes("schedule") || type.includes("check")) {
|
||||
devices.bulb.checkOta.mockImplementationOnce(async () => {
|
||||
return await new Promise((resolve) => {
|
||||
setTimeout(
|
||||
() =>
|
||||
resolve({
|
||||
available: false,
|
||||
current: {...DEFAULT_CURRENT, fileVersion: 1},
|
||||
}),
|
||||
99999,
|
||||
);
|
||||
it.each(["check", "check/downgrade", "update", "update/downgrade", "schedule", "schedule/downgrade", "unschedule"])(
|
||||
"refuses to %s when already in progress",
|
||||
async (type) => {
|
||||
if (type.includes("schedule") || type.includes("check")) {
|
||||
devices.bulb.checkOta.mockImplementationOnce(async () => {
|
||||
return await new Promise((resolve) => {
|
||||
setTimeout(
|
||||
() =>
|
||||
resolve({
|
||||
available: false,
|
||||
current: {...DEFAULT_CURRENT, fileVersion: 1},
|
||||
}),
|
||||
99999,
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
} else {
|
||||
devices.bulb.updateOta.mockImplementationOnce(async () => {
|
||||
return await new Promise((resolve) => {
|
||||
setTimeout(
|
||||
() =>
|
||||
resolve([
|
||||
{...DEFAULT_CURRENT, fileVersion: 1},
|
||||
{...DEFAULT_CURRENT, fileVersion: 10},
|
||||
]),
|
||||
99999,
|
||||
);
|
||||
} else {
|
||||
devices.bulb.updateOta.mockImplementationOnce(async () => {
|
||||
return await new Promise((resolve) => {
|
||||
setTimeout(
|
||||
() =>
|
||||
resolve([
|
||||
{...DEFAULT_CURRENT, fileVersion: 1},
|
||||
{...DEFAULT_CURRENT, fileVersion: 10},
|
||||
]),
|
||||
99999,
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
mockMQTTEvents.message(`zigbee2mqtt/bridge/request/device/ota_update/${type.includes("schedule") ? "check" : type}`, stringify({id: "bulb"}));
|
||||
await flushPromises();
|
||||
mockMQTTEvents.message(`zigbee2mqtt/bridge/request/device/ota_update/${type}`, stringify({id: "bulb"}));
|
||||
await flushPromises();
|
||||
mockMQTTEvents.message(
|
||||
`zigbee2mqtt/bridge/request/device/ota_update/${type.includes("schedule") ? "check" : type}`,
|
||||
stringify({id: "bulb"}),
|
||||
);
|
||||
await flushPromises();
|
||||
mockMQTTEvents.message(`zigbee2mqtt/bridge/request/device/ota_update/${type}`, stringify({id: "bulb"}));
|
||||
await flushPromises();
|
||||
|
||||
if (type.includes("schedule") || type.includes("check")) {
|
||||
expect(devices.bulb.checkOta).toHaveBeenCalledTimes(1);
|
||||
} else {
|
||||
expect(devices.bulb.updateOta).toHaveBeenCalledTimes(1);
|
||||
}
|
||||
if (type.includes("schedule") || type.includes("check")) {
|
||||
expect(devices.bulb.checkOta).toHaveBeenCalledTimes(1);
|
||||
} else {
|
||||
expect(devices.bulb.updateOta).toHaveBeenCalledTimes(1);
|
||||
}
|
||||
|
||||
await vi.runOnlyPendingTimersAsync();
|
||||
expect(mockMQTTPublishAsync).toHaveBeenCalledWith(
|
||||
`zigbee2mqtt/bridge/response/device/ota_update/${type.replace("/downgrade", "")}`,
|
||||
stringify({data: {}, status: "error", error: `OTA update or check for update already in progress for 'bulb'`}),
|
||||
{},
|
||||
);
|
||||
});
|
||||
await vi.runOnlyPendingTimersAsync();
|
||||
expect(mockMQTTPublishAsync).toHaveBeenCalledWith(
|
||||
`zigbee2mqtt/bridge/response/device/ota_update/${type.replace("/downgrade", "")}`,
|
||||
stringify({data: {}, status: "error", error: `OTA update or check for update already in progress for 'bulb'`}),
|
||||
{},
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
it("does not crash when read modelID before/after OTA update fails", async () => {
|
||||
devices.bulb.endpoints[0].read
|
||||
|
||||
Reference in New Issue
Block a user