Skip to content

Commit f17e64e

Browse files
committed
Update index to return content and display data
1 parent 0e4cb80 commit f17e64e

File tree

5 files changed

+41
-9
lines changed

5 files changed

+41
-9
lines changed

PROCESS.md

+3
Original file line numberDiff line numberDiff line change
@@ -153,5 +153,8 @@ Now we create a database called Messages
153153

154154
Then create a unit test to create that model
155155

156+
Then our view can now accept request with csrf_exempt
156157

157158

159+
Then we show the data in browser using table.
160+

functional_test.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,11 @@ def test_can_view_the_page(self):
9898
# 09152087801 Elpedio Adoptante
9999
self.browser.refresh()
100100
table_replies = self.browser.find_element_by_id("id_table_replies")
101-
rows = table_replies.find_element_by_tag_name("tr")
101+
rows = table_replies.find_elements_by_tag_name("tr")
102102
self.assertTrue(
103-
any(row.text == "09152087801 JayR" for row in rows)
103+
any("0945983495439" in row.text for row in rows)
104104
)
105105

106-
107106
# He is now happy and closes the browser.
108107

109108

sms_survey/engagement/templates/index.html

+7-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@
55
<a href="/send_sms/" id="id_send_sms_page">Want to send SMS, click here!</a>
66

77
<table id="id_table_replies">
8-
<tr></tr>
8+
<tr></tr>
9+
{% for message in messages %}
10+
<tr>
11+
<td>{{ message.mobile_number }}</td>
12+
<td>{{ message.message }}</td>
13+
</tr>
14+
{% endfor %}
915
</table>
1016

1117
</body>

sms_survey/engagement/tests.py

+20-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,17 @@ def test_index_return_correct_html(self):
1616
self.assertTrue(html.strip().endswith('</html>'))
1717

1818
self.assertTemplateUsed(response, 'index.html')
19+
20+
21+
def test_should_return_content_data(self):
22+
Messages.objects.create(
23+
id=1,
24+
mobile_number="9847543895",
25+
message="This is a message",
26+
)
27+
response = self.client.get("/")
28+
html = response.content.decode('utf8')
29+
self.assertIn("This is a message", html)
1930

2031

2132
class SendSMSPageTest(TestCase):
@@ -71,4 +82,12 @@ def test_should_return_200(self):
7182
})
7283
self.assertEqual(response.status_code, 200)
7384

74-
85+
def test_it_should_save_to_database(self):
86+
# it should save to database
87+
self.client.post("/chikka_receiver/", data={
88+
"mobile_number": "0945983495439",
89+
"message": "Elpedio Adoptante"
90+
})
91+
m = Messages.objects.all()
92+
self.assertTrue(len(m) > 0)
93+
self.assertEqual(m[0].mobile_number, '0945983495439')

sms_survey/engagement/views.py

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import requests
2+
from django.http import HttpResponse
23
from django.shortcuts import render, redirect
3-
# from .models import Messages
4+
from django.views.decorators.csrf import csrf_exempt
5+
from .models import Messages
46

57
# Create your views here.
68
def index(request):
7-
return render(request, 'index.html')
9+
return render(request, 'index.html', {"messages": Messages.objects.all()})
810

911

1012
def send_sms(request):
@@ -18,11 +20,14 @@ def send_sms(request):
1820
return render(request, 'send_sms.html')
1921

2022

23+
@csrf_exempt
2124
def chikka_receiver(request):
22-
from django.http import HttpResponse
25+
Messages.objects.create(
26+
mobile_number=request.POST.get('mobile_number'),
27+
message=request.POST.get('message')
28+
)
2329
return HttpResponse({"message": "Success"})
2430

2531

2632
def chikka_proxy(request):
27-
from django.http import HttpResponse
2833
return HttpResponse({"message": "Success"})

0 commit comments

Comments
 (0)