#include #include #include #include "../clientapi.h" class DummyResourceFacade : public Akonadi2::StoreFacade { public: ~DummyResourceFacade(){}; virtual Async::Job create(const Akonadi2::Domain::Event &domainObject){ return Async::null(); }; virtual Async::Job modify(const Akonadi2::Domain::Event &domainObject){ return Async::null(); }; virtual Async::Job remove(const Akonadi2::Domain::Event &domainObject){ return Async::null(); }; virtual Async::Job load(const Akonadi2::Query &query, const std::function &resultCallback) { return Async::start([this, resultCallback](Async::Future &future) { qDebug() << "load called"; for(const auto &result : results) { resultCallback(result); } future.setFinished(); }); } QList results; }; class ClientAPITest : public QObject { Q_OBJECT private Q_SLOTS: void testLoad() { DummyResourceFacade facade; facade.results << QSharedPointer::create("resource", "id", 0, QSharedPointer()); Akonadi2::FacadeFactory::instance().registerFacade("dummyresource", [facade](){ return new DummyResourceFacade(facade); }); Akonadi2::Query query; query.resources << "dummyresource"; async::SyncListResult result(Akonadi2::Store::load(query)); result.exec(); QCOMPARE(result.size(), 1); } }; QTEST_MAIN(ClientAPITest) #include "clientapitest.moc"