def test_unwatch(self): w = CQDEWatchlistStore() w.watch_project(32, 23, "immediate") w.watch_project(34, 23, "daily") w.unwatch_project(32, 23) watchlist = w.get_projects_by_user(32) self.assertTrue(len(watchlist) == 0) watchlist = w.get_projects_by_user(34) self.assertTrue(len(watchlist) == 1) watchlist = w.get_watchers_by_project(23) self.assertTrue(len(watchlist) == 1) self.assertFalse(w.is_watching(32, 23))
def test_unwatch(self): w = CQDEWatchlistStore() w.watch_project(32, 23, "immediate") w.watch_project(34, 23, "daily") w.unwatch_project(32, 23) watchlist = w.get_projects_by_user(32) self.assertTrue(len(watchlist) == 0) watchlist = w.get_projects_by_user(34) self.assertTrue(len(watchlist) == 1) watchlist = w.get_watchers_by_project(23) self.assertTrue(len(watchlist) == 1) self.assertFalse(w.is_watching(32, 23))
def test_watch(self): w = CQDEWatchlistStore() self.assertTrue(w) w.watch_project(32, 23) w.watch_project(34, 23, "daily") watchlist = w.get_projects_by_user(32) self.assertTrue(len(watchlist) == 1) self.assertTrue(watchlist[0].user_id == 32) self.assertTrue(watchlist[0].project_id == 23) self.assertTrue(watchlist[0].notification == "immediate") watchlist = w.get_watchers_by_project(23) self.assertTrue(len(watchlist) == 2) self.assertTrue(w.is_watching(32, 23)) self.assertTrue(w.is_watching(34, 23))
def test_watch(self): w = CQDEWatchlistStore() self.assertTrue(w) w.watch_project(32, 23) w.watch_project(34, 23, "daily") watchlist = w.get_projects_by_user(32) self.assertTrue(len(watchlist) == 1) self.assertTrue(watchlist[0].user_id == 32) self.assertTrue(watchlist[0].project_id == 23) self.assertTrue(watchlist[0].notification == "immediate") watchlist = w.get_watchers_by_project(23) self.assertTrue(len(watchlist) == 2) self.assertTrue(w.is_watching(32, 23)) self.assertTrue(w.is_watching(34, 23))
def render_preference_panel(self, req, panel): if req.authname == 'anonymous': raise TracError("Can't change preferences!", "No access!") if req.method == 'POST': self.save_watchlist(req) watchlist = [] projects = {} user = get_userstore().getUser(req.authname) w = CQDEWatchlistStore() if user: watchlist = w.get_projects_by_user(user.id) # TODO: inefficient querying for watch in watchlist: projects[watch.project_id] = Project.get(id=watch.project_id) return 'multiproject_user_prefs_watchlist.html', { 'watchlist': watchlist, 'projects' : projects, 'notification_values': w.notifications }