testcapabilities.cpp 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. #include <QTest>
  2. #include "capabilities.h"
  3. class TestCapabilities : public QObject
  4. {
  5. Q_OBJECT
  6. private slots:
  7. void testPushNotificationsAvailable_pushNotificationsForActivitiesAvailable_returnTrue()
  8. {
  9. QStringList typeList;
  10. typeList.append("activities");
  11. QVariantMap notifyPushMap;
  12. notifyPushMap["type"] = typeList;
  13. QVariantMap capabilitiesMap;
  14. capabilitiesMap["notify_push"] = notifyPushMap;
  15. const auto &capabilities = OCC::Capabilities(capabilitiesMap);
  16. const auto activitiesPushNotificationsAvailable = capabilities.availablePushNotifications().testFlag(OCC::PushNotificationType::Activities);
  17. QCOMPARE(activitiesPushNotificationsAvailable, true);
  18. }
  19. void testPushNotificationsAvailable_pushNotificationsForActivitiesNotAvailable_returnFalse()
  20. {
  21. QStringList typeList;
  22. typeList.append("noactivities");
  23. QVariantMap notifyPushMap;
  24. notifyPushMap["type"] = typeList;
  25. QVariantMap capabilitiesMap;
  26. capabilitiesMap["notify_push"] = notifyPushMap;
  27. const auto &capabilities = OCC::Capabilities(capabilitiesMap);
  28. const auto activitiesPushNotificationsAvailable = capabilities.availablePushNotifications().testFlag(OCC::PushNotificationType::Activities);
  29. QCOMPARE(activitiesPushNotificationsAvailable, false);
  30. }
  31. void testPushNotificationsAvailable_pushNotificationsForFilesAvailable_returnTrue()
  32. {
  33. QStringList typeList;
  34. typeList.append("files");
  35. QVariantMap notifyPushMap;
  36. notifyPushMap["type"] = typeList;
  37. QVariantMap capabilitiesMap;
  38. capabilitiesMap["notify_push"] = notifyPushMap;
  39. const auto &capabilities = OCC::Capabilities(capabilitiesMap);
  40. const auto filesPushNotificationsAvailable = capabilities.availablePushNotifications().testFlag(OCC::PushNotificationType::Files);
  41. QCOMPARE(filesPushNotificationsAvailable, true);
  42. }
  43. void testPushNotificationsAvailable_pushNotificationsForFilesNotAvailable_returnFalse()
  44. {
  45. QStringList typeList;
  46. typeList.append("nofiles");
  47. QVariantMap notifyPushMap;
  48. notifyPushMap["type"] = typeList;
  49. QVariantMap capabilitiesMap;
  50. capabilitiesMap["notify_push"] = notifyPushMap;
  51. const auto &capabilities = OCC::Capabilities(capabilitiesMap);
  52. const auto filesPushNotificationsAvailable = capabilities.availablePushNotifications().testFlag(OCC::PushNotificationType::Files);
  53. QCOMPARE(filesPushNotificationsAvailable, false);
  54. }
  55. void testPushNotificationsAvailable_pushNotificationsForNotificationsAvailable_returnTrue()
  56. {
  57. QStringList typeList;
  58. typeList.append("notifications");
  59. QVariantMap notifyPushMap;
  60. notifyPushMap["type"] = typeList;
  61. QVariantMap capabilitiesMap;
  62. capabilitiesMap["notify_push"] = notifyPushMap;
  63. const auto &capabilities = OCC::Capabilities(capabilitiesMap);
  64. const auto notificationsPushNotificationsAvailable = capabilities.availablePushNotifications().testFlag(OCC::PushNotificationType::Notifications);
  65. QCOMPARE(notificationsPushNotificationsAvailable, true);
  66. }
  67. void testPushNotificationsAvailable_pushNotificationsForNotificationsNotAvailable_returnFalse()
  68. {
  69. QStringList typeList;
  70. typeList.append("nonotifications");
  71. QVariantMap notifyPushMap;
  72. notifyPushMap["type"] = typeList;
  73. QVariantMap capabilitiesMap;
  74. capabilitiesMap["notify_push"] = notifyPushMap;
  75. const auto &capabilities = OCC::Capabilities(capabilitiesMap);
  76. const auto notificationsPushNotificationsAvailable = capabilities.availablePushNotifications().testFlag(OCC::PushNotificationType::Notifications);
  77. QCOMPARE(notificationsPushNotificationsAvailable, false);
  78. }
  79. void testPushNotificationsAvailable_pushNotificationsNotAvailable_returnFalse()
  80. {
  81. const auto &capabilities = OCC::Capabilities(QVariantMap());
  82. const auto activitiesPushNotificationsAvailable = capabilities.availablePushNotifications().testFlag(OCC::PushNotificationType::Activities);
  83. const auto filesPushNotificationsAvailable = capabilities.availablePushNotifications().testFlag(OCC::PushNotificationType::Files);
  84. const auto notificationsPushNotificationsAvailable = capabilities.availablePushNotifications().testFlag(OCC::PushNotificationType::Notifications);
  85. QCOMPARE(activitiesPushNotificationsAvailable, false);
  86. QCOMPARE(filesPushNotificationsAvailable, false);
  87. QCOMPARE(notificationsPushNotificationsAvailable, false);
  88. }
  89. void testPushNotificationsWebSocketUrl_urlAvailable_returnUrl()
  90. {
  91. QString websocketUrl("testurl");
  92. QVariantMap endpointsMap;
  93. endpointsMap["websocket"] = websocketUrl;
  94. QVariantMap notifyPushMap;
  95. notifyPushMap["endpoints"] = endpointsMap;
  96. QVariantMap capabilitiesMap;
  97. capabilitiesMap["notify_push"] = notifyPushMap;
  98. const auto &capabilities = OCC::Capabilities(capabilitiesMap);
  99. QCOMPARE(capabilities.pushNotificationsWebSocketUrl(), websocketUrl);
  100. }
  101. };
  102. QTEST_GUILESS_MAIN(TestCapabilities)
  103. #include "testcapabilities.moc"