fix missing modbus defaults in validation request (#26726)

This commit is contained in:
Ingo 2026-01-16 18:02:26 +01:00 • committed by GitHub
parent 510df0daf3
commit e08741740d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 0 deletions

View file

@ -352,6 +352,7 @@ export default defineComponent({
},
apiData(): ApiData {
let data: ApiData = {
...this.modbusDefaults,
...this.values,
};
if (this.values.type === ConfigType.Template && this.templateName) {

View file

@ -64,4 +64,23 @@ test.describe("modbus service expansion", async () => {
await meterModal.getByLabel("IP address or hostname").fill("192.168.1.1");
await expect(meterModal.getByLabel("Test value")).toHaveValue("100,id:2,tcp");
});
test("template defaults are included in validation request", async ({ page }) => {
const meterModal = await openMeterModal(page);
// Fill required fields
await meterModal.getByLabel("Register address").fill("100");
await meterModal.getByLabel("IP address or hostname").fill("192.168.1.1");
await meterModal.getByLabel("Test value").fill("test");
// Intercept validation POST request
const requestPromise = page.waitForRequest(
(req) => req.url().includes("/api/config/test/meter") && req.method() === "POST"
);
await meterModal.getByRole("button", { name: "Save" }).click();
const body = (await requestPromise).postDataJSON();
// Template has id: 2 - verify it's included even though user didn't set it
expect(body.id).toBe(2);
});
});