|
1 | 1 | """
|
2 | 2 | Tests for the learning assistant views.
|
3 | 3 | """
|
| 4 | +import datetime |
4 | 5 | import json
|
5 | 6 | import sys
|
6 | 7 | from importlib import import_module
|
@@ -347,22 +348,33 @@ def test_learning_message_history_view_get(
|
347 | 348 | course_id=self.course_id,
|
348 | 349 | user=self.user,
|
349 | 350 | role='staff',
|
350 |
| - content='Expected content of message', |
| 351 | + content='Older message', |
| 352 | + created=datetime.date(2024, 10, 1) |
351 | 353 | )
|
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 | + |
353 | 366 | mock_get_course_id.return_value = self.course_id
|
354 | 367 | 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}', |
356 | 369 | content_type='application/json'
|
357 | 370 | )
|
358 | 371 | data = response.data
|
359 | 372 |
|
360 | 373 | # 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) |
363 | 375 |
|
364 | 376 | # 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