def test_send_message_all(self):
        subject = 'I want him dead!'
        body = 'The Imp, that is. Incase you were wondering.'

        t0 = timezone.now()
        message = Message.send_message_all(sender=self.users['Cersei'],
                                           subject=subject,
                                           body=body)

        # check the Message itself
        self.assertIsInstance(message, Message)
        self.assertEqual(self.users['Cersei'].id, message.user.id)
        self.assertFalse(message.is_notification)
        self.assertEqual('', message.url)
        self.assertEqual(subject, message.subject)
        self.assertEqual(body, message.body)
        self.assertGreaterEqual(message.sent, t0)
        self.assertTrue(message.target_all)

        # check there's a MessageItem for each recipient
        message_item = MessageItem.objects.filter(
            message=message, read=None,
            deleted=None).order_by('user__first_name')
        self.assertEqual(len(self.users), message_item.count())

        # check there's no MessageTargetUser, MessageTargetCourse, MessageTargetGroup
        self.assertEqual(0, MessageTargetUser.objects.all().count())
        self.assertEqual(0, MessageTargetCourse.objects.all().count())
        self.assertEqual(0, MessageTargetGroup.objects.all().count())