@@ -281,82 +281,94 @@ void main() {
281281 expect (find.textContaining ('Status: Failed' ), findsOneWidget);
282282 });
283283
284- testWidgets ('PreSubmitView displays default job details when summary is empty' , (
285- WidgetTester tester,
286- ) async {
287- tester.view.physicalSize = const Size (2000 , 1080 );
288- tester.view.devicePixelRatio = 1.0 ;
289- addTearDown (tester.view.resetPhysicalSize);
290- addTearDown (tester.view.resetDevicePixelRatio);
291-
292- const mockSha = 'decaf_3_real_sha' ;
293- const guardResponse = PresubmitGuardResponse (
294- prNum: 123 ,
295- author: 'dash' ,
296- guardStatus: GuardStatus .failed,
297- checkRunId: 456 ,
298- stages: [
299- PresubmitGuardStage (
300- name: 'Engine' ,
301- createdAt: 0 ,
302- builds: {'Mac mac_host_engine 1' : TaskStatus .failed},
303- ),
304- ],
305- );
284+ testWidgets (
285+ 'PreSubmitView displays default job details when summary is empty' ,
286+ (WidgetTester tester) async {
287+ tester.view.physicalSize = const Size (2000 , 1080 );
288+ tester.view.devicePixelRatio = 1.0 ;
289+ addTearDown (tester.view.resetPhysicalSize);
290+ addTearDown (tester.view.resetDevicePixelRatio);
306291
307- when (
308- mockCocoonService.fetchPresubmitGuard (
309- repo: anyNamed ('repo' ),
310- sha: mockSha,
311- ),
312- ).thenAnswer ((_) async => const CocoonResponse .data (guardResponse));
292+ const mockSha = 'decaf_3_real_sha' ;
293+ const guardResponse = PresubmitGuardResponse (
294+ prNum: 123 ,
295+ author: 'dash' ,
296+ guardStatus: GuardStatus .failed,
297+ checkRunId: 456 ,
298+ stages: [
299+ PresubmitGuardStage (
300+ name: 'Engine' ,
301+ createdAt: 0 ,
302+ builds: {'Mac mac_host_engine 1' : TaskStatus .failed},
303+ ),
304+ ],
305+ );
313306
314- when (
315- mockCocoonService.fetchPresubmitJobDetails (
316- checkRunId: anyNamed ('checkRunId' ),
317- jobName: argThat (contains ('mac_host_engine' ), named: 'jobName' ),
318- ),
319- ).thenAnswer (
320- (_) async => CocoonResponse .data ([
321- PresubmitJobResponse (
322- attemptNumber: 1 ,
323- jobName: 'Mac mac_host_engine 1' ,
324- creationTime: 0 ,
325- status: TaskStatus .failed,
326- summary: '' , // Empty summary
307+ when (
308+ mockCocoonService.fetchPresubmitGuard (
309+ repo: anyNamed ('repo' ),
310+ sha: mockSha,
327311 ),
328- ]),
329- );
312+ ).thenAnswer ((_) async => const CocoonResponse .data (guardResponse));
330313
331- await tester.runAsync (() async {
332- await tester.pumpWidget (
333- createPreSubmitView ({'repo' : 'flutter' , 'pr' : '123' }),
314+ when (
315+ mockCocoonService.fetchPresubmitJobDetails (
316+ checkRunId: anyNamed ('checkRunId' ),
317+ jobName: argThat (contains ('mac_host_engine' ), named: 'jobName' ),
318+ ),
319+ ).thenAnswer (
320+ (_) async => CocoonResponse .data ([
321+ PresubmitJobResponse (
322+ attemptNumber: 1 ,
323+ jobName: 'Mac mac_host_engine 1' ,
324+ creationTime: 0 ,
325+ status: TaskStatus .failed,
326+ summary: '' , // Empty summary
327+ ),
328+ ]),
334329 );
335- for (var i = 0 ; i < 50 ; i++ ) {
336- await tester.pump ();
337- await Future <void >.delayed (const Duration (milliseconds: 50 ));
338- if (find.textContaining ('by dash' ).evaluate ().isNotEmpty) break ;
339- }
340- });
341- await tester.pumpAndSettle ();
342330
343- expect (find.textContaining ('PR #123' ), findsOneWidget);
331+ await tester.runAsync (() async {
332+ await tester.pumpWidget (
333+ createPreSubmitView ({'repo' : 'flutter' , 'pr' : '123' }),
334+ );
335+ for (var i = 0 ; i < 50 ; i++ ) {
336+ await tester.pump ();
337+ await Future <void >.delayed (const Duration (milliseconds: 50 ));
338+ if (find.textContaining ('by dash' ).evaluate ().isNotEmpty) break ;
339+ }
340+ });
341+ await tester.pumpAndSettle ();
344342
345- await tester.tap (find.textContaining ('mac_host_engine' ).first);
346- await tester.runAsync (() async {
347- for (var i = 0 ; i < 50 ; i++ ) {
348- await tester.pump ();
349- await Future <void >.delayed (const Duration (milliseconds: 50 ));
350- if (find.textContaining ('Mac mac_host_engine 1 failed.' ).evaluate ().isNotEmpty) {
351- break ;
343+ expect (find.textContaining ('PR #123' ), findsOneWidget);
344+
345+ await tester.tap (find.textContaining ('mac_host_engine' ).first);
346+ await tester.runAsync (() async {
347+ for (var i = 0 ; i < 50 ; i++ ) {
348+ await tester.pump ();
349+ await Future <void >.delayed (const Duration (milliseconds: 50 ));
350+ if (find
351+ .textContaining ('Mac mac_host_engine 1 failed.' )
352+ .evaluate ()
353+ .isNotEmpty) {
354+ break ;
355+ }
352356 }
353- }
354- });
355- await tester.pumpAndSettle ();
357+ });
358+ await tester.pumpAndSettle ();
356359
357- expect (find.textContaining ('Mac mac_host_engine 1 failed.' ), findsOneWidget);
358- expect (find.textContaining ('Click "View more details on LUCI UI" button below for more details.' ), findsOneWidget);
359- });
360+ expect (
361+ find.textContaining ('Mac mac_host_engine 1 failed.' ),
362+ findsOneWidget,
363+ );
364+ expect (
365+ find.textContaining (
366+ 'Click "View more details on LUCI UI" button below for more details.' ,
367+ ),
368+ findsOneWidget,
369+ );
370+ },
371+ );
360372
361373 testWidgets (
362374 'PreSubmitView automatically selects latest SHA and updates sidebar when opened with PR only' ,
0 commit comments