fix day 0 insight main dashboard page

This commit is contained in:
Alberto-Audrix committed 2026-10-01 15:55:09 +07:00
1 parent e1987d6999
commit bc2b260065
6 files changed
+165 -36

No files matched your search

@@ -211,3 +211,38 @@ class FeedBalanceGradingTests(SimpleTestCase):
self.assertEqual(feed["status"], "unknown")
self.assertIn("tidak tersedia", feed["message"].lower())
class DayZeroInsightTests(SimpleTestCase):
def test_day_zero_grading_dashboard(self):
ctx = {
"hari_ke": 0,
"bobot_avg_gram": 32.0,
"persen_hidup": 99.8,
"doc_in_ekor": 10000,
"kematian_kumulatif_ekor": 20,
"fcr_terakhir": None,
}
graded = grade_context(ctx, "dashboard")
self.assertEqual(graded["hari_ke"], 0)
analyses = graded["analyses"]
self.assertIn("bw", analyses)
self.assertIn("fcr", analyses)
self.assertIn("mortality", analyses)
# BW 32g is baseline DOC weight -> ok
self.assertEqual(analyses["bw"]["status"], "ok")
self.assertEqual(analyses["bw"]["standard"], 32.0)
self.assertIn("bobot awal doc", analyses["bw"]["message"].lower())
# FCR not applicable on day 0 -> ok with explanatory message
self.assertEqual(analyses["fcr"]["status"], "ok")
self.assertIn("belum dihitung", analyses["fcr"]["message"].lower())
# Mortality 0.20% vs std 0.40% -> ok
self.assertEqual(analyses["mortality"]["status"], "ok")
def test_day_zero_standard_block_generation(self):
ctx = {"hari_ke": 0}
std_block = cp707.build_cp707_standard_block(ctx)
self.assertIn("STANDAR CP 707 UNTUK HARI INI", std_block)
self.assertIn("Bobot badan standar hari ke-0: Mengikuti bobot awal DOC masuk", std_block)
self.assertIn("Mortalitas kumulatif standar hari ke-0: 0.4 %", std_block)