void Ut_NotificationManager::testAddMissedCallNotification() { CommHistory::Event event = createMissedCallEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); // One notification from contact 1 NotificationManager* nm = NotificationManager::instance(); nm->addNotification(createPersonalNotification(event)); NotificationGroup group = nm->notificationGroup(event.type()); QVERIFY(nm->countNotifications(group) == 1); QVERIFY(nm->countContacts(group) == 1); QVERIFY(nm->removeNotificationGroup(event.type())); QVERIFY(nm->countNotifications(group) == 0); QVERIFY(nm->countContacts(group) == 0); // Multiple notifications from contact 1 CommHistory::Event event1 = createMissedCallEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); CommHistory::Event event2 = createMissedCallEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); nm->addNotification(createPersonalNotification(event1)); nm->addNotification(createPersonalNotification(event2)); QVERIFY(nm->countNotifications(group) == 2); QVERIFY(nm->countContacts(group) == 1); QVERIFY(nm->removeNotificationGroup(event1.type())); QVERIFY(nm->countNotifications(group) == 0); QVERIFY(nm->countContacts(group) == 0); }
void Ut_NotificationManager::testMissedCallNotification() { CommHistory::Event event = createMissedCallEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); // One notification from contact 1 NotificationManager* nm = NotificationManager::instance(); nm->m_NotificationTimer.stop(); nm->removeNotificationGroup(event.type()); removeGroup(event.type()); QVERIFY(getGroup(event.type(), 10) == 0); nm->showNotification(event, CONTACT_1_REMOTE_ID); waitForCompletion(nm); MNotificationGroup *mgtGroup = getGroup(event.type(), 5000); QVERIFY(mgtGroup); QVERIFY(mgtGroup->isPublished()); QVERIFY(mgtGroup->summary().contains(CONTACT_1_REMOTE_ID)); QCOMPARE(mgtGroup->body(), txt_qtn_call_missed(1)); NotificationGroup group = nm->notificationGroup(event.type()); QVERIFY(nm->countContacts(group) == 1); QVERIFY(nm->countNotifications(group) == 1); waitForCompletion(nm); // Multiple notifications from contact 1 CommHistory::Event event1 = createMissedCallEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); nm->showNotification(event1, CONTACT_1_REMOTE_ID); waitForCompletion(nm); mgtGroup = getGroup(event.type(), 5000); QVERIFY(mgtGroup); QVERIFY(mgtGroup->isPublished()); QVERIFY(mgtGroup->summary().contains(CONTACT_1_REMOTE_ID)); QCOMPARE(mgtGroup->body(), txt_qtn_call_missed(2)); QVERIFY(nm->countContacts(group) == 1); QVERIFY(nm->countNotifications(group) == 2); waitForCompletion(nm); CommHistory::Event event2 = createMissedCallEvent(CONTACT_2_REMOTE_ID, internalId(contact2)); nm->showNotification(event2, CONTACT_2_REMOTE_ID); waitForCompletion(nm); //wait for contact resolving mgtGroup = getGroup(event.type(), 5000); QVERIFY(mgtGroup); QVERIFY(mgtGroup->isPublished()); QVERIFY(mgtGroup->summary().contains(CONTACT_1_REMOTE_ID)); QVERIFY(mgtGroup->summary().contains(CONTACT_2_REMOTE_ID)); QCOMPARE(mgtGroup->body(), txt_qtn_call_missed(3)); QVERIFY(nm->countContacts(group) == 2); QVERIFY(nm->countNotifications(group) == 3); }
void Ut_NotificationManager::testSaveAndLoadNotificationState() { NotificationManager* nm = NotificationManager::instance(); CommHistory::Event event1 = createImEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); CommHistory::Event event2 = createImEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); CommHistory::Event event3 = createImEvent(CONTACT_2_REMOTE_ID, internalId(contact2)); CommHistory::Event event4 = createImEvent(CONTACT_2_REMOTE_ID, internalId(contact2)); nm->addNotification(createPersonalNotification(event1)); nm->addNotification(createPersonalNotification(event2)); nm->addNotification(createPersonalNotification(event3)); nm->addNotification(createPersonalNotification(event4)); nm->saveState(); nm->m_Notifications.clear(); nm->loadState(); NotificationGroup group = nm->notificationGroup(event1.type()); QVERIFY(nm->countContacts(group) == 2); QVERIFY(nm->countNotifications(group) == 4); QVERIFY(nm->removeNotificationGroup(event1.type())); QVERIFY(nm->countContacts(group) == 0); QVERIFY(nm->countNotifications(group) == 0); nm->saveState(); nm->m_Notifications.clear(); nm->loadState(); QVERIFY(nm->m_Notifications.count() == 0); }
void Ut_NotificationManager::testVoicemail() { // One notification from contact 1 NotificationManager* nm = NotificationManager::instance(); nm->m_NotificationTimer.stop(); nm->removeNotificationGroup(CommHistory::Event::VoicemailEvent); removeGroup(CommHistory::Event::VoicemailEvent); QVERIFY(getGroup(CommHistory::Event::VoicemailEvent, 10) == 0); nm->slotMWICountChanged(1); waitForCompletion(nm); MNotificationGroup *mgtGroup = getGroup(CommHistory::Event::VoicemailEvent, 5000); QVERIFY(mgtGroup); QVERIFY(mgtGroup->isPublished()); QVERIFY(mgtGroup->summary().isEmpty()); QCOMPARE(mgtGroup->body(), txt_qtn_call_voicemail_notification(1)); waitForCompletion(nm); nm->slotMWICountChanged(2); waitForCompletion(nm); mgtGroup = getGroup(CommHistory::Event::VoicemailEvent, 5000); QVERIFY(mgtGroup); QVERIFY(mgtGroup->isPublished()); QVERIFY(mgtGroup->summary().isEmpty()); QCOMPARE(mgtGroup->body(), txt_qtn_call_voicemail_notification(2)); waitForCompletion(nm); nm->slotMWICountChanged(-1); // unknown number waitForCompletion(nm); mgtGroup = getGroup(CommHistory::Event::VoicemailEvent, 5000); QVERIFY(mgtGroup); QVERIFY(mgtGroup->isPublished()); QVERIFY(mgtGroup->summary().isEmpty()); QCOMPARE(mgtGroup->body(), txt_qtn_call_voicemail_notification(1)); waitForCompletion(nm); nm->slotMWICountChanged(0); waitForCompletion(nm); mgtGroup = getGroup(CommHistory::Event::VoicemailEvent, 1); QVERIFY(mgtGroup == 0); }
void Ut_NotificationManager::testRemoveNotificationGrouop() { NotificationManager* nm = NotificationManager::instance(); // One IM notification from contact 1 CommHistory::Event event = createImEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); nm->addNotification(createPersonalNotification(event)); // 1st time to remove NotificationGroup, return true QVERIFY(nm->removeNotificationGroup(event.type())); // 2nd time to remove the same NotificationGroup, return false QVERIFY(!nm->removeNotificationGroup(event.type())); //Mutile IM notifications from contact 1 CommHistory::Event event1 = createMissedCallEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); CommHistory::Event event2 = createMissedCallEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); nm->addNotification(createPersonalNotification(event1)); nm->addNotification(createPersonalNotification(event2)); // 1st time to remove NotificationGroup, return true QVERIFY(nm->removeNotificationGroup(event1.type())); // 2nd time to remove the same NotificationGroup, return false QVERIFY(!nm->removeNotificationGroup(event1.type())); }
void Ut_NotificationManager::testAddGroupImNotification() { NotificationManager* nm = NotificationManager::instance(); CommHistory::Event event1 = createImEvent(CONTACT_1_REMOTE_ID, internalId(contact1)); CommHistory::Event event2 = createImEvent(CONTACT_2_REMOTE_ID, internalId(contact2)); nm->addNotification(createPersonalNotification(event1)); nm->addNotification(createPersonalNotification(event2)); NotificationGroup group = nm->notificationGroup(event1.type()); QVERIFY(nm->countContacts(group) == 2); QVERIFY(nm->countNotifications(group) == 2); QVERIFY(nm->removeNotificationGroup(event1.type())); QVERIFY(nm->countContacts(group) == 0); QVERIFY(nm->countNotifications(group) == 0); }