import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:nomadcode_app/main.dart'; import 'package:nomadcode_app/screens/workspace_home_page.dart'; import 'package:nomadcode_app/models/project_workspace.dart'; void main() { testWidgets('App renders console dashboard title', ( WidgetTester tester, ) async { await tester.pumpWidget(const MyApp()); expect(find.text('NomadCode Console'), findsOneWidget); expect(find.text('NomadCode Core'), findsNWidgets(2)); expect(find.text('IOP Bridge'), findsOneWidget); }); testWidgets('WorkspaceHomePage triggers launcher callback on button tap', ( WidgetTester tester, ) async { ProjectWorkspace? launchedProject; await tester.pumpWidget( MaterialApp( home: WorkspaceHomePage( onLaunchCodeServer: (project) async { launchedProject = project; return true; }, ), ), ); final buttonFinder = find.widgetWithText(ElevatedButton, 'Open Workspace'); expect(buttonFinder, findsOneWidget); await tester.tap(buttonFinder); await tester.pumpAndSettle(); expect(launchedProject, isNotNull); expect(launchedProject!.id, equals('nomadcode')); }); }