1 /*
2 SPDX-FileCopyrightText: 2019-2021 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7 #include "queryparameterstest.h"
8 #include "restapiabstractjob.h"
9 #include <QTest>
10 #include <QUrlQuery>
QTEST_GUILESS_MAIN(QueryParametersTest)11 QTEST_GUILESS_MAIN(QueryParametersTest)
12
13 QueryParametersTest::QueryParametersTest(QObject *parent)
14 : QObject(parent)
15 {
16 }
17
shouldHaveDefaultValue()18 void QueryParametersTest::shouldHaveDefaultValue()
19 {
20 RocketChatRestApi::QueryParameters query;
21 QCOMPARE(query.count(), -1);
22 QCOMPARE(query.offset(), -1);
23 QVERIFY(!query.isValid());
24 QVERIFY(query.sorting().isEmpty());
25 QVERIFY(query.custom().isEmpty());
26 QVERIFY(query.searchString().isEmpty());
27 }
28
shouldQueryIsValid()29 void QueryParametersTest::shouldQueryIsValid()
30 {
31 RocketChatRestApi::QueryParameters query;
32 QVERIFY(!query.isValid());
33 query.setCount(4);
34 QVERIFY(query.isValid());
35 }
36
shouldGenerateQuery()37 void QueryParametersTest::shouldGenerateQuery()
38 {
39 {
40 RocketChatRestApi::QueryParameters query;
41 QVERIFY(!query.isValid());
42 query.setCount(4);
43 QUrlQuery urlQuery;
44 RocketChatRestApi::QueryParameters::generateQueryParameter(query, urlQuery);
45 QCOMPARE(urlQuery.toString(), QStringLiteral("count=4"));
46 }
47 {
48 RocketChatRestApi::QueryParameters query;
49 QVERIFY(!query.isValid());
50 QMap<QString, QString> custom;
51 custom.insert(QStringLiteral("bla"), QStringLiteral("foo"));
52 query.setCustom(custom);
53 QVERIFY(query.isValid());
54 QUrlQuery urlQuery;
55 RocketChatRestApi::QueryParameters::generateQueryParameter(query, urlQuery);
56 QCOMPARE(urlQuery.toString(), QStringLiteral("query=%7B%22bla%22:%22foo%22%7D"));
57 }
58 {
59 RocketChatRestApi::QueryParameters query;
60 QVERIFY(!query.isValid());
61 QMap<QString, QString> custom;
62 custom.insert(QStringLiteral("text"), QStringLiteral("gene"));
63 custom.insert(QStringLiteral("type"), QStringLiteral("channels"));
64 query.setCustom(custom);
65 QVERIFY(query.isValid());
66 QUrlQuery urlQuery;
67 RocketChatRestApi::QueryParameters::generateQueryParameter(query, urlQuery);
68 QCOMPARE(urlQuery.toString(), QStringLiteral("query=%7B%22text%22:%22gene%22,%22type%22:%22channels%22%7D"));
69 }
70 {
71 RocketChatRestApi::QueryParameters query;
72 QVERIFY(!query.isValid());
73 query.setSearchString(QStringLiteral("blabla"));
74 QVERIFY(query.isValid());
75 QUrlQuery urlQuery;
76 RocketChatRestApi::QueryParameters::generateQueryParameter(query, urlQuery);
77 QCOMPARE(urlQuery.toString(), QStringLiteral("query=%7B%22name%22:%7B%22$regex%22:%22blabla%22,%22$options%22:%22i%22%7D%7D"));
78 }
79 }
80