mirror of
https://gitlab.science.ru.nl/technicie/MarietjeDjango.git
synced 2025-12-09 20:52:20 +01:00
44 lines
2.1 KiB
Python
44 lines
2.1 KiB
Python
from django.test import TestCase
|
|
|
|
from announcements import models
|
|
from announcements.services import sanitize_closed_announcements, validate_closed_announcements
|
|
|
|
|
|
class OrderServicesTests(TestCase):
|
|
def test_sanitize_closed_announcements_none(self):
|
|
self.assertEquals([], sanitize_closed_announcements(None))
|
|
|
|
def test_sanitize_closed_announcements_non_string(self):
|
|
self.assertEquals([], sanitize_closed_announcements(5))
|
|
|
|
def test_sanitize_closed_announcements_non_json(self):
|
|
self.assertEquals([], sanitize_closed_announcements("this,is,not,json"))
|
|
|
|
def test_sanitize_closed_announcements_non_list(self):
|
|
self.assertEquals([], sanitize_closed_announcements("{}"))
|
|
|
|
def test_sanitize_closed_announcements_list_of_ints(self):
|
|
self.assertEquals([1, 8, 4], sanitize_closed_announcements("[1, 8, 4]"))
|
|
|
|
def test_sanitize_closed_announcements_list_of_different_types(self):
|
|
self.assertEquals(
|
|
[1, 8, 4], sanitize_closed_announcements('[1, "bla", 8, 4, 123.4, {"a": "b"}, ["This is also a list"]]')
|
|
)
|
|
|
|
def test_validate_closed_announcements_all_exist(self):
|
|
announcement_1 = models.Announcement.objects.create(title="Announcement 1", content="blablabla")
|
|
announcement_2 = models.Announcement.objects.create(title="Announcement 2", content="blablabla")
|
|
announcement_3 = models.Announcement.objects.create(title="Announcement 3", content="blablabla")
|
|
self.assertEqual(
|
|
{announcement_1.id, announcement_2.id, announcement_3.id}, set(validate_closed_announcements([1, 2, 3]))
|
|
)
|
|
|
|
def test_validate_closed_announcements_some_do_not_exist(self):
|
|
announcement_1 = models.Announcement.objects.create(title="Announcement 1", content="blablabla")
|
|
announcement_2 = models.Announcement.objects.create(title="Announcement 2", content="blablabla")
|
|
announcement_3 = models.Announcement.objects.create(title="Announcement 3", content="blablabla")
|
|
self.assertEqual(
|
|
{announcement_1.id, announcement_2.id, announcement_3.id},
|
|
set(validate_closed_announcements([1, 2, 3, 4, 5, 6])),
|
|
)
|