Changeset View
Changeset View
Standalone View
Standalone View
tests/querytest.cpp
Show First 20 Lines • Show All 1504 Lines • ▼ Show 20 Line(s) | 1399 | { | |||
---|---|---|---|---|---|
1505 | { | 1505 | { | ||
1506 | Sink::Query query; | 1506 | Sink::Query query; | ||
1507 | query.resourceFilter("sink.dummy.instance1"); | 1507 | query.resourceFilter("sink.dummy.instance1"); | ||
1508 | query.filter({}, Sink::QueryBase::Comparator(QString("The Sender"), Sink::QueryBase::Comparator::Fulltext)); | 1508 | query.filter({}, Sink::QueryBase::Comparator(QString("The Sender"), Sink::QueryBase::Comparator::Fulltext)); | ||
1509 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); | 1509 | QCOMPARE(Sink::Store::read<Mail>(query).size(), 1); | ||
1510 | } | 1510 | } | ||
1511 | } | 1511 | } | ||
1512 | 1512 | | |||
1513 | void mailsWithDates() | ||||
1514 | { | ||||
1515 | { | ||||
1516 | Mail mail("sink.dummy.instance1"); | ||||
1517 | mail.setExtractedDate(QDateTime::fromString("2018-05-23T13:49:41Z", Qt::ISODate)); | ||||
1518 | mail.setExtractedMessageId("message1"); | ||||
1519 | VERIFYEXEC(Sink::Store::create<Mail>(mail)); | ||||
1520 | } | ||||
1521 | { | ||||
1522 | Mail mail("sink.dummy.instance1"); | ||||
1523 | mail.setExtractedDate(QDateTime::fromString("2018-05-23T13:50:00Z", Qt::ISODate)); | ||||
1524 | mail.setExtractedMessageId("message2"); | ||||
1525 | VERIFYEXEC(Sink::Store::create<Mail>(mail)); | ||||
1526 | } | ||||
1527 | { | ||||
1528 | Mail mail("sink.dummy.instance1"); | ||||
1529 | mail.setExtractedDate(QDateTime::fromString("2018-05-27T13:50:00Z", Qt::ISODate)); | ||||
1530 | mail.setExtractedMessageId("message3"); | ||||
1531 | VERIFYEXEC(Sink::Store::create<Mail>(mail)); | ||||
1532 | } | ||||
1533 | { | ||||
1534 | Mail mail("sink.dummy.instance1"); | ||||
1535 | mail.setExtractedMessageId("message4"); | ||||
1536 | VERIFYEXEC(Sink::Store::create<Mail>(mail)); | ||||
1537 | } | ||||
1538 | { | ||||
1539 | Mail mail("sink.dummy.instance1"); | ||||
1540 | mail.setExtractedDate(QDateTime::fromString("2078-05-23T13:49:41Z", Qt::ISODate)); | ||||
1541 | mail.setExtractedMessageId("message5"); | ||||
1542 | VERIFYEXEC(Sink::Store::create<Mail>(mail)); | ||||
1543 | } | ||||
1544 | VERIFYEXEC(Sink::ResourceControl::flushMessageQueue("sink.dummy.instance1")); | ||||
1545 | } | ||||
1546 | | ||||
1547 | void testMailDate() | ||||
1548 | { | ||||
1549 | mailsWithDates(); | ||||
1550 | | ||||
1551 | { | ||||
1552 | Sink::Query query; | ||||
1553 | query.resourceFilter("sink.dummy.instance1"); | ||||
1554 | query.filter<Mail::Date>(QDateTime::fromString("2018-05-23T13:49:41Z", Qt::ISODate)); | ||||
1555 | auto model = Sink::Store::loadModel<Mail>(query); | ||||
1556 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); | ||||
1557 | QCOMPARE(model->rowCount(), 1); | ||||
1558 | } | ||||
1559 | | ||||
1560 | { | ||||
1561 | Sink::Query query; | ||||
1562 | query.resourceFilter("sink.dummy.instance1"); | ||||
1563 | query.filter<Mail::Date>(QDateTime::fromString("2018-05-27T13:49:41Z", Qt::ISODate)); | ||||
1564 | auto model = Sink::Store::loadModel<Mail>(query); | ||||
1565 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); | ||||
1566 | QCOMPARE(model->rowCount(), 0); | ||||
1567 | } | ||||
1568 | | ||||
1569 | { | ||||
1570 | Sink::Query query; | ||||
1571 | query.resourceFilter("sink.dummy.instance1"); | ||||
1572 | query.filter<Mail::Date>(QDateTime::fromString("2018-05-27T13:50:00Z", Qt::ISODate)); | ||||
1573 | auto model = Sink::Store::loadModel<Mail>(query); | ||||
1574 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); | ||||
1575 | QCOMPARE(model->rowCount(), 1); | ||||
1576 | } | ||||
1577 | | ||||
1578 | } | ||||
1579 | | ||||
1580 | void testMailRange() | ||||
1581 | { | ||||
1582 | mailsWithDates(); | ||||
1583 | | ||||
1584 | { | ||||
1585 | Sink::Query query; | ||||
1586 | query.resourceFilter("sink.dummy.instance1"); | ||||
1587 | query.filter<Mail::Date>(QueryBase::Comparator(QVariantList{QDateTime::fromString("2018-05-23T13:49:41Z", Qt::ISODate), QDateTime::fromString("2018-05-23T13:49:41Z", Qt::ISODate)}, QueryBase::Comparator::Within)); | ||||
1588 | auto model = Sink::Store::loadModel<Mail>(query); | ||||
1589 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); | ||||
1590 | QCOMPARE(model->rowCount(), 1); | ||||
1591 | } | ||||
1592 | | ||||
1593 | { | ||||
1594 | Sink::Query query; | ||||
1595 | query.resourceFilter("sink.dummy.instance1"); | ||||
1596 | query.filter<Mail::Date>(QueryBase::Comparator(QVariantList{QDateTime::fromString("2018-05-22T13:49:41Z", Qt::ISODate), QDateTime::fromString("2018-05-25T13:49:41Z", Qt::ISODate)}, QueryBase::Comparator::Within)); | ||||
1597 | auto model = Sink::Store::loadModel<Mail>(query); | ||||
1598 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); | ||||
1599 | QCOMPARE(model->rowCount(), 2); | ||||
1600 | } | ||||
1601 | | ||||
1602 | { | ||||
1603 | Sink::Query query; | ||||
1604 | query.resourceFilter("sink.dummy.instance1"); | ||||
1605 | query.filter<Mail::Date>(QueryBase::Comparator(QVariantList{QDateTime::fromString("2018-05-22T13:49:41Z", Qt::ISODate), QDateTime::fromString("2018-05-30T13:49:41Z", Qt::ISODate)}, QueryBase::Comparator::Within)); | ||||
1606 | auto model = Sink::Store::loadModel<Mail>(query); | ||||
1607 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); | ||||
1608 | QCOMPARE(model->rowCount(), 3); | ||||
1609 | } | ||||
1610 | | ||||
1611 | { | ||||
1612 | Sink::Query query; | ||||
1613 | query.resourceFilter("sink.dummy.instance1"); | ||||
1614 | query.filter<Mail::Date>(QueryBase::Comparator(QVariantList{QDateTime::fromString("2018-05-22T13:49:41Z", Qt::ISODate), QDateTime::fromString("2118-05-30T13:49:41Z", Qt::ISODate)}, QueryBase::Comparator::Within)); | ||||
1615 | auto model = Sink::Store::loadModel<Mail>(query); | ||||
1616 | QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); | ||||
1617 | QCOMPARE(model->rowCount(), 4); | ||||
1618 | } | ||||
1619 | } | ||||
1513 | }; | 1620 | }; | ||
1514 | 1621 | | |||
1515 | QTEST_MAIN(QueryTest) | 1622 | QTEST_MAIN(QueryTest) | ||
1516 | #include "querytest.moc" | 1623 | #include "querytest.moc" |