QDateTime start() const { return value("start").toDateTime(); }
int duration() const { return value("duration").toInt(); }
int activityId() const { return value("xid_activity").toInt(); }
- int typeId() const { return value("type").toInt(); }
- int languageId() const { return value("language").toInt(); }
+ QString type() const { return value("type").toString(); }
+ QString language() const { return value("language").toString(); }
void setId(int id) { setValue("id", id); }
void setConferenceId(int conferenceId) { setValue("xid_conference", conferenceId); }
void setStart(const QDateTime& start) { setValue("start", start); }
void setDuration(int duration) { setValue("duration", duration); }
void setActivityId(int activityId) { setValue("xid_activity", activityId); }
- void setTypeId(int typeId) { setValue("type", typeId); }
- void setLanguageId(int languageId) { setValue("language", languageId); }
+ void setType(const QString& type) { setValue("type", type); }
+ void setLanguage(const QString& language) { setValue("language", language); }
friend class EventTest;
};
template <typename T>
QVariant OrmRecord<T>::convertToC(QVariant value, QVariant::Type colType)
{
- if (colType == QVariant::DateTime &&
- (value.type() == QVariant::UInt || value.type() == QVariant::Int))
+ if (colType == QVariant::DateTime && value.canConvert<uint>())
{
QDateTime date;
+ date.setTimeSpec(Qt::UTC);
date.setTime_t(value.toUInt());
return date;
}
void EventTest::getById()
{
Event event = Event::getById(500, 1);
+
QCOMPARE(event.id(), 500);
- QCOMPARE(event.start(), QDateTime::fromString("Sat Feb 7 11:30:00 2009"));
+ QCOMPARE(event.start(), QDateTime(QDate(2009, 2, 7), QTime(11, 30, 0), Qt::UTC));
QCOMPARE(event.activityId(), 123);
// !!! TODO: typeId and languageId
- QCOMPARE(event.typeId(), 0);
- QCOMPARE(event.languageId(), 0);
+ QCOMPARE(event.type(), QString("Podium"));
+ QCOMPARE(event.language(), QString("English"));
}
void EventTest::storingValues()
event.setStart(QDateTime::fromString("Sat Feb 7 11:30:00 2009"));
event.setDuration(30);
event.setActivityId(40);
- event.setTypeId(50);
- event.setLanguageId(60);
+ event.setType(QString("type"));
+ event.setLanguage(QString("language"));
QCOMPARE(event.id(), 10);
QCOMPARE(event.conferenceId(), 20);
QCOMPARE(event.start(), QDateTime::fromString("Sat Feb 7 11:30:00 2009"));
QCOMPARE(event.duration(), 30);
QCOMPARE(event.activityId(), 40);
- QCOMPARE(event.typeId(), 50);
- QCOMPARE(event.languageId(), 60);
+ QCOMPARE(event.type(), QString("type"));
+ QCOMPARE(event.language(), QString("language"));
}
-
void EventTest::hydrate()
{
QSqlRecord record;