Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests for Conversation Page #4

Merged
merged 1 commit into from
Aug 17, 2019
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: 2 additions & 0 deletions lib/pages/ConversationPage.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@ import 'package:messio/widgets/ChatListWidget.dart';
import 'package:messio/widgets/InputWidget.dart';

class ConversationPage extends StatefulWidget {

@override
_ConversationPageState createState() => _ConversationPageState();
const ConversationPage();
}

class _ConversationPageState extends State<ConversationPage> {
Expand Down
3 changes: 2 additions & 1 deletion lib/pages/ConversationPageList.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ class ConversationPageList extends StatefulWidget {

@override
_ConversationPageListState createState() => _ConversationPageListState();

const ConversationPageList();
}

class _ConversationPageListState extends State<ConversationPageList> {
Expand All @@ -20,6 +22,5 @@ class _ConversationPageListState extends State<ConversationPageList> {
],
);


}
}
173 changes: 95 additions & 78 deletions lib/widgets/ChatAppBar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,96 +4,113 @@ import 'package:messio/config/Palette.dart';

class ChatAppBar extends StatelessWidget implements PreferredSizeWidget {
final double height = 100;

const ChatAppBar();

@override
Widget build(BuildContext context) {
var textHeading = TextStyle(color: Palette.primaryTextColor, fontSize: 20); // Text style for the name
var textStyle = TextStyle(color: Palette.secondaryTextColor); // Text style for everything else
var textHeading = TextStyle(
color: Palette.primaryTextColor,
fontSize: 20); // Text style for the name
var textStyle = TextStyle(
color: Palette.secondaryTextColor); // Text style for everything else

double width = MediaQuery.of(context).size.width; // calculate the screen width
return Material(
child: Container(
decoration: new BoxDecoration(boxShadow: [ //adds a shadow to the appbar
decoration: new BoxDecoration(boxShadow: [
//adds a shadow to the appbar
new BoxShadow(
color: Colors.black,
blurRadius: 5.0,
)]),
child: Container(
color: Colors.black,
blurRadius: 5.0,
)
]),
child: Container(
padding: EdgeInsets.only(top: 10, bottom: 10),
color: Palette.primaryBackgroundColor,
child: Row(children: <Widget>[
Expanded( //we're dividing the appbar into 7 : 3 ratio. 7 is for content and 3 is for the display picture.
flex: 7,
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Container(
height: 70 - (width * .06),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Expanded(
flex: 2,
child: Center(
child: Icon(
Icons.attach_file,
color: Palette.secondaryColor,
))),
Expanded(
flex: 6,
child: Container(
child: Column(
Expanded(
//we're dividing the appbar into 7 : 3 ratio. 7 is for content and 3 is for the display picture.
flex: 7,
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Expanded(
flex: 7,
child: Container(
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Expanded(
flex: 2,
child: Center(
child: IconButton(
icon: Icon(
Icons.attach_file,
color: Palette.secondaryColor,
),
onPressed: ()=>{}))),
Expanded(
flex: 6,
child: Container(
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
mainAxisAlignment:
MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Text('Aditya Gurjar',
style: textHeading),
Text('@adityagurjar',
style: textStyle)
],
))),
],
))),
//second row containing the buttons for media
Expanded(
flex: 3,
child: Container(
padding: EdgeInsets.fromLTRB(20, 5, 5, 0),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
CrossAxisAlignment.center,
children: <Widget>[
Text('Aditya Gurjar', style: textHeading),
Text('@adityagurjar', style: textStyle)
Text(
'Photos',
style: textStyle,
),
VerticalDivider(
width: 30,
color: Palette.primaryTextColor,
),
Text(
'Videos',
style: textStyle,
),
VerticalDivider(
width: 30,
color: Palette.primaryTextColor,
),
Text('Files', style: textStyle)
],
))),
],
)),
//second row containing the buttons for media
Container(
height: 23,
padding: EdgeInsets.fromLTRB(20, 5, 5, 0),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
'Photos',
style: textStyle,
),
VerticalDivider(
width: 30,
color: Palette.primaryTextColor,
),
Text(
'Videos',
style: textStyle,
),
VerticalDivider(
width: 30,
color: Palette.primaryTextColor,
),
Text('Files', style: textStyle)
],
)),
],
))),
//This is the display picture
Expanded(
flex: 3,
child: Container(
child: Center(
child: CircleAvatar(
radius: (80 - (width * .06)) / 2,
backgroundImage: Image.asset(
Assets.user,
).image,
)))),
]))));
],
))),
//This is the display picture
Expanded(
flex: 3,
child: Container(
child: Center(
child: CircleAvatar(
radius: 30,
backgroundImage: Image.asset(
Assets.user,
).image,
)))),
]))));
}

@override
Expand Down
4 changes: 2 additions & 2 deletions lib/widgets/ChatItemWidget.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import 'package:messio/config/Palette.dart';
import 'package:intl/intl.dart';

class ChatItemWidget extends StatelessWidget{
var index;
final int index;

ChatItemWidget(this.index);
const ChatItemWidget(this.index);

@override
Widget build(BuildContext context) {
Expand Down
6 changes: 5 additions & 1 deletion lib/widgets/InputWidget.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ import 'package:messio/config/Palette.dart';

class InputWidget extends StatelessWidget {

final TextEditingController textEditingController = new TextEditingController();
final TextEditingController textEditingController = TextEditingController();


InputWidget();

@override
Widget build(BuildContext context) {
Expand All @@ -16,6 +19,7 @@ class InputWidget extends StatelessWidget {
child: new IconButton(
icon: new Icon(Icons.face),
color: Palette.primaryColor,
onPressed: ()=>{},
),
),
color: Colors.white,
Expand Down
14 changes: 14 additions & 0 deletions test/main_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

import 'package:flutter_test/flutter_test.dart';
import 'package:messio/main.dart';
import 'package:messio/pages/ConversationPageList.dart';

void main() {
testWidgets('Main UI Test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(Messio());

expect(find.byType(ConversationPageList),findsOneWidget);

});
}
19 changes: 19 additions & 0 deletions test/pages/ConversationPageList_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:messio/pages/ConversationPage.dart';
import 'package:messio/pages/ConversationPageList.dart';

void main(){
const MaterialApp app = MaterialApp(
home: Scaffold(
body: const ConversationPageList()
),
);
testWidgets('ConversationPageList UI Test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(app);
expect(find.byType(ConversationPage),findsOneWidget);
expect(find.byType(PageView),findsOneWidget);

});
}
25 changes: 25 additions & 0 deletions test/pages/ConversationPage_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:messio/pages/ConversationPage.dart';
import 'package:messio/widgets/ChatAppBar.dart';
import 'package:messio/widgets/ChatListWidget.dart';
import 'package:messio/widgets/InputWidget.dart';

void main(){
const MaterialApp app = MaterialApp(
home: Scaffold(
body: const ConversationPage()
),
);

testWidgets('ConversationPage UI Test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(app);

expect(find.byType(ChatAppBar),findsOneWidget);
expect(find.byType(InputWidget),findsOneWidget);
expect(find.byType(ChatListWidget),findsOneWidget);


});
}
17 changes: 0 additions & 17 deletions test/widget_test.dart

This file was deleted.

20 changes: 20 additions & 0 deletions test/widgets/ChatAppBar_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:messio/widgets/ChatAppBar.dart';

void main(){
const MaterialApp app = MaterialApp(
home: Scaffold(
body: const ChatAppBar()
),
);
testWidgets('ChatAppBar UI Test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(app);

expect(find.text('Aditya Gurjar'), findsOneWidget);
expect(find.text('@adityagurjar'), findsOneWidget);
expect(find.byType(IconButton),findsNWidgets(1));
expect(find.byType(CircleAvatar),findsOneWidget);
});
}
20 changes: 20 additions & 0 deletions test/widgets/ChatItemWidget_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:messio/widgets/ChatItemWidget.dart';

void main(){
const MaterialApp app = MaterialApp(
home: Scaffold(
body: const ChatItemWidget(0)
),
);
testWidgets('ChatItemWidget UI Test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(app);

expect(find.byType(Container),findsNWidgets(3));
expect(find.byType(Column),findsNWidgets(1));
expect(find.byType(Row),findsNWidgets(2));
expect(find.byType(Text),findsNWidgets(2));
});
}
12 changes: 12 additions & 0 deletions test/widgets/ChatListWidget_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:messio/main.dart';

void main(){
testWidgets('ChatListWidget UI Test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(Messio());

expect(find.byType(ListView),findsOneWidget);
});
}
Loading