add test for #2351

This commit is contained in:
proddy
2025-01-14 19:03:12 +01:00
parent 9339ef481a
commit 24fba8b382
3 changed files with 52 additions and 4 deletions

View File

@@ -2750,6 +2750,11 @@ bool Boiler::set_ww_circulation_pump(const char * value, const int8_t id) {
write_command(EMS_TYPE_UBAParameterWW, 6, v ? 0xFF : 0x00, EMS_TYPE_UBAParameterWW); write_command(EMS_TYPE_UBAParameterWW, 6, v ? 0xFF : 0x00, EMS_TYPE_UBAParameterWW);
} }
#ifdef EMSESP_TEST
// set wwCircPump_ , for test "api4" in test.cpp
wwCircPump_ = v ? EMS_VALUE_BOOL_ON : EMS_VALUE_BOOL_OFF;
#endif
return true; return true;
} }

View File

@@ -960,6 +960,48 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const
ok = true; ok = true;
} }
if (command == "api4") {
shell.printfln("Testing API writing values...");
EMSESP::system_.bool_format(BOOL_FORMAT_ONOFF_STR);
// EMSESP::system_.bool_format(BOOL_FORMAT_ONOFF_STR_CAP);
// load devices
test("boiler");
test("thermostat");
ok = true;
AsyncWebServerRequest request;
JsonDocument doc;
JsonVariant json;
request.method(HTTP_POST);
shell.invoke_command("call boiler circpump/value"); // initial state is off
// call boiler circpump on
char data1[] = "{\"device\":\"boiler\", \"cmd\":\"circpump\",\"value\":\"on\"}";
deserializeJson(doc, data1);
request.url("/api");
EMSESP::webAPIService.webAPIService(&request, doc.as<JsonVariant>());
shell.invoke_command("call boiler circpump/value");
// switch to german
EMSESP::system_.locale("de");
// call boiler circpump off, but using value in DE
char data2[] = "{\"device\":\"boiler\", \"cmd\":\"circpump\",\"value\":\"aus\"}";
deserializeJson(doc, data2);
request.url("/api");
EMSESP::webAPIService.webAPIService(&request, doc.as<JsonVariant>());
shell.invoke_command("call boiler circpump/value");
// call boiler circpump on, but using value in DE
char data3[] = "{\"device\":\"boiler\", \"cmd\":\"circpump\",\"value\":\"an\"}";
deserializeJson(doc, data3);
request.url("/api");
EMSESP::webAPIService.webAPIService(&request, doc.as<JsonVariant>());
shell.invoke_command("call boiler circpump/value");
}
if (command == "api3") { if (command == "api3") {
shell.printfln("Testing API getting values from system"); shell.printfln("Testing API getting values from system");
EMSESP::system_.bool_format(BOOL_FORMAT_TRUEFALSE); // BOOL_FORMAT_TRUEFALSE_STR EMSESP::system_.bool_format(BOOL_FORMAT_TRUEFALSE); // BOOL_FORMAT_TRUEFALSE_STR
@@ -1016,10 +1058,10 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const
// request.url("/api"); // request.url("/api");
// EMSESP::webAPIService.webAPIService(&request, doc.as<JsonVariant>()); // EMSESP::webAPIService.webAPIService(&request, doc.as<JsonVariant>());
char data2[] = "{\"action\":\"getCustomSupport\", \"param\":\"hello\"}"; // char data2[] = "{\"action\":\"getCustomSupport\", \"param\":\"hello\"}";
deserializeJson(doc, data2); // deserializeJson(doc, data2);
request.url("/rest/action"); // request.url("/rest/action");
EMSESP::webStatusService.action(&request, doc.as<JsonVariant>()); // EMSESP::webStatusService.action(&request, doc.as<JsonVariant>());
// char data3[] = "{\"action\":\"export\", \"param\":\"schedule\"}"; // char data3[] = "{\"action\":\"export\", \"param\":\"schedule\"}";
// deserializeJson(doc, data3); // deserializeJson(doc, data3);

View File

@@ -42,6 +42,7 @@ namespace emsesp {
// #define EMSESP_DEBUG_DEFAULT "render" // #define EMSESP_DEBUG_DEFAULT "render"
// #define EMSESP_DEBUG_DEFAULT "api" // #define EMSESP_DEBUG_DEFAULT "api"
// #define EMSESP_DEBUG_DEFAULT "api3" // #define EMSESP_DEBUG_DEFAULT "api3"
#define EMSESP_DEBUG_DEFAULT "api4"
// #define EMSESP_DEBUG_DEFAULT "crash" // #define EMSESP_DEBUG_DEFAULT "crash"
// #define EMSESP_DEBUG_DEFAULT "dv" // #define EMSESP_DEBUG_DEFAULT "dv"
// #define EMSESP_DEBUG_DEFAULT "lastcode" // #define EMSESP_DEBUG_DEFAULT "lastcode"