def test_user_subscriptions(): seed_user = User.get() subscription = Subscription.get() # Query checking if the subscription is in the user. count_query = (UserSubscription.select() .where(UserSubscription.user == seed_user, UserSubscription.subscription == subscription)) # Unsubscribe first (regardless of subscription). seed_user.unsubscribe(subscription) assert count_query.count() == 0 assert subscription.num_subscribers() == 0 # Resubscribe. seed_user.subscribe(subscription) assert count_query.count() == 1 assert subscription.num_subscribers() == 1 # Resubscribe again. seed_user.subscribe(subscription) assert count_query.count() == 1 assert subscription.num_subscribers() == 1 # Unsubscribe again. seed_user.unsubscribe(subscription) assert count_query.count() == 0 assert subscription.num_subscribers() == 0
def num_subscribers(self): from models.user import UserSubscription return (UserSubscription.select() .where(UserSubscription.subscription == self) .count())