@@ -833,8 +833,48 @@ def test_proposals_review_get_recap_context(rf):
833833 assert "review_session_id" in context
834834 assert "audience_levels" in context
835835 assert "all_statuses" in context
836+ assert "speaker_submission_counts" in context
836837 assert context ["review_session_id" ] == review_session .id
837838 assert str (submission .speaker_id ) in context ["grants" ]
839+ # Verify speaker submission count is tracked
840+ assert str (submission .speaker_id ) in context ["speaker_submission_counts" ]
841+ assert context ["speaker_submission_counts" ][str (submission .speaker_id )] == 1
842+
843+
844+ def test_proposals_review_get_recap_context_with_multiple_submissions_per_speaker (rf ):
845+ user = UserFactory (is_staff = True , is_superuser = True )
846+ conference = ConferenceFactory ()
847+
848+ review_session = ReviewSessionFactory (
849+ conference = conference ,
850+ session_type = ReviewSession .SessionType .PROPOSALS ,
851+ status = ReviewSession .Status .COMPLETED ,
852+ )
853+ AvailableScoreOptionFactory (review_session = review_session , numeric_value = 0 )
854+ AvailableScoreOptionFactory (review_session = review_session , numeric_value = 1 )
855+
856+ # Create a speaker with multiple submissions
857+ speaker = UserFactory ()
858+ submission_1 = SubmissionFactory (conference = conference , speaker = speaker )
859+ submission_2 = SubmissionFactory (conference = conference , speaker = speaker )
860+ submission_3 = SubmissionFactory (conference = conference , speaker = speaker )
861+
862+ # Create another speaker with only one submission
863+ single_speaker = UserFactory ()
864+ single_submission = SubmissionFactory (conference = conference , speaker = single_speaker )
865+
866+ request = rf .get ("/" )
867+ request .user = user
868+
869+ adapter = get_review_adapter (review_session )
870+ items = adapter .get_recap_items_queryset (review_session ).all ()
871+ context = adapter .get_recap_context (request , review_session , items , AdminSite ())
872+
873+ assert "speaker_submission_counts" in context
874+ # Speaker with 3 submissions should have count of 3
875+ assert context ["speaker_submission_counts" ][str (speaker .id )] == 3
876+ # Speaker with 1 submission should have count of 1
877+ assert context ["speaker_submission_counts" ][str (single_speaker .id )] == 1
838878
839879
840880def test_proposals_review_process_recap_post (rf ):
0 commit comments