Skip to content

Commit d3a1fa6

Browse files
authored
Merge pull request #604 from praekeltfoundation/capi-backend-changes
Fix update_whatsapp_template_send_status task
2 parents 60df929 + 5631963 commit d3a1fa6

File tree

2 files changed

+37
-2
lines changed

2 files changed

+37
-2
lines changed

eventstore/tasks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,7 @@ def get_engage_inbound_and_reply(wa_contact_id, message_id):
827827
}
828828

829829

830-
@app.task(acks_late=True, soft_time_limit=10, time_limit=15, bind=True)
830+
@app.task(acks_late=True, soft_time_limit=10, time_limit=15)
831831
def update_whatsapp_template_send_status(message_id, preferred_channel=None):
832832
try:
833833
status = WhatsAppTemplateSendStatus.objects.get(

eventstore/tests/test_tasks.py

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,13 @@
88
from temba_client.v2 import TembaClient
99

1010
from eventstore import tasks
11-
from eventstore.models import Covid19Triage, ImportError, ImportRow, MomConnectImport
11+
from eventstore.models import (
12+
Covid19Triage,
13+
ImportError,
14+
ImportRow,
15+
MomConnectImport,
16+
WhatsAppTemplateSendStatus,
17+
)
1218
from ndoh_hub import utils
1319
from registrations.models import ClinicCode
1420

@@ -917,3 +923,32 @@ def test_send_slack_message(self):
917923
response = utils.send_slack_message("test-mom", str(self.contact_details))
918924

919925
self.assertEqual(response, True)
926+
927+
928+
class UpdateWhatsappTemplateSendStatus(TestCase):
929+
def setUp(self):
930+
self.status = WhatsAppTemplateSendStatus.objects.create(
931+
message_id="test-message-id"
932+
)
933+
934+
def test_update_status_whatsapp(self):
935+
tasks.update_whatsapp_template_send_status.delay(self.status.message_id)
936+
937+
self.status.refresh_from_db()
938+
939+
self.assertEqual(
940+
self.status.status, WhatsAppTemplateSendStatus.Status.EVENT_RECEIVED
941+
)
942+
self.assertEqual(self.status.preferred_channel, "WhatsApp")
943+
self.assertIsNotNone(self.status.event_received_at)
944+
945+
def test_update_status_sms(self):
946+
tasks.update_whatsapp_template_send_status.delay(self.status.message_id, "SMS")
947+
948+
self.status.refresh_from_db()
949+
950+
self.assertEqual(
951+
self.status.status, WhatsAppTemplateSendStatus.Status.EVENT_RECEIVED
952+
)
953+
self.assertEqual(self.status.preferred_channel, "SMS")
954+
self.assertIsNotNone(self.status.event_received_at)

0 commit comments

Comments
 (0)