@@ -3092,6 +3092,85 @@ void main() {
30923092 },
30933093 );
30943094
3095+ feedTest (
3096+ 'PollDeletedFeedEvent - should remove poll from activity' ,
3097+ build: (client) => client.feedFromId (feedId),
3098+ setUp: (tester) => tester.getOrCreate (
3099+ modifyResponse: (it) => it.copyWith (
3100+ activities: [
3101+ createDefaultActivityResponse (
3102+ id: 'activity-1' ,
3103+ feeds: [feedId.rawValue],
3104+ poll: createDefaultPollResponse (id: pollId),
3105+ ),
3106+ ],
3107+ ),
3108+ ),
3109+ body: (tester) async {
3110+ // Initial state - activity has poll
3111+ final initialActivity = tester.feedState.activities.first;
3112+ expect (initialActivity.poll, isNotNull);
3113+ expect (initialActivity.poll! .id, pollId);
3114+
3115+ // Emit PollDeletedFeedEvent
3116+ await tester.emitEvent (
3117+ PollDeletedFeedEvent (
3118+ type: EventTypes .pollDeleted,
3119+ createdAt: DateTime .timestamp (),
3120+ custom: const {},
3121+ fid: feedId.rawValue,
3122+ poll: createDefaultPollResponse (id: pollId),
3123+ ),
3124+ );
3125+
3126+ // Verify poll was removed
3127+ final updatedActivity = tester.feedState.activities.first;
3128+ expect (updatedActivity.poll, isNull);
3129+ },
3130+ );
3131+
3132+ feedTest (
3133+ 'PollUpdatedFeedEvent - should update poll in activity' ,
3134+ build: (client) => client.feedFromId (feedId),
3135+ setUp: (tester) => tester.getOrCreate (
3136+ modifyResponse: (it) => it.copyWith (
3137+ activities: [
3138+ createDefaultActivityResponse (
3139+ id: 'activity-1' ,
3140+ feeds: [feedId.rawValue],
3141+ poll: createDefaultPollResponse (
3142+ id: pollId,
3143+ ).copyWith (name: 'Original poll name' ),
3144+ ),
3145+ ],
3146+ ),
3147+ ),
3148+ body: (tester) async {
3149+ // Initial state - poll has original name
3150+ final initialActivity = tester.feedState.activities.first;
3151+ expect (initialActivity.poll, isNotNull);
3152+ expect (initialActivity.poll! .name, 'Original poll name' );
3153+
3154+ // Emit PollUpdatedFeedEvent
3155+ await tester.emitEvent (
3156+ PollUpdatedFeedEvent (
3157+ type: EventTypes .pollUpdated,
3158+ createdAt: DateTime .timestamp (),
3159+ custom: const {},
3160+ fid: feedId.rawValue,
3161+ poll: createDefaultPollResponse (
3162+ id: pollId,
3163+ ).copyWith (name: 'Updated poll name' ),
3164+ ),
3165+ );
3166+
3167+ // Verify poll was updated
3168+ final updatedActivity = tester.feedState.activities.first;
3169+ expect (updatedActivity.poll, isNotNull);
3170+ expect (updatedActivity.poll! .name, 'Updated poll name' );
3171+ },
3172+ );
3173+
30953174 feedTest (
30963175 'PollClosedFeedEvent - should mark poll as closed' ,
30973176 build: (client) => client.feedFromId (feedId),
0 commit comments