#include #include #include "../libEet/eetv4soap.h" class EetV4SoapTest : public QObject { Q_OBJECT private slots: void serializesSoapEnvelope() { EetV4SaleRequest request; request.messageUuid = QUuid(QStringLiteral("550e8400-e29b-41d4-a716-446655440000")); request.sentAt = QDateTime(QDate(2027, 1, 1), QTime(12, 0), QTimeZone::fromSecondsAheadOfUtc(3600)); request.saleAt = request.sentAt; request.taxpayerEic = QStringLiteral("CZ00000019"); request.unitId = 11; request.cashRegisterId = QStringLiteral("1"); request.receiptNumber = QStringLiteral("123"); EetV4Amount::fromString(QStringLiteral("123.45"), &request.totalSale); QString error; const QByteArray soap = EetV4Soap::serializeUnsigned(request, QByteArrayLiteral("body-1"), &error); QVERIFY2(!soap.isEmpty(), qPrintable(error)); QVERIFY(soap.startsWith("")); QVERIFY(soap.contains("")); QVERIFY(soap.contains("")); QVERIFY(soap.contains("")); QVERIFY(soap.endsWith("")); } void rejectsInvalidBodyId() { EetV4SaleRequest request; QString error; QVERIFY(EetV4Soap::serializeUnsigned(request, QByteArrayLiteral("invalid id"), &error).isEmpty()); QVERIFY(!error.isEmpty()); } void producesParseableSoap() { EetV4SaleRequest request; request.sentAt = QDateTime(QDate(2027, 1, 1), QTime(12, 0), QTimeZone::fromSecondsAheadOfUtc(3600)); request.saleAt = request.sentAt; request.taxpayerEic = QStringLiteral("CZ00000019"); request.unitId = 11; request.cashRegisterId = QStringLiteral("1"); request.receiptNumber = QStringLiteral("123"); EetV4Amount::fromString(QStringLiteral("1.00"), &request.totalSale); QXmlStreamReader reader(EetV4Soap::serializeUnsigned(request)); while (!reader.atEnd()) { reader.readNext(); } QVERIFY2(!reader.hasError(), qPrintable(reader.errorString())); } }; QTEST_MAIN(EetV4SoapTest) #include "eetv4soap_test.moc"