@@ -160,6 +160,42 @@ def test_rejected_count_note_in_body(self) -> None:
160160 body = gh .create_review .call_args .kwargs ["body" ]
161161 self .assertIn ("3 suggested inline comment(s) were dropped" , body )
162162
163+ def test_model_in_footer (self ) -> None :
164+ cfg = _make_cfg ()
165+ draft = _make_draft (model = "acme/cool-model" )
166+ gh = MagicMock ()
167+ publish_review (cfg , gh , draft )
168+ body = gh .create_review .call_args .kwargs ["body" ]
169+ self .assertIn ("model: `acme/cool-model`" , body )
170+ # Model and metrics share one footer line.
171+ self .assertIn ("model: `acme/cool-model` · 2 LLM turns" , body )
172+
173+ def test_no_model_footer_when_unset (self ) -> None :
174+ cfg = _make_cfg ()
175+ draft = _make_draft (model = None )
176+ gh = MagicMock ()
177+ publish_review (cfg , gh , draft )
178+ body = gh .create_review .call_args .kwargs ["body" ]
179+ self .assertNotIn ("model:" , body )
180+ # Metrics line still renders on its own.
181+ self .assertIn ("2 LLM turns" , body )
182+
183+ def test_staging_note_in_body (self ) -> None :
184+ cfg = _make_cfg (is_staging = True )
185+ draft = _make_draft ()
186+ gh = MagicMock ()
187+ publish_review (cfg , gh , draft )
188+ body = gh .create_review .call_args .kwargs ["body" ]
189+ self .assertIn ("posted from a staging deployment" , body )
190+
191+ def test_no_staging_note_by_default (self ) -> None :
192+ cfg = _make_cfg ()
193+ draft = _make_draft ()
194+ gh = MagicMock ()
195+ publish_review (cfg , gh , draft )
196+ body = gh .create_review .call_args .kwargs ["body" ]
197+ self .assertNotIn ("staging" , body )
198+
163199 def test_no_persona_header_when_disabled (self ) -> None :
164200 cfg = _make_cfg (persona_header = "" )
165201 draft = _make_draft ()
0 commit comments