Skip to content

Commit a430ccb

Browse files
author
Marcos
committed
fix: Updated Learning Assistant History payload to return in asc order
1 parent 9153aa1 commit a430ccb

File tree

3 files changed

+23
-10
lines changed

3 files changed

+23
-10
lines changed

CHANGELOG.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Change Log
1313
1414
Unreleased
1515
**********
16+
* Updated Learning Assistant History payload to return in ascending order
1617

1718
4.4.4 - 2024-11-06
1819
******************

learning_assistant/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,6 @@ def get(self, request, course_run_id):
236236
user = request.user
237237

238238
message_count = int(request.GET.get('message_count', 50))
239-
message_history = get_message_history(courserun_key, user, message_count)
239+
message_history = reversed(list(get_message_history(courserun_key, user, message_count))) # Reversing order
240240
data = MessageSerializer(message_history, many=True).data
241241
return Response(status=http_status.HTTP_200_OK, data=data)

tests/test_views.py

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""
22
Tests for the learning assistant views.
33
"""
4+
import datetime
45
import json
56
import sys
67
from importlib import import_module
@@ -347,22 +348,33 @@ def test_learning_message_history_view_get(
347348
course_id=self.course_id,
348349
user=self.user,
349350
role='staff',
350-
content='Expected content of message',
351+
content='Older message',
352+
created=datetime.date(2024, 10, 1)
351353
)
352-
message_count = 1
354+
355+
LearningAssistantMessage.objects.create(
356+
course_id=self.course_id,
357+
user=self.user,
358+
role='staff',
359+
content='Newer message',
360+
created=datetime.date(2024, 10, 3)
361+
)
362+
363+
db_messages = LearningAssistantMessage.objects.all().order_by('created')
364+
db_messages_count = len(db_messages)
365+
353366
mock_get_course_id.return_value = self.course_id
354367
response = self.client.get(
355-
reverse('message-history', kwargs={'course_run_id': self.course_id})+f'?message_count={message_count}',
368+
reverse('message-history', kwargs={'course_run_id': self.course_id})+f'?message_count={db_messages_count}',
356369
content_type='application/json'
357370
)
358371
data = response.data
359372

360373
# Ensure same number of entries
361-
actual_message_count = LearningAssistantMessage.objects.count()
362-
self.assertEqual(len(data), actual_message_count)
374+
self.assertEqual(len(data), db_messages_count)
363375

364376
# Ensure values are as expected
365-
actual_message = LearningAssistantMessage.objects.get(course_id=self.course_id)
366-
self.assertEqual(data[0]['role'], actual_message.role)
367-
self.assertEqual(data[0]['content'], actual_message.content)
368-
self.assertEqual(data[0]['timestamp'], actual_message.created.isoformat())
377+
for i, expected in enumerate(db_messages):
378+
self.assertEqual(expected.role, data[i]['role'])
379+
self.assertEqual(expected.content, data[i]['content'])
380+
self.assertEqual(expected.created.isoformat(), data[i]['timestamp'])

0 commit comments

Comments
 (0)