Пример #1
0
    def test_message_sent_to_next_item(self, reply_class, bot_class):
        next_queue_item(self.request, self.banner.id)

        bot_class().send_message.assert_called_once_with(
            self.queue_item1.telegram_chat_id,
            'Your turn',
            reply_markup=reply_class())
Пример #2
0
    def test_moves_to_past_queue_element_if_it_has_processing_status(
            self, twilio_client_class):
        self.queue_item1 = QueueItemProcessingFactory(banner=self.banner)
        self.queue_item1.save()

        next_queue_item(self.request, self.banner.id)
        self.queue_item1.refresh_from_db()

        self.assertTrue(self.queue_item1.past)
Пример #3
0
    def test_sms_sent_to_next_item(self, twilio_client_class):
        next_queue_item(self.request, self.banner.id)

        self.assertTrue(twilio_client_class.create.called)
        self.assertEqual(twilio_client_class.create.call_args[1]['from_'],
                         self.banner.phone_number)
        self.assertEqual(twilio_client_class.create.call_args[1]['to'],
                         self.queue_item1.phone_number)
        self.assertEqual(twilio_client_class.create.call_args[1]['body'],
                         'Your turn')
Пример #4
0
    def test_returns_queue_redirect(self, twilio_client_class):
        response = next_queue_item(self.request, self.banner.id)
        response.client = Client()

        self.assertRedirects(response,
                             reverse('banners:queue',
                                     kwargs={'banner_id': self.banner.id}),
                             target_status_code=302)
Пример #5
0
    def test_banner_telegram_object_deleted(self, bot_class):
        next_queue_item(self.request, self.banner.id)

        self.assertFalse(
            BannerTelegram.objects.filter(
                banner=self.banner, chat_id=self.queue_item1.telegram_chat_id))
Пример #6
0
    def test_next_item_status_changed(self, twilio_client_class):
        next_queue_item(self.request, self.banner.id)

        self.queue_item1.refresh_from_db()
        self.assertEqual(self.queue_item1.status, QueueItemStatus.PROCESSING)