@@ -151,12 +151,14 @@ void main() {
151151 });
152152
153153 group ('RenegotiationHandler — execute error handling' , () {
154+ setUp (() {
155+ when (() => mockErrorReporter.handle (any (), any (), any ())).thenReturn (null );
156+ });
157+
154158 test ('reports error via callErrorReporter when execute throws' , () async {
155159 when (() => mockPC.signalingState).thenReturn (RTCSignalingState .RTCSignalingStateStable );
156160 when (() => mockPC.createOffer (any ())).thenAnswer ((_) async => kOffer);
157161 when (() => mockPC.setLocalDescription (any ())).thenAnswer ((_) async {});
158- when (() => mockErrorReporter.handle (any (), any (), any ())).thenReturn (null );
159-
160162 handler = RenegotiationHandler (callErrorReporter: mockErrorReporter);
161163 final exception = Exception ('signaling error' );
162164
@@ -165,12 +167,33 @@ void main() {
165167 verify (() => mockErrorReporter.handle (exception, any (), any ())).called (1 );
166168 });
167169
170+ test ('reports error via callErrorReporter when createOffer throws' , () async {
171+ when (() => mockPC.signalingState).thenReturn (RTCSignalingState .RTCSignalingStateStable );
172+ final exception = Exception ('createOffer error' );
173+ when (() => mockPC.createOffer (any ())).thenThrow (exception);
174+ handler = RenegotiationHandler (callErrorReporter: mockErrorReporter);
175+
176+ await handler.handle (kCallId, kLineId, mockPC, (_, _, _) async {});
177+
178+ verify (() => mockErrorReporter.handle (exception, any (), any ())).called (1 );
179+ });
180+
181+ test ('reports error via callErrorReporter when setLocalDescription throws' , () async {
182+ when (() => mockPC.signalingState).thenReturn (RTCSignalingState .RTCSignalingStateStable );
183+ when (() => mockPC.createOffer (any ())).thenAnswer ((_) async => kOffer);
184+ final exception = Exception ('setLocalDescription error' );
185+ when (() => mockPC.setLocalDescription (any ())).thenThrow (exception);
186+ handler = RenegotiationHandler (callErrorReporter: mockErrorReporter);
187+
188+ await handler.handle (kCallId, kLineId, mockPC, (_, _, _) async {});
189+
190+ verify (() => mockErrorReporter.handle (exception, any (), any ())).called (1 );
191+ });
192+
168193 test ('does not rethrow when execute throws' , () async {
169194 when (() => mockPC.signalingState).thenReturn (RTCSignalingState .RTCSignalingStateStable );
170195 when (() => mockPC.createOffer (any ())).thenAnswer ((_) async => kOffer);
171196 when (() => mockPC.setLocalDescription (any ())).thenAnswer ((_) async {});
172- when (() => mockErrorReporter.handle (any (), any (), any ())).thenReturn (null );
173-
174197 handler = RenegotiationHandler (callErrorReporter: mockErrorReporter);
175198
176199 await expectLater (
0 commit comments