Files
prodejna/tests/services_tests.cpp
T
2026-10-12 16:29:23 +02:00

68 lines
1.7 KiB
C++

#include <QCoreApplication>
#include <QtTest>
#include "data/accservice.h"
class ServicesTests : public QObject
{
Q_OBJECT
private slots:
void defaultsMatchExpectedInitialState()
{
AccService service;
QCOMPARE(service.price().toDouble(), 0.0);
QVERIFY(service.active());
QVERIFY(!service.salePossible());
QCOMPARE(service.serviceType(), AccService::OTHER);
QCOMPARE(service.vatType(), Enums::NONE);
}
void priceRoundTripUsesFixedPointStorage()
{
AccService service;
service.setPrice(QDecDouble(19.9));
QVERIFY(qAbs(service.price().toDouble() - 19.9) < 0.0001);
}
void priceRoundTripHandlesWholeAmounts()
{
AccService service;
service.setPrice(QDecDouble(250));
QCOMPARE(service.price().toDouble(), 250.0);
}
void basicPropertiesRoundTrip()
{
AccService service;
service.setAccServiceName(QStringLiteral("Ubytování"));
service.setAccServiceCode(QStringLiteral("UB-1"));
service.setActive(false);
service.setSalePossible(true);
service.setServiceType(AccService::TENT);
service.setVatType(Enums::FIRST_LOWER);
QCOMPARE(service.accServiceName(), QStringLiteral("Ubytování"));
QCOMPARE(service.accServiceCode(), QStringLiteral("UB-1"));
QVERIFY(!service.active());
QVERIFY(service.salePossible());
QCOMPARE(service.serviceType(), AccService::TENT);
QCOMPARE(service.vatType(), Enums::FIRST_LOWER);
}
};
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
ServicesTests tests;
return QTest::qExec(&tests, argc, argv);
}
#include "services_tests.moc"