/** * @RDE_HEADER@ * * EXM Function Topic test executable * * ModuleTests for create/modify/remove marker * --------------------------------------------------- * Client FTC is implemented * * => (!) Preconditon: * - Service svcMarkerManagent running * * ------------------------------------------------- * * $Id$ * $HeadURL$ * $Author$ * Created by hjl, SLSE, 2016-04-18 */ #pragma once #include #include #include #include #include #include #include namespace WarehouseGuez { class WhgTests : public QObject , protected WarehouseGuez::Interface::Ftc::ModifyEquipmentTypeWhReplyHandler , protected WarehouseGuez::Interface::Ftc::RemoveEquipmentTypeWhReplyHandler , protected WarehouseGuez::Interface::Ftc::ModifyInjuryModelAgdusWhReplyHandler , protected WarehouseGuez::Interface::Ftc::RemoveInjuryModelAgdusWhReplyHandler { Q_OBJECT public: explicit WhgTests(QObject *parent = nullptr); ~WhgTests(); bool init(int domainId, int testId, int eqtTypeWhId, int injuryModelWhId, int equipNo, int boxId); bool testsSuccessful() const { return m_bTestsSuccessful; } public Q_SLOTS: void startTest(); protected Q_SLOTS: // used to check FTC void tryCreate(); void tryModify(); void tryRemove(); void tryCreateInjuryModel(); void tryModifyInjuryModel(); void tryRemoveInjuryModel(); // used to check DTC void tryGetAllEquipmentTypesWh(); void tryGetEquipmentTypeWh(); void tryGetBiteData(); void onReceiveEqtTypeChanged(const WarehouseGuez::EquipmentTypeWh &data, DataModification modType); protected: // Callbackfunctions for FTC void onModifyEquipmentTypeWhReply(const Core::FunctionReplyObject &replyObject) override final; void onRemoveEquipmentTypeWhReply(const Core::FunctionReplyObject &replyObject) override final; void onModifyInjuryModelAgdusWhReply(const Core::FunctionReplyObject &replyObject) override final; void onRemoveInjuryModelAgdusWhReply(const Core::FunctionReplyObject &replyObject) override final; private Q_SLOTS: bool onCompareCreatedData(EquipmentTypeWh &data); bool onCompareModifiedData(EquipmentTypeWh &data); bool onCompareCreatedData(InjuryModelAgdusWh &data); bool onCompareModifiedData(InjuryModelAgdusWh &data); void onConnected(); void onTextMessageReceived(const QString &msg); private: void getEqtTypeWhCreateRequestData(EquipmentTypeWh &data); void getEqtTypeWhModifyRequestData(EquipmentTypeWh &data); void getInjuryModelWhCreateRequestData(InjuryModelAgdusWh &data); void getInjuryModelWhModifyRequestData(InjuryModelAgdusWh &data); void failExit(); private: std::shared_ptr m_ddsConnector; std::shared_ptr m_ftc; std::shared_ptr m_dtc; QWebSocket m_wsClient; int m_testId; int m_equipmentTypeWhId; int m_injuryModelWhId; int m_equipNo; int m_boxId; enum TestStep { eUnknown, eCreate, eModify, eRemove, eGetAllEquipmentTypesWh, eGetEquipmentTypeWh, eCreateInjuryModel, eModifyInjuryModel, eRemoveInjuryModel } m_eTestStep; bool m_bTestsSuccessful; NGL::INGLLogger &m_logger; }; } // namespace WarehouseGuez