Files
EetCpp/tests/eetv4request_test.cpp
T

65 lines
2.0 KiB
C++

#include <QTest>
#include "../libEet/eetv4request.h"
class EetV4RequestTest : public QObject
{
Q_OBJECT
private slots:
void parsesFixedPointAmounts()
{
EetV4Amount amount;
QString error;
QVERIFY(EetV4Amount::fromString(QStringLiteral("123.45"), &amount, &error));
QCOMPARE(amount.cents(), qint64(12345));
QCOMPARE(amount.toString(), QStringLiteral("123.45"));
QVERIFY(EetV4Amount::fromString(QStringLiteral("-0.01"), &amount, &error));
QCOMPARE(amount.cents(), qint64(-1));
QCOMPARE(amount.toString(), QStringLiteral("-0.01"));
}
void rejectsInvalidFixedPointAmounts()
{
EetV4Amount amount;
QString error;
QVERIFY(!EetV4Amount::fromString(QStringLiteral("1"), &amount, &error));
QVERIFY(!EetV4Amount::fromString(QStringLiteral("100000000.00"), &amount, &error));
QVERIFY(!EetV4Amount::fromString(QStringLiteral("-0.00"), &amount, &error));
}
void validatesSaleRequest()
{
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");
QStringList errors;
QVERIFY(request.validate(&errors));
QVERIFY(errors.isEmpty());
request.taxpayerEic = QStringLiteral("CZ12");
QVERIFY(!request.validate(&errors));
QVERIFY(!errors.isEmpty());
}
void formatsOffsetDateTime()
{
const QDateTime dateTime(QDate(2027, 1, 1), QTime(12, 34, 56),
QTimeZone::fromSecondsAheadOfUtc(-18000));
QCOMPARE(EetV4SaleRequest::formatDateTime(dateTime),
QStringLiteral("2027-01-01T12:34:56-05:00"));
}
};
QTEST_MAIN(EetV4RequestTest)
#include "eetv4request_test.moc"