52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
# DRF Rack
|
|
# Библиотека классов расширений для Django REST Framework
|
|
#
|
|
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
|
|
# Все права защищены. Лицензия: MIT
|
|
|
|
"""
|
|
Описание класса BoolResponseTests
|
|
"""
|
|
|
|
from django.test import SimpleTestCase
|
|
from rest_framework import status
|
|
|
|
from net.xeaf.rack.models.responses import BoolResponse
|
|
|
|
|
|
class BoolResponseTests(SimpleTestCase):
|
|
"""
|
|
Тесты для класса BoolResponse
|
|
"""
|
|
|
|
def test_init_with_true_value(self):
|
|
"""
|
|
Проверяет корректное создание ответа со значением True
|
|
"""
|
|
|
|
test_meta = {"action": "verify"}
|
|
|
|
response = BoolResponse(value=True, meta=test_meta)
|
|
|
|
# Проверяем заголовки и статус
|
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
|
self.assertEqual(response.data["status"], status.HTTP_200_OK)
|
|
|
|
# Булево значение должно лежать в ключе "data", так как код 200 (< 400)
|
|
self.assertIs(response.data["data"], True)
|
|
self.assertEqual(response.data["meta"], test_meta)
|
|
|
|
def test_init_with_false_value(self):
|
|
"""
|
|
Проверяет корректное создание ответа со значением False
|
|
"""
|
|
|
|
response = BoolResponse(value=False)
|
|
|
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
|
self.assertEqual(response.data["status"], status.HTTP_200_OK)
|
|
|
|
# Проверяем, что False не интерпретируется как отсутствие данных
|
|
self.assertIs(response.data["data"], False)
|
|
|