UPDATE
This commit is contained in:
@@ -5,6 +5,7 @@ from rest_framework.test import APIRequestFactory, force_authenticate
|
||||
from farm_hub.models import FarmHub, FarmType
|
||||
|
||||
from .models import DeviceCatalog, SensorExternalRequestLog
|
||||
from .services import DeviceDataUnavailableError, build_device_anomaly_detection_card
|
||||
from .views import DeviceCommandView, DeviceDetailView, DeviceLatestPayloadView, DeviceSummaryView
|
||||
|
||||
|
||||
@@ -91,6 +92,27 @@ class DeviceHubGenericViewsTests(TestCase):
|
||||
self.assertIn("values_list", response.data["data"]["supportedWidgets"])
|
||||
self.assertIn("sensorValuesList", response.data["data"])
|
||||
|
||||
def test_device_summary_view_returns_validation_error_when_history_missing(self):
|
||||
SensorExternalRequestLog.objects.all().delete()
|
||||
request = self.factory.get(
|
||||
f"/api/device-hub/devices/{self.device.physical_device_uuid}/summary/",
|
||||
{"device_code": self.catalog.code},
|
||||
)
|
||||
force_authenticate(request, user=self.user)
|
||||
|
||||
response = DeviceSummaryView.as_view()(request, physical_device_uuid=self.device.physical_device_uuid)
|
||||
|
||||
self.assertEqual(response.status_code, 400)
|
||||
self.assertIn("no device history found", response.data["device_code"][0].lower())
|
||||
|
||||
def test_build_device_anomaly_detection_card_returns_explicit_empty_success(self):
|
||||
payload = build_device_anomaly_detection_card(self.device)
|
||||
|
||||
self.assertEqual(payload["status"], "success")
|
||||
self.assertEqual(payload["source"], "db")
|
||||
self.assertEqual(payload["anomalies"], [])
|
||||
self.assertTrue(payload["warnings"])
|
||||
|
||||
def test_input_only_device_command_view_rejects_input_only_device_code(self):
|
||||
input_catalog = DeviceCatalog.objects.create(
|
||||
code="valve_v1",
|
||||
|
||||
Reference in New Issue
Block a user