@@ -630,3 +630,60 @@ def test_history_form_view_getting_history_abstract_external(self):
630
630
mock_render .assert_called_once_with (
631
631
request , admin .object_history_form_template , context
632
632
)
633
+
634
+ def test_history_form_view_accepts_additional_context (self ):
635
+ request = RequestFactory ().post ("/" )
636
+ request .session = "session"
637
+ request ._messages = FallbackStorage (request )
638
+ request .user = self .user
639
+
640
+ poll = Poll .objects .create (question = "why?" , pub_date = today )
641
+ poll .question = "how?"
642
+ poll .save ()
643
+ history = poll .history .all ()[0 ]
644
+
645
+ admin_site = AdminSite ()
646
+ admin = SimpleHistoryAdmin (Poll , admin_site )
647
+
648
+ with patch ("simple_history.admin.render" ) as mock_render :
649
+ admin .history_form_view (
650
+ request ,
651
+ poll .id ,
652
+ history .pk ,
653
+ extra_context = {"anything_else" : "will be merged into context" },
654
+ )
655
+
656
+ context = {
657
+ # Verify this is set for original object
658
+ "anything_else" : "will be merged into context" ,
659
+ "original" : poll ,
660
+ "change_history" : False ,
661
+ "title" : "Revert %s" % force_text (poll ),
662
+ "adminform" : ANY ,
663
+ "object_id" : poll .id ,
664
+ "is_popup" : False ,
665
+ "media" : ANY ,
666
+ "errors" : ANY ,
667
+ "app_label" : "tests" ,
668
+ "original_opts" : ANY ,
669
+ "changelist_url" : "/admin/tests/poll/" ,
670
+ "change_url" : ANY ,
671
+ "history_url" : "/admin/tests/poll/1/history/" ,
672
+ "add" : False ,
673
+ "change" : True ,
674
+ "has_add_permission" : admin .has_add_permission (request ),
675
+ "has_change_permission" : admin .has_change_permission (request , poll ),
676
+ "has_delete_permission" : admin .has_delete_permission (request , poll ),
677
+ "has_file_field" : True ,
678
+ "has_absolute_url" : False ,
679
+ "form_url" : "" ,
680
+ "opts" : ANY ,
681
+ "content_type_id" : ANY ,
682
+ "save_as" : admin .save_as ,
683
+ "save_on_top" : admin .save_on_top ,
684
+ "root_path" : getattr (admin_site , "root_path" , None ),
685
+ }
686
+ context .update (admin_site .each_context (request ))
687
+ mock_render .assert_called_once_with (
688
+ request , admin .object_history_form_template , context
689
+ )
0 commit comments