UPDATE
This commit is contained in:
@@ -7,7 +7,12 @@ from rest_framework.test import APIClient
|
||||
|
||||
from location_data.models import SoilDepthData, SoilLocation
|
||||
from farm_data.models import PlantCatalogSnapshot, SensorData, SensorParameter
|
||||
from farm_data.services import assign_farm_plants_from_backend_ids
|
||||
from farm_data.services import (
|
||||
assign_farm_plants_from_backend_ids,
|
||||
get_canonical_farm_record,
|
||||
get_runtime_plant_for_farm,
|
||||
list_runtime_plants_for_farm,
|
||||
)
|
||||
from irrigation.models import IrrigationMethod
|
||||
from weather.models import WeatherForecast
|
||||
|
||||
@@ -77,6 +82,25 @@ class FarmDetailApiTests(TestCase):
|
||||
)
|
||||
assign_farm_plants_from_backend_ids(self.farm, [self.plant2.backend_plant_id, self.plant1.backend_plant_id])
|
||||
|
||||
def test_canonical_plant_runtime_path_uses_assignments_not_legacy_relation(self):
|
||||
farm = get_canonical_farm_record(str(self.farm_uuid))
|
||||
|
||||
self.assertIsNotNone(farm)
|
||||
self.assertEqual([plant.name for plant in list_runtime_plants_for_farm(farm)], ["خیار", "گوجهفرنگی"])
|
||||
self.assertEqual(get_runtime_plant_for_farm(farm).name, "خیار")
|
||||
|
||||
def test_assignment_sync_reconciles_legacy_relation_for_transition(self):
|
||||
self.assertEqual(list(self.farm.plants.values_list("name", flat=True)), ["خیار", "گوجهفرنگی"])
|
||||
|
||||
def test_runtime_plant_lookup_resolves_by_name_from_canonical_assignments(self):
|
||||
farm = get_canonical_farm_record(str(self.farm_uuid))
|
||||
|
||||
resolved = get_runtime_plant_for_farm(farm, plant_name="گوجهفرنگی")
|
||||
|
||||
self.assertIsNotNone(resolved)
|
||||
self.assertEqual(resolved.name, "گوجهفرنگی")
|
||||
self.assertEqual(resolved.id, self.plant1.backend_plant_id)
|
||||
|
||||
def test_returns_farm_detail_and_prioritizes_sensor_metrics_over_soil(self):
|
||||
response = self.client.get(f"/api/farm-data/{self.farm_uuid}/detail/")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user