From f41d143d123912005e5ecdfbaa5d62801e9f5c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Tue, 8 Mar 2016 15:41:03 +0100 Subject: [PATCH] add stateType tests --- tests/auto/devices/testdevices.cpp | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/auto/devices/testdevices.cpp b/tests/auto/devices/testdevices.cpp index a8ceb96e..66ce0f13 100644 --- a/tests/auto/devices/testdevices.cpp +++ b/tests/auto/devices/testdevices.cpp @@ -78,6 +78,9 @@ private slots: void getStateTypes_data(); void getStateTypes(); + void getStateType_data(); + void getStateType(); + void getStateValue_data(); void getStateValue(); @@ -686,6 +689,37 @@ void TestDevices::getStateTypes() } } +void TestDevices::getStateType_data() +{ + QTest::addColumn("stateTypeId"); + QTest::addColumn("error"); + + QTest::newRow("valid int state") << mockIntStateId << DeviceManager::DeviceErrorNoError; + QTest::newRow("valid bool state") << mockBoolStateId << DeviceManager::DeviceErrorNoError; + QTest::newRow("invalid stateTypeId") << StateTypeId::createStateTypeId() << DeviceManager::DeviceErrorStateTypeNotFound; +} + +void TestDevices::getStateType() +{ + QFETCH(StateTypeId, stateTypeId); + QFETCH(DeviceManager::DeviceError, error); + + QVariantMap params; + params.insert("stateTypeId", stateTypeId); + QVariant response = injectAndWait("States.GetStateType", params); + verifyDeviceError(response, error); + + if (error != DeviceManager::DeviceErrorNoError) + return; + + QVariantMap stateType = response.toMap().value("params").toMap().value("stateType").toMap(); + + qDebug() << QJsonDocument::fromVariant(stateType).toJson(); + + QVERIFY2(!stateType.isEmpty(), "Got no stateType"); + QCOMPARE(stateType.value("id").toString(), stateTypeId.toString()); +} + void TestDevices::getStateValue_data() { QTest::addColumn("deviceId");