##// END OF EJS Templates
Adds actions for items in the DataSourceWidget...
Adds actions for items in the DataSourceWidget For each item will be associated actions (generated from the model of the item) that will be displayed in the menu when right clicking on the item in the tree

File last commit:

r92:afb77b3143a6
r142:11579fae1cc2
Show More
TestDataSourceController.cpp
51 lines | 1.7 KiB | text/x-c | CppLexer
/ core / tests / DataSource / TestDataSourceController.cpp
Alexandre Leroux
Inits unit tests for DataSource controller
r38 #include <DataSource/DataSourceController.h>
#include <DataSource/DataSourceItem.h>
#include <QObject>
#include <QtTest>
#include <memory>
class TestDataSourceController : public QObject {
Q_OBJECT
private slots:
void testRegisterDataSource();
void testSetDataSourceItem();
};
void TestDataSourceController::testRegisterDataSource()
{
DataSourceController dataSourceController{};
auto uid = dataSourceController.registerDataSource(QStringLiteral("Source1"));
QVERIFY(!uid.isNull());
}
void TestDataSourceController::testSetDataSourceItem()
{
DataSourceController dataSourceController{};
// Spy to test controllers' signals
Alexandre Leroux
Change signal/slot signature for data source
r92 QSignalSpy signalSpy{&dataSourceController, SIGNAL(dataSourceItemSet(DataSourceItem *))};
Alexandre Leroux
Inits unit tests for DataSource controller
r38
// Create a data source item
auto source1Name = QStringLiteral("Source1");
auto source1Values = QVector<QVariant>{source1Name};
Alexandre Leroux
Adds type for a data source item...
r79 auto source1Item
= std::make_unique<DataSourceItem>(DataSourceItemType::PRODUCT, std::move(source1Values));
Alexandre Leroux
Inits unit tests for DataSource controller
r38
// Add data source item to the controller and check that a signal has been emitted after setting
// data source item in the controller
auto source1Uid = dataSourceController.registerDataSource(source1Name);
dataSourceController.setDataSourceItem(source1Uid, std::move(source1Item));
QCOMPARE(signalSpy.count(), 1);
// Try to a data source item with an unregistered uid and check that no signal has been emitted
auto unregisteredUid = QUuid::createUuid();
Alexandre Leroux
Adds type for a data source item...
r79 dataSourceController.setDataSourceItem(
unregisteredUid, std::make_unique<DataSourceItem>(DataSourceItemType::PRODUCT));
Alexandre Leroux
Inits unit tests for DataSource controller
r38 QCOMPARE(signalSpy.count(), 1);
}
QTEST_MAIN(TestDataSourceController)
#include "TestDataSourceController.moc"