feat(tests): add very basic ResourceModel test
______very_____ basic indeed, creating tests is super boring :c Signed-off-by: flow <flowlnlnln@gmail.com>
This commit is contained in:
47
tests/DummyResourceAPI.h
Normal file
47
tests/DummyResourceAPI.h
Normal file
@ -0,0 +1,47 @@
|
||||
#pragma once
|
||||
|
||||
#include <QJsonDocument>
|
||||
|
||||
#include <modplatform/ResourceAPI.h>
|
||||
|
||||
class SearchTask : public Task {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
void executeTask() override { emitSucceeded(); }
|
||||
};
|
||||
|
||||
class DummyResourceAPI : public ResourceAPI {
|
||||
public:
|
||||
static auto searchRequestResult()
|
||||
{
|
||||
static QByteArray json_response =
|
||||
"{\"hits\":["
|
||||
"{"
|
||||
"\"author\":\"flowln\","
|
||||
"\"description\":\"the bestest mod\","
|
||||
"\"project_id\":\"something\","
|
||||
"\"project_type\":\"mod\","
|
||||
"\"slug\":\"bip_bop\","
|
||||
"\"title\":\"AAAAAAAA\","
|
||||
"\"versions\":[\"2.71\"]"
|
||||
"}"
|
||||
"]}";
|
||||
|
||||
return QJsonDocument::fromJson(json_response);
|
||||
}
|
||||
|
||||
DummyResourceAPI() : ResourceAPI() {}
|
||||
[[nodiscard]] auto getSortingMethods() const -> QList<SortingMethod> override { return {}; };
|
||||
|
||||
[[nodiscard]] Task::Ptr searchProjects(SearchArgs&&, SearchCallbacks&& callbacks) const override
|
||||
{
|
||||
auto task = new SearchTask;
|
||||
QObject::connect(task, &Task::succeeded, [=] {
|
||||
auto json = searchRequestResult();
|
||||
callbacks.on_succeed(json);
|
||||
});
|
||||
QObject::connect(task, &Task::finished, task, &Task::deleteLater);
|
||||
return task;
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user