def test_update_valid_groups(self): model = ContentType.objects.get_for_model(Poll) items = ActionItem.objects.filter(content_type=model) ok_(not items.exists()) council = Group.objects.get(name='Council') reps = Group.objects.get(name='Rep') UserFactory.create_batch(3, groups=['Council']) UserFactory.create_batch(4, groups=['Rep']) start = now() - timedelta(hours=3) poll = PollFactory.create(valid_groups=council, start=start) create_poll_action_items() poll.valid_groups = reps poll.save() items = ActionItem.objects.filter(content_type=model, object_id=poll.id) eq_(items.count(), 4) for user in reps.user_set.all(): ok_(items.filter(user=user).exists()) for user in council.user_set.all(): ok_(not items.filter(user=user).exists())
def test_budget_vote_action_item(self): model = ContentType.objects.get_for_model(Poll) items = ActionItem.objects.filter(content_type=model) ok_(not items.exists()) council = Group.objects.get(name='Council') user = UserFactory.create(groups=['Council']) bug = BugFactory.create() start = now() - timedelta(hours=3) poll = PollFactory.create(valid_groups=council, automated_poll=True, bug=bug, start=start) create_poll_action_items() items = ActionItem.objects.filter(content_type=model, object_id=poll.id) eq_(items.count(), 1) for item in items: eq_(item.name, 'Cast your vote for budget request ' + poll.bug.summary) eq_(item.user, user) ok_(item.priority, ActionItem.NORMAL) ok_(not item.completed)
def test_future_vote_action_item(self): model = ContentType.objects.get_for_model(Poll) items = ActionItem.objects.filter(content_type=model) ok_(not items.exists()) council = Group.objects.get(name='Council') start = now() + timedelta(hours=3) PollFactory.create(valid_groups=council, start=start) create_poll_action_items() items = ActionItem.objects.filter(content_type=model) eq_(items.count(), 0)
def test_update_vote_due_date(self): model = ContentType.objects.get_for_model(Poll) items = ActionItem.objects.filter(content_type=model) ok_(not items.exists()) council = Group.objects.get(name='Council') UserFactory.create(groups=['Council']) start = now() - timedelta(hours=3) poll = PollFactory.create(valid_groups=council, start=start) create_poll_action_items() poll.end = poll.end + timedelta(days=4) poll.save() items = ActionItem.objects.filter(content_type=model, object_id=poll.id) eq_(items.count(), 1) for item in items: eq_(item.due_date, poll.end.date())
def test_resolve_vote_action_item(self): model = ContentType.objects.get_for_model(Poll) items = ActionItem.objects.filter(content_type=model) ok_(not items.exists()) council = Group.objects.get(name='Council') user = UserFactory.create(groups=['Council']) start = now() - timedelta(hours=3) poll = PollFactory.create(valid_groups=council, start=start) create_poll_action_items() VoteFactory.create(poll=poll, user=user) items = ActionItem.objects.filter(content_type=model, object_id=poll.id) eq_(items.count(), 1) for item in items: ok_(item.completed) ok_(item.resolved)