Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion team_b/yappy/lib/transcription_box.dart
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class TranscriptionBoxState extends State<TranscriptionBox> {
maxLines: null,
readOnly: true,
decoration: InputDecoration(
hintText: "",
hintText: "Transcription will appear here...",
hintStyle: TextStyle(color:Colors.white),
border: InputBorder.none,
contentPadding: EdgeInsets.all(10),
Expand Down
22 changes: 18 additions & 4 deletions team_b/yappy/test/contact_page_test.dart
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:provider/provider.dart';
import 'package:yappy/contact_page.dart';
import 'package:yappy/tool_bar.dart';
import 'package:yappy/theme_provider.dart';

void main() {
TestWidgetsFlutterBinding.ensureInitialized();

testWidgets('ContactPage should have a ToolBar and HamburgerDrawer',
(WidgetTester tester) async {
// Build the widget
await tester.pumpWidget(MaterialApp(home: ContactPage()));
// Build the widget with a ThemeProvider
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: ContactPage()),
),
);

// Verify that ToolBar is in place
expect(find.byType(ToolBar), findsOneWidget,
Expand All @@ -30,7 +38,13 @@ void main() {

testWidgets('Tapping the menu button should open the drawer',
(WidgetTester tester) async {
await tester.pumpWidget(MaterialApp(home: ContactPage()));
// Build the widget with a ThemeProvider
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: ContactPage()),
),
);

// Drawer should not be visible initially
expect(find.byType(Drawer), findsNothing);
Expand All @@ -42,4 +56,4 @@ void main() {
// Drawer should be visible now
expect(find.byType(Drawer), findsOneWidget);
});
}
}
63 changes: 37 additions & 26 deletions team_b/yappy/test/help_test.dart
Original file line number Diff line number Diff line change
@@ -1,36 +1,34 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:provider/provider.dart';
import 'package:yappy/help.dart';
import 'package:yappy/tutorial_page.dart';
import 'package:yappy/theme_provider.dart';

void main() {
group('HelpApp Widget Tests', () {
testWidgets('HelpApp renders HelpPage as the home screen',
(WidgetTester tester) async {
await tester.pumpWidget(const HelpApp());

expect(find.byType(HelpPage), findsOneWidget);
});
});

group('HelpPage Widget Tests', () {
testWidgets('HelpPage has the correct background color',
(WidgetTester tester) async {
// Build the widget with a ThemeProvider
await tester.pumpWidget(
const MaterialApp(
home: HelpPage(),
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: HelpApp()),
),
);

final scaffold = tester.widget<Scaffold>(find.byType(Scaffold));
expect(scaffold.backgroundColor, const Color.fromARGB(255, 0, 0, 0));
expect(find.byType(HelpPage), findsOneWidget);
});
});

group('HelpPage Widget Tests', () {
testWidgets('HelpPage displays the "Lets Yap about Yappy" title',
(WidgetTester tester) async {
// Build the widget with a ThemeProvider
await tester.pumpWidget(
const MaterialApp(
home: HelpPage(),
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: HelpPage()),
),
);

Expand All @@ -39,9 +37,11 @@ void main() {

testWidgets('HelpPage displays the welcome message',
(WidgetTester tester) async {
// Build the widget with a ThemeProvider
await tester.pumpWidget(
const MaterialApp(
home: HelpPage(),
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: HelpPage()),
),
);

Expand All @@ -56,9 +56,11 @@ void main() {
testWidgets(
'HelpPage displays "It\'s my first time" button and navigates to TutorialPage',
(WidgetTester tester) async {
// Build the widget with a ThemeProvider
await tester.pumpWidget(
const MaterialApp(
home: HelpPage(),
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: HelpPage()),
),
);

Expand All @@ -73,9 +75,11 @@ void main() {
testWidgets(
'HelpPage displays "Report a problem" button and shows alert dialog',
(WidgetTester tester) async {
// Build the widget with a ThemeProvider
await tester.pumpWidget(
const MaterialApp(
home: HelpPage(),
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: HelpPage()),
),
);

Expand All @@ -91,18 +95,25 @@ void main() {
testWidgets(
'HelpPage displays "Feedback for the Help Center" button and shows alert dialog',
(WidgetTester tester) async {
// Build the widget with a ThemeProvider
await tester.pumpWidget(
const MaterialApp(
home: HelpPage(),
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: HelpPage()),
),
);

expect(find.text('Feedback for the Help Center'), findsOneWidget);
final buttonFinder = find.text('Feedback for the Help Center');

await tester.ensureVisible(buttonFinder);
await tester.pumpAndSettle();

expect(buttonFinder, findsOneWidget);

await tester.tap(find.text('Feedback for the Help Center'));
await tester.tap(buttonFinder);
await tester.pump();

expect(find.text('Feedback for the Help Center'), findsNWidgets(2));
expect(buttonFinder, findsNWidgets(2));
});
});
}
25 changes: 21 additions & 4 deletions team_b/yappy/test/home_page_test.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:provider/provider.dart';
import 'package:yappy/home_page.dart';
import 'package:yappy/theme_provider.dart';
import 'package:yappy/tutorial_page.dart';

import 'package:shared_preferences/shared_preferences.dart';
Expand All @@ -9,8 +11,13 @@ void main() {
group('HomePage Tests', () {
testWidgets('displays all buttons on the HomePage',
(WidgetTester tester) async {
// Arrange
await tester.pumpWidget(MaterialApp(home: HomePage()));
// Build the widget with a ThemeProvider
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: HomePage()),
),
);

// Assert
expect(find.text('Restaurant'), findsOneWidget);
Expand All @@ -26,7 +33,12 @@ void main() {
(WidgetTester tester) async {
// Arrange
SharedPreferences.setMockInitialValues({'isFirstTime': true});
await tester.pumpWidget(MaterialApp(home: HomePage()));
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: HomePage()),
),
);

// Act
await tester.pump();
Expand All @@ -42,7 +54,12 @@ void main() {
(WidgetTester tester) async {
// Arrange
SharedPreferences.setMockInitialValues({'isFirstTime': false});
await tester.pumpWidget(MaterialApp(home: HomePage()));
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: HomePage()),
),
);

// Assert
expect(find.text('Welcome!'), findsNothing);
Expand Down
9 changes: 8 additions & 1 deletion team_b/yappy/test/main_test.dart
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:yappy/main.dart';
import 'package:yappy/home_page.dart';
import 'package:yappy/theme_provider.dart';

void main() {
group('Main Tests', () {
testWidgets('renders MyApp and HomePage correctly',
(WidgetTester tester) async {
// Arrange
SharedPreferences.setMockInitialValues({}); // Mock shared preferences
await tester.pumpWidget(const MyApp());
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: MyApp()),
),
);

// Assert
expect(find.byType(MyApp), findsOneWidget);
Expand Down
30 changes: 26 additions & 4 deletions team_b/yappy/test/mechanic_test.dart
Original file line number Diff line number Diff line change
@@ -1,34 +1,56 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:provider/provider.dart';
import 'package:yappy/audiowave_widget.dart';
import 'package:yappy/industry_menu.dart';
import 'package:yappy/mechanic.dart';
import 'package:yappy/search_bar_widget.dart';
import 'package:yappy/theme_provider.dart';
import 'package:yappy/tool_bar.dart';
import 'package:yappy/transcription_box.dart';

void main() {
testWidgets('MechanicalAidApp should have a MechanicalAidPage', (WidgetTester tester) async {
await tester.pumpWidget(const MechanicalAidApp());
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: MechanicalAidApp()),
),
);

expect(find.byType(MechanicalAidPage), findsOneWidget);
});

testWidgets('MechanicalAidPage should have a ToolBar', (WidgetTester tester) async {
await tester.pumpWidget(MaterialApp(home: MechanicalAidPage()));
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: MechanicalAidPage()),
),
);

expect(find.byType(ToolBar), findsOneWidget);
});

testWidgets('MechanicalAidPage should have a SearchBarWidget and IndustryMenu', (WidgetTester tester) async {
await tester.pumpWidget(MaterialApp(home: MechanicalAidPage()));
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: MechanicalAidPage()),
),
);

expect(find.byType(SearchBarWidget), findsOneWidget);
expect(find.byType(IndustryMenu), findsOneWidget);
});

testWidgets('MechanicalAidPage should have AudiowaveWidget and TranscriptionBox', (WidgetTester tester) async {
await tester.pumpWidget(MaterialApp(home: MechanicalAidPage()));
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: MechanicalAidPage()),
),
);

expect(find.byType(AudiowaveWidget), findsOneWidget);
expect(find.byType(TranscriptionBox), findsOneWidget);
Expand Down
23 changes: 20 additions & 3 deletions team_b/yappy/test/medical_doctor_test.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:provider/provider.dart';
import 'package:yappy/medical_doctor.dart';
import 'package:yappy/industry_menu.dart';
import 'package:yappy/theme_provider.dart';
import 'package:yappy/transcription_box.dart';
import 'package:yappy/audiowave_widget.dart';

Expand All @@ -10,7 +12,12 @@ void main() {
testWidgets('renders MedicalDoctorApp and MedicalDoctorPage correctly',
(WidgetTester tester) async {
// Arrange
await tester.pumpWidget(const MedicalDoctorApp());
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: MedicalDoctorApp()),
),
);

// Assert
expect(find.byType(MedicalDoctorApp), findsOneWidget);
Expand All @@ -20,7 +27,12 @@ void main() {
testWidgets('renders IndustryMenu with correct title and icon',
(WidgetTester tester) async {
// Arrange
await tester.pumpWidget(MaterialApp(home: MedicalDoctorPage()));
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: MedicalDoctorPage()),
),
);

// Act
await tester.pumpAndSettle();
Expand All @@ -35,7 +47,12 @@ void main() {
testWidgets('renders AudiowaveWidget and TranscriptionBox',
(WidgetTester tester) async {
// Arrange
await tester.pumpWidget(MaterialApp(home: MedicalDoctorPage()));
await tester.pumpWidget(
ChangeNotifierProvider<ThemeProvider>(
create: (_) => ThemeProvider(),
child: MaterialApp(home: MedicalDoctorPage()),
),
);

// Act
await tester.pumpAndSettle();
Expand Down
Loading
Loading