UPDATE
This commit is contained in:
@@ -76,6 +76,10 @@ class PlantGrowthSimulationApiTests(TestCase):
|
||||
"weather": self.weather,
|
||||
"soil_parameters": {"SMFCF": 0.34, "SMW": 0.14, "RDMSOL": 120.0},
|
||||
"site_parameters": {"WAV": 40.0},
|
||||
"irrigation_recommendation": {"events": [{"date": "2026-04-02", "amount": 2.5}]},
|
||||
"fertilization_recommendation": {
|
||||
"events": [{"date": "2026-04-02", "N_amount": 45, "N_recovery": 0.7}]
|
||||
},
|
||||
"page_size": 2,
|
||||
}
|
||||
)
|
||||
@@ -95,12 +99,17 @@ class PlantGrowthSimulationApiTests(TestCase):
|
||||
"plant_name": self.plant.name,
|
||||
"dynamic_parameters": ["DVS", "LAI"],
|
||||
"weather": self.weather,
|
||||
"irrigation_recommendation": {"events": [{"date": "2026-04-02", "amount": 2.5}]},
|
||||
"fertilization_recommendation": {
|
||||
"events": [{"date": "2026-04-02", "N_amount": 45, "N_recovery": 0.7}]
|
||||
},
|
||||
},
|
||||
format="json",
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 202)
|
||||
self.assertEqual(response.json()["data"]["task_id"], "growth-task-1")
|
||||
self.assertEqual(mock_delay.call_args.args[0]["irrigation_recommendation"]["events"][0]["amount"], 2.5)
|
||||
|
||||
def test_queue_api_returns_400_for_missing_weather_and_farm_uuid(self):
|
||||
response = self.client.post(
|
||||
@@ -438,6 +447,8 @@ class PlantGrowthSimulationApiTests(TestCase):
|
||||
response = self.client.get(
|
||||
"/yield-harvest-summary/?farm_uuid=550e8400-e29b-41d4-a716-446655440000"
|
||||
"&season_year=1404&crop_name=wheat&include_narrative=true"
|
||||
"&irrigation_recommendation=%7B%22events%22%3A%5B%7B%22date%22%3A%222026-04-25%22%2C%22amount%22%3A2.5%7D%5D%7D"
|
||||
"&fertilization_recommendation=%7B%22events%22%3A%5B%7B%22date%22%3A%222026-04-20%22%2C%22N_amount%22%3A45%2C%22N_recovery%22%3A0.7%7D%5D%7D"
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
@@ -449,6 +460,23 @@ class PlantGrowthSimulationApiTests(TestCase):
|
||||
season_year="1404",
|
||||
crop_name="wheat",
|
||||
include_narrative=True,
|
||||
irrigation_recommendation={
|
||||
"events": [
|
||||
{
|
||||
"date": "2026-04-25",
|
||||
"amount": 2.5,
|
||||
}
|
||||
]
|
||||
},
|
||||
fertilization_recommendation={
|
||||
"events": [
|
||||
{
|
||||
"date": "2026-04-20",
|
||||
"N_amount": 45,
|
||||
"N_recovery": 0.7,
|
||||
}
|
||||
]
|
||||
},
|
||||
)
|
||||
|
||||
def test_yield_harvest_summary_api_returns_400_for_missing_farm_uuid(self):
|
||||
@@ -456,3 +484,12 @@ class PlantGrowthSimulationApiTests(TestCase):
|
||||
|
||||
self.assertEqual(response.status_code, 400)
|
||||
self.assertEqual(response.json()["code"], 400)
|
||||
|
||||
def test_yield_harvest_summary_api_returns_400_for_invalid_json_recommendations(self):
|
||||
response = self.client.get(
|
||||
"/yield-harvest-summary/?farm_uuid=550e8400-e29b-41d4-a716-446655440000"
|
||||
"&irrigation_recommendation=%7Binvalid-json%7D"
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 400)
|
||||
self.assertEqual(response.json()["code"], 400)
|
||||
|
||||
Reference in New Issue
Block a user