| |
@@ -88,3 +88,73 @@
|
| |
|
| |
hub = hubs.models.Hub.get(self.session, username)
|
| |
self.assertIsNone(hub)
|
| |
+
|
| |
+ def test_visit_counter(self):
|
| |
+ username = 'ralph'
|
| |
+ hub = 'decause'
|
| |
+ # Make sure the table is empty of data
|
| |
+ vc = hubs.models.VisitCounter.get_visits_by_username_hub(
|
| |
+ session=self.session, username=username, visited_hub=hub)
|
| |
+ self.assertIsNone(vc)
|
| |
+
|
| |
+ # Insert a new counter row
|
| |
+ vc = hubs.models.VisitCounter.get_or_create(
|
| |
+ session=self.session, username=username, visited_hub=hub)
|
| |
+ # Make sure its init to 0
|
| |
+ self.assertEqual(vc.count, 0)
|
| |
+
|
| |
+ # Increment counter and make sure its 1
|
| |
+ hubs.models.VisitCounter.increment_visits(
|
| |
+ session=self.session, username=username, visited_hub=hub)
|
| |
+ self.assertEqual(vc.count, 1)
|
| |
+
|
| |
+ # Delete the counter make sure the hub/user is still arround
|
| |
+ vc = hubs.models.VisitCounter.get_or_create(
|
| |
+ session=self.session, username=username, visited_hub=hub)
|
| |
+ self.session.delete(vc)
|
| |
+ hub_obj = hubs.models.Hub.get(self.session, username)
|
| |
+ self.assertIsNotNone(hub_obj)
|
| |
+ user_obj = hubs.models.User.get(session=self.session,
|
| |
+ username=username)
|
| |
+ self.assertIsNotNone(user_obj)
|
| |
+
|
| |
+ # Delete hub and make sure the visit counter is 0
|
| |
+ vc = hubs.models.VisitCounter.get_visits_by_username_hub(
|
| |
+ session=self.session, username=username, visited_hub=hub)
|
| |
+ self.session.delete(hub_obj)
|
| |
+ self.assertIsNone(vc)
|
| |
+ user_obj = hubs.models.User.get(session=self.session,
|
| |
+ username=username)
|
| |
+ self.assertIsNotNone(user_obj)
|
| |
+
|
| |
+ def test_visit_counter_does_not_exist(self):
|
| |
+ username = 'ralph'
|
| |
+ hub = 'does-not-exist'
|
| |
+ self.assertRaises(ValueError,
|
| |
+ hubs.models.VisitCounter.get_or_create,
|
| |
+ session=self.session,
|
| |
+ username=username,
|
| |
+ visited_hub=hub)
|
| |
+
|
| |
+ username = 'does-not-exist'
|
| |
+ hub = 'ralph'
|
| |
+ # Make sure the table is empty of data
|
| |
+ self.assertRaises(ValueError,
|
| |
+ hubs.models.VisitCounter.get_or_create,
|
| |
+ session=self.session,
|
| |
+ username=username,
|
| |
+ visited_hub=hub)
|
| |
+
|
| |
+ username = 'does-not-exist'
|
| |
+ hub = 'does-not-exist'
|
| |
+ # Make sure the table is empty of data
|
| |
+ self.assertRaises(ValueError,
|
| |
+ hubs.models.VisitCounter.get_or_create,
|
| |
+ session=self.session,
|
| |
+ username=username,
|
| |
+ visited_hub=hub)
|
| |
+
|
| |
+
|
| |
+
|
| |
+
|
| |
+
|
| |
issue #185
Keep a counter of what hubs the user accessed so we can use it to suggest ordering bookmarks.