]> ToastFreeware Gitweb - toast/confclerk.git/blobdiff - src/test/mvc/eventtest.cpp
just some directory renaming
[toast/confclerk.git] / src / test / mvc / eventtest.cpp
diff --git a/src/test/mvc/eventtest.cpp b/src/test/mvc/eventtest.cpp
new file mode 100644 (file)
index 0000000..232421a
--- /dev/null
@@ -0,0 +1,81 @@
+#include "eventtest.h"
+
+#include <QtTest>
+#include <QSqlDatabase>
+
+#include <QDebug>
+
+#include <event.h>
+
+void EventTest::initTestCase()
+{
+    // Connect to the test database. Ask Mr. Pavelka to generate one for you :)
+    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
+    db.setDatabaseName("fosdem-test.sqlite");
+    QVERIFY(db.open());
+}
+
+void EventTest::getById()
+{
+    Event event = Event::getById(500, 1);
+
+    QCOMPARE(event.id(), 500);
+    QCOMPARE(event.start(), QDateTime(QDate(2009, 2, 7), QTime(11, 30, 0), Qt::UTC));
+    QCOMPARE(event.activityId(), 123);
+
+    // !!! TODO: typeId and languageId
+    QCOMPARE(event.type(), QString("Podium"));
+    QCOMPARE(event.language(), QString("English"));
+}
+
+void EventTest::getByDate()
+{
+    QCOMPARE(Event::getByDate(QDate(2009, 2, 7), 1).count(), 127);
+    QCOMPARE(Event::getByDate(QDate(2009, 2, 8), 1).count(), 154);
+}
+
+void EventTest::storingValues()
+{
+    Event event;
+
+    event.setId(10);
+    event.setConferenceId(20);
+    event.setStart(QDateTime::fromString("Sat Feb 7 11:30:00 2009"));
+    event.setDuration(30);
+    event.setActivityId(40);
+    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.type(), QString("type"));
+    QCOMPARE(event.language(), QString("language"));
+}
+
+void EventTest::hydrate()
+{
+    QSqlRecord record;
+    record.append(QSqlField("duration", QVariant::Int));
+    record.append(QSqlField("id", QVariant::Int));
+    record.setValue(0, 10);
+    record.setValue(1, 20);
+
+    Event event = Event::hydrate(record);
+    QCOMPARE(event.id(), 20);
+    QCOMPARE(event.duration(), 10);
+}
+
+void EventTest::columnsForSelect()
+{
+    QCOMPARE(Event::columnsForSelect(), QString("id,xid_conference,start,duration,xid_activity,type,language"));
+    QCOMPARE(Event::columnsForSelect("t0"),
+             QString("t0.id,t0.xid_conference,t0.start,t0.duration,t0.xid_activity,t0.type,t0.language"));
+}
+
+void EventTest::selectQuery()
+{
+    QCOMPARE(Event::selectQuery(), QString("SELECT id,xid_conference,start,duration,xid_activity,type,language FROM event "));
+}