def test_newcomer_becomes_editor(self): editor = UserFactory() newcomer = UserFactory() group = GroupFactory(members=[editor], newcomers=[newcomer]) two_days_ago = timezone.now() - relativedelta(days=2) GroupMembership.objects.filter(group=group).update(created_at=two_days_ago) mail.outbox = [] membership = GroupMembership.objects.get(user=newcomer, group=group) Trust.objects.create(membership=membership, given_by=editor) self.assertTrue(group.is_editor(newcomer)) self.assertEqual(len(mail.outbox), 1) self.assertIn('You gained editing permissions', mail.outbox[0].subject) self.assertEqual(History.objects.filter(typus=HistoryTypus.MEMBER_BECAME_EDITOR).count(), 1)
def test_editor_loses_editor_role(self): editor1 = UserFactory() editor2 = UserFactory() group = GroupFactory(members=[editor1, editor2], newcomers=[]) two_days_ago = timezone.now() - relativedelta(days=2) GroupMembership.objects.filter(group=group).update( created_at=two_days_ago) membership = GroupMembership.objects.get(user=editor1, group=group) trust = Trust.objects.create(membership=membership, given_by=editor2) mail.outbox = [] trust.delete() self.assertFalse(group.is_editor(editor1)) self.assertEqual(len(mail.outbox), 1) self.assertIn('You lost editing permissions', mail.outbox[0].subject) self.assertEqual( History.objects.filter( typus=HistoryTypus.USER_LOST_EDITOR_ROLE).count(), 1)