diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies
index 6201616f8fbc97ff7d242b258f69846928100402..40f2ac1141a3301196378ed20b3228234cfefa4b 100644
--- a/.flutter-plugins-dependencies
+++ b/.flutter-plugins-dependencies
@@ -1 +1 @@
-{"_info":"// This is a generated file; do not edit or check into version control.","dependencyGraph":[{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"geolocator","dependencies":["google_api_availability","location_permissions"]},{"name":"google_api_availability","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"google_sign_in","dependencies":["google_sign_in_web"]},{"name":"google_sign_in_web","dependencies":[]},{"name":"image_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"location","dependencies":[]},{"name":"location_permissions","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos"]},{"name":"path_provider_macos","dependencies":[]},{"name":"share","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]}]}
+{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"geolocator","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-5.3.2+2/","dependencies":["location_permissions"]},{"name":"google_maps_flutter","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-0.5.33/","dependencies":[]},{"name":"google_sign_in","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in-4.5.4/","dependencies":[]},{"name":"image_picker","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/image_picker-0.6.7+11/","dependencies":[]},{"name":"location","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/location-2.5.4/","dependencies":[]},{"name":"location_permissions","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/location_permissions-3.0.0+1/","dependencies":[]},{"name":"path_provider","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.18/","dependencies":[]},{"name":"share","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/share-0.6.5+2/","dependencies":[]},{"name":"shared_preferences","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.6+3/","dependencies":[]},{"name":"sqflite","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.1+1/","dependencies":[]}],"android":[{"name":"flutter_plugin_android_lifecycle","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.11/","dependencies":[]},{"name":"geolocator","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-5.3.2+2/","dependencies":["google_api_availability","location_permissions"]},{"name":"google_api_availability","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/google_api_availability-2.0.4/","dependencies":[]},{"name":"google_maps_flutter","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-0.5.33/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"google_sign_in","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in-4.5.4/","dependencies":[]},{"name":"image_picker","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/image_picker-0.6.7+11/","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"location","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/location-2.5.4/","dependencies":[]},{"name":"location_permissions","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/location_permissions-3.0.0+1/","dependencies":[]},{"name":"path_provider","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.18/","dependencies":[]},{"name":"share","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/share-0.6.5+2/","dependencies":[]},{"name":"shared_preferences","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.6+3/","dependencies":[]},{"name":"sqflite","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.1+1/","dependencies":[]}],"macos":[{"name":"path_provider_macos","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+4/","dependencies":[]},{"name":"shared_preferences_macos","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+10/","dependencies":[]},{"name":"sqflite","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.1+1/","dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1+2/","dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.4+1/","dependencies":[]}],"web":[{"name":"google_sign_in_web","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.9.2/","dependencies":[]},{"name":"shared_preferences_web","path":"/Users/suryanirvana/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+7/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"geolocator","dependencies":["google_api_availability","location_permissions"]},{"name":"google_api_availability","dependencies":[]},{"name":"google_maps_flutter","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"google_sign_in","dependencies":["google_sign_in_web"]},{"name":"google_sign_in_web","dependencies":[]},{"name":"image_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"location","dependencies":[]},{"name":"location_permissions","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos","path_provider_linux","path_provider_windows"]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"share","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]}],"date_created":"2020-10-13 00:20:46.305904","version":"1.20.3"}
\ No newline at end of file
diff --git a/android/app/build.gradle b/android/app/build.gradle
index ef268d8394dd813a2e4176105404aa060021410e..439aca026a1c179341a32a11976135927a26a38a 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -36,7 +36,7 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 def MAPS_API_KEY = localPropertyApiToken != null ? localPropertyApiToken : systemEnvApiToken
 
 android {
-    compileSdkVersion 28
+    compileSdkVersion 29
 
     sourceSets {
         main.java.srcDirs += 'src/main/kotlin'
@@ -50,7 +50,7 @@ android {
         // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
         applicationId "com.ppl.bisaGo"
         minSdkVersion 16
-        targetSdkVersion 28
+        targetSdkVersion 29
         versionCode flutterVersionCode.toInteger()
         versionName flutterVersionName
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/android/app/google-services.json b/android/app/google-services.json
index 1dfb40984a0696dc26af96efd917d8c72db325d7..3c6422c6decd654a16865a6663738abe65ed3ee7 100644
--- a/android/app/google-services.json
+++ b/android/app/google-services.json
@@ -14,6 +14,22 @@
         }
       },
       "oauth_client": [
+        {
+          "client_id": "442008806329-k7q1qgqn913v6tb5vt567h3gd2aiagr9.apps.googleusercontent.com",
+          "client_type": 1,
+          "android_info": {
+            "package_name": "com.ppl.bisaGo",
+            "certificate_hash": "148d7047af3dac3884313db29377dec83d03dc5d"
+          }
+        },
+        {
+          "client_id": "442008806329-669265c95ni1lim863fki5l43374d2l3.apps.googleusercontent.com",
+          "client_type": 1,
+          "android_info": {
+            "package_name": "com.ppl.bisaGo",
+            "certificate_hash": "db5bf060f53be0627fa0473cc29a6956beba6023"
+          }
+        },
         {
           "client_id": "442008806329-g4k8spiipeeeeao7di0pohfuvfh9dir7.apps.googleusercontent.com",
           "client_type": 1,
diff --git a/assets/images/DF.png b/assets/images/DF.png
new file mode 100644
index 0000000000000000000000000000000000000000..e286a2e66a157fac4ef6092205409747ad82f281
Binary files /dev/null and b/assets/images/DF.png differ
diff --git a/assets/images/DI.png b/assets/images/DI.png
new file mode 100644
index 0000000000000000000000000000000000000000..73e734d4741d7d390b61b82b44c17ccc2fc13b77
Binary files /dev/null and b/assets/images/DI.png differ
diff --git a/assets/images/DM.png b/assets/images/DM.png
new file mode 100644
index 0000000000000000000000000000000000000000..2201d13b9c2f26b3052a0515655b29bb2044653d
Binary files /dev/null and b/assets/images/DM.png differ
diff --git a/assets/images/DS.png b/assets/images/DS.png
new file mode 100644
index 0000000000000000000000000000000000000000..65809984e4044968cbe16f2aa4adc548aced55c3
Binary files /dev/null and b/assets/images/DS.png differ
diff --git a/lib/app.dart b/lib/app.dart
index ec9c37ddb4220812beb6c99c2b1358d2fa326eee..822a240fcb2385af5aa9ab3cc04a4867d366f73a 100644
--- a/lib/app.dart
+++ b/lib/app.dart
@@ -13,7 +13,6 @@ class BisaGo extends StatelessWidget {
         backgroundColor: Colors.white,
       ),
       home: Dashboard(),
-      //home:AddLokasi(),
     );
   }
 }
diff --git a/lib/config/styles.dart b/lib/config/styles.dart
index ec43d0e857ee7783a64d4ee851f6f12416731b20..b79be85033795e50d314bf23a287f9844e9028d4 100644
--- a/lib/config/styles.dart
+++ b/lib/config/styles.dart
@@ -6,6 +6,10 @@ const Color green = Color(0xff54ab54);
 const Color greenPale = Color(0xff4FBA4F);
 const Color redPrimary = Color(0xffC60000);
 const Color grayPrimary = Color(0xff645C5C);
+const Color purple = Color(0xff6A2C57);
+const Color red = Color(0xffDF3535);
+const Color greenDM = Color(0xff008A00);
+const Color blue = Color(0xff495AA8);
 
 const double superSmallSpace = 2.0;
 const double smallSpace = 4.0;
diff --git a/lib/page/addLokasi/addLokasi.dart b/lib/page/addLokasi/addLokasi.dart
index 0a6b73cf18ab5eb6f4ee755024d22ca28ede93d8..42f8351863bcc4e177a7efb70657c735175ef2e3 100644
--- a/lib/page/addLokasi/addLokasi.dart
+++ b/lib/page/addLokasi/addLokasi.dart
@@ -15,6 +15,7 @@ import 'package:bisaGo/component/bisago_appbar.dart';
 import 'package:bisaGo/config/styles.dart';
 import 'package:bisaGo/network/network_interface.dart';
 import 'package:shared_preferences/shared_preferences.dart';
+
 class AddLokasi extends StatefulWidget {
   @override
   _AddLokasiState createState() => _AddLokasiState();
@@ -68,6 +69,7 @@ class _AddLokasiState extends State<AddLokasi> {
             children: <Widget>[
               checkAvailabilityofUserLocation(),
               InkWell(
+                key: Key('InkWell'),
                 onTap: () async {
                   resetData();
                   var locationPrediction = await PlacesAutocomplete.show(
@@ -353,7 +355,8 @@ class _AddLokasiState extends State<AddLokasi> {
                     return alertDialog;
                   },
                   barrierDismissible: true)
-              .then((value) => (Navigator.of(context, rootNavigator: true).pop()));
+              .then((value) =>
+                  (Navigator.of(context, rootNavigator: true).pop()));
         }
       } catch (e) {
         var alertDialog = AlertDialog(
diff --git a/lib/page/dashboard/dashboard.dart b/lib/page/dashboard/dashboard.dart
index 15fb213deb00ddb91804ea3334ee0815b9c4a405..3dfd0be7db17983195485b776e5ca3b7cc14c158 100644
--- a/lib/page/dashboard/dashboard.dart
+++ b/lib/page/dashboard/dashboard.dart
@@ -72,7 +72,6 @@ class DashboardState extends State<Dashboard> {
                     fontFamily: 'Muli',
                     fontWeight: FontWeight.w700),
               ),
-              onTap: () => _navigateToPencarianPage(context),
             ),
           ),
         ),
diff --git a/lib/page/registrasi_penyandang_disabilitas/registrasiInformasiLayananDisabilitas.dart b/lib/page/registrasi_penyandang_disabilitas/registrasiInformasiLayananDisabilitas.dart
index 287efbd924ec879bbeffb0ad790ab641787b3207..71a4a9d3cf7802194477cf545e8e8dd72de5056d 100644
--- a/lib/page/registrasi_penyandang_disabilitas/registrasiInformasiLayananDisabilitas.dart
+++ b/lib/page/registrasi_penyandang_disabilitas/registrasiInformasiLayananDisabilitas.dart
@@ -1,4 +1,3 @@
-
 import 'dart:io';
 
 import 'package:flutter/cupertino.dart';
@@ -11,7 +10,6 @@ import 'package:bisaGo/utils/customTextField.dart';
 import 'package:bisaGo/utils/validator.dart';
 import 'package:bisaGo/network/network_interface.dart';
 
-
 class RegistrasiInformasiLayananDisabilitas extends StatefulWidget {
   @override
   _RegistrasiInformasiLayananDisabilitasState createState() =>
@@ -22,12 +20,12 @@ class _RegistrasiInformasiLayananDisabilitasState
     extends State<RegistrasiInformasiLayananDisabilitas> {
   _RegistrasiInformasiLayananDisabilitasState();
   Map<String, dynamic> data = {
-    'name':'',
-    'alamat':'',
+    'name': '',
+    'alamat': '',
     'tempat_lahir': '',
     'jenis_kelamin': '',
-    'pendidikan':'',
-    'pekerjaan':'',
+    'pendidikan': '',
+    'pekerjaan': '',
     'kategori': '',
     'no_telp': '',
     'email': '',
@@ -37,14 +35,8 @@ class _RegistrasiInformasiLayananDisabilitasState
   };
   //get isSelected => null;
   final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
-  final List<String> _dropdownValues = [
-    'Laki - Laki',
-    'Perempuan'
-  ];
-  final sexInitial = [
-    'LAKI-LAKI',
-    'PEREMPUAN'
-  ];
+  final List<String> _dropdownValues = ['Laki - Laki', 'Perempuan'];
+  final sexInitial = ['LAKI-LAKI', 'PEREMPUAN'];
   String showSex = 'Pilih salah satu';
   String showPendidikan = 'Pilih salah satu';
   String showPekerjaan = 'Pilih salah satu';
@@ -81,12 +73,7 @@ class _RegistrasiInformasiLayananDisabilitasState
     'Mental',
     'Sensorik'
   ];
-  final List<String> kategoriInitial = [
-    'FS',
-    'IN',
-    'MN',
-    'SN'
-  ];
+  final List<String> kategoriInitial = ['FS', 'IN', 'MN', 'SN'];
   final pekerjaanList = [
     'Petani',
     'Buruh',
@@ -170,17 +157,17 @@ class _RegistrasiInformasiLayananDisabilitasState
                 SizedBox(height: 20),
                 CustomTextField(
                   title: 'Nama Lengkap Penyandang',
-//                    key: Key('Text Field Nomor Telepon'),
+                  key: Key('Text Field Nama'),
                   controller: namaPenyandangController,
                 ),
                 CustomTextField(
                   title: 'Alamat penyandang',
-//                    key: Key('Text Field Nomor Telepon'),
+                  key: Key('Text Field Alamat'),
                   controller: alamatController,
                 ),
                 CustomTextField(
                   title: 'Tempat Lahir',
-                  //key: Key('Text Field Email'),
+                  key: Key('Text Field Tempat Lahir'),
                   controller: ttlController,
                   validator: FieldValidator.validateTtl,
                 ),
@@ -191,16 +178,16 @@ class _RegistrasiInformasiLayananDisabilitasState
                   children: <Widget>[
                     Text('Tanggal Lahir'),
                     FlatButton(
+                      key: Key('Tanggal Lahir Flat Button'),
                       onPressed: () {
                         DatePicker.showDatePicker(context,
                             showTitleActions: true,
-                            maxTime: DateTime.now(),
-                            onChanged: (date) {
+                            maxTime: DateTime.now(), onChanged: (date) {
                           setState(() {
-                            tanggalLahir = '${DateFormat('yyyy-MM-dd').format(date)}';
+                            tanggalLahir =
+                                '${DateFormat('yyyy-MM-dd').format(date)}';
                           });
-
-                            });
+                        });
                       },
                       child: Text(
                         tanggalLahir,
@@ -236,16 +223,18 @@ class _RegistrasiInformasiLayananDisabilitasState
                       ),
                       child: DropdownButtonHideUnderline(
                         child: DropdownButton(
+                          key: Key('Jenis Kelamin Dropdown'),
                           items: _dropdownValues
                               .map((value) => DropdownMenuItem(
-                            child: Text(value),
-                            value: value,
-                          ))
+                                    child: Text(value),
+                                    value: value,
+                                  ))
                               .toList(),
                           onChanged: (String value) {
                             setState(() {
                               showSex = value;
-                              data['jenis_kelamin'] = sexInitial[_dropdownValues.indexOf(value)];
+                              data['jenis_kelamin'] =
+                                  sexInitial[_dropdownValues.indexOf(value)];
                               print(data);
                             });
                           },
@@ -281,16 +270,18 @@ class _RegistrasiInformasiLayananDisabilitasState
                       ),
                       child: DropdownButtonHideUnderline(
                         child: DropdownButton(
+                          key: Key('Pendidikan Dropdown'),
                           items: _dropdownValues2
                               .map((value) => DropdownMenuItem(
-                            child: Text(value),
-                            value: value,
-                          ))
+                                    child: Text(value),
+                                    value: value,
+                                  ))
                               .toList(),
                           onChanged: (String value) {
                             setState(() {
                               showPendidikan = value;
-                              data['pendidikan'] = pendidikanInitial[_dropdownValues2.indexOf(value)];
+                              data['pendidikan'] = pendidikanInitial[
+                                  _dropdownValues2.indexOf(value)];
                               print(data);
                             });
                           },
@@ -326,16 +317,18 @@ class _RegistrasiInformasiLayananDisabilitasState
                       ),
                       child: DropdownButtonHideUnderline(
                         child: DropdownButton(
+                          key: Key('Pekerjaan Dropdown'),
                           items: pekerjaanList
                               .map((value) => DropdownMenuItem(
-                            child: Text(value),
-                            value: value,
-                          ))
+                                    child: Text(value),
+                                    value: value,
+                                  ))
                               .toList(),
                           onChanged: (String value) {
                             setState(() {
                               showPekerjaan = value;
-                              data['pekerjaan'] = pekerjaanInitial[pekerjaanList.indexOf(value)];
+                              data['pekerjaan'] = pekerjaanInitial[
+                                  pekerjaanList.indexOf(value)];
                               print(data);
                             });
                           },
@@ -372,16 +365,18 @@ class _RegistrasiInformasiLayananDisabilitasState
                       ),
                       child: DropdownButtonHideUnderline(
                         child: DropdownButton(
+                          key: Key('Kategori Dropdown'),
                           items: _dropdownValues3
                               .map((value) => DropdownMenuItem(
-                            child: Text(value),
-                            value: value,
-                          ))
+                                    child: Text(value),
+                                    value: value,
+                                  ))
                               .toList(),
                           onChanged: (String value) {
                             setState(() {
                               showKategori = value;
-                              data['kategori'] = kategoriInitial[_dropdownValues3.indexOf(value)];
+                              data['kategori'] = kategoriInitial[
+                                  _dropdownValues3.indexOf(value)];
                               print(data);
                             });
                           },
@@ -394,33 +389,36 @@ class _RegistrasiInformasiLayananDisabilitasState
                 ),
                 CustomTextField(
                   title: 'Nomor Telepon',
+                  key: Key('Text Field Nomor Telepon'),
                   controller: phoneController,
-                ),CustomTextField(
+                ),
+                CustomTextField(
                   title: 'Email',
+                  key: Key('Text Field Email'),
                   controller: emailController,
                 ),
                 CustomTextField(
                   title: 'Nama lengkap orang tua/wali',
-//                    key: Key('Text Field Nama'),
+                  key: Key('Text Field Nama Wali'),
                   validator: FieldValidator.validateNamaPengisiData,
                   controller: namaWaliController,
                 ),
                 CustomTextField(
                   title: 'Alamat lengkap orang tua/wali',
-//                    key: Key('Text Field Nama'),
+                  key: Key('Text Field Alamat Wali'),
 //                    validator: FieldValidator.validateName,
                   controller: alamatWaliController,
                 ),
                 CustomTextField(
                   title: 'No. hp orang tua/wali',
-//                    key: Key('Text Field Nama'),
+                  key: Key('Text Field Hp Wali'),
                   validator: FieldValidator.validateAlamat,
                   controller: phoneNumbOrtuController,
                 ),
                 Container(height: 10),
                 Container(
                   margin:
-                  EdgeInsets.only(left: doubleSpace, right: doubleSpace),
+                      EdgeInsets.only(left: doubleSpace, right: doubleSpace),
                   child: Row(
                     mainAxisAlignment: MainAxisAlignment.spaceBetween,
                     children: <Widget>[
@@ -458,6 +456,7 @@ class _RegistrasiInformasiLayananDisabilitasState
                         decoration: BoxDecoration(boxShadow: regularShadow),
                         child: SizedBox(
                           child: FlatButton(
+                            key: Key('Simpan Key'),
                             color: greenPrimary,
                             textColor: Colors.white,
                             padding: EdgeInsets.only(
@@ -492,10 +491,8 @@ class _RegistrasiInformasiLayananDisabilitasState
   }
 
   void _validateRegisInput() async {
-
-      await createPenyandang();
-      //_showDialog();
-
+    await createPenyandang();
+    //_showDialog();
   }
 
   TextEditingController alamatController = TextEditingController();
@@ -528,6 +525,7 @@ class _RegistrasiInformasiLayananDisabilitasState
       inputDataFail(context);
     }
   }
+
   void inputData(BuildContext context) {
     var alertDialog = AlertDialog(
       backgroundColor: greenPrimary,
@@ -567,5 +565,4 @@ class _RegistrasiInformasiLayananDisabilitasState
           return alertDialog;
         });
   }
-
 }
diff --git a/lib/page/tentang_disabilitas/tentang_disabilitas.dart b/lib/page/tentang_disabilitas/tentang_disabilitas.dart
new file mode 100644
index 0000000000000000000000000000000000000000..0ef6e981e4fa0ad2d0dc2d33f89318f7866f0869
--- /dev/null
+++ b/lib/page/tentang_disabilitas/tentang_disabilitas.dart
@@ -0,0 +1,227 @@
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_fisik.dart';
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_intelektual.dart';
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_mental.dart';
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_sensorik.dart';
+import 'package:flutter/material.dart';
+import 'package:bisaGo/component/bisago_appbar.dart';
+import 'package:bisaGo/component/bisago_drawer.dart';
+import 'package:bisaGo/config/styles.dart';
+
+class TentangDisabilitas extends StatefulWidget {
+  @override
+  _TentangDisabilitasState createState() => _TentangDisabilitasState();
+}
+
+class _TentangDisabilitasState extends State<TentangDisabilitas> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: PreferredSize(
+        preferredSize: Size.fromHeight(55),
+        child: BisaGoAppBar(),
+      ),
+      drawer: BisaGoDrawer(),
+      body: Container(
+        margin: EdgeInsets.fromLTRB(15.0, 0.0, 15.0, 0.0),
+        child: ListView(
+          children: <Widget>[
+            Container(
+              alignment: Alignment.center,
+              margin: EdgeInsets.fromLTRB(0.0, 30.0, 0.0, 20.0),
+              padding: EdgeInsets.only(
+                  top: tripleSpace,
+                  bottom: tripleSpace,
+                  left: tripleSpace,
+                  right: tripleSpace),
+              child: Text(
+                'Tentang Disabilitas',
+                style: TextStyle(
+                  fontSize: 28,
+                  fontWeight: FontWeight.w800,
+                  color: Colors.black,
+                  fontFamily: 'Comfortaa',
+                ),
+              ),
+            ),
+            Row(
+                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+                children: <Widget>[
+                  FlatButton(
+                    onPressed: () {
+                      _navigateDetailDisabilitasPage(context, 'Fisik');
+                    },
+                    child: Container(
+                        width: 135.0,
+                        alignment: Alignment.center,
+                        decoration: BoxDecoration(
+                          color: blue,
+                          borderRadius: BorderRadius.circular(5),
+                          boxShadow: regularShadow,
+                        ),
+                        padding: EdgeInsets.only(
+                            top: doubleSpace,
+                            bottom: doubleSpace,
+                            left: doubleSpace,
+                            right: doubleSpace),
+                        child: Column(
+                          crossAxisAlignment: CrossAxisAlignment.center,
+                          children: <Widget>[
+                            Container(
+                                key: Key('Image Disabilitas Fisik'),
+                                height: 71.0,
+                                margin:
+                                    EdgeInsets.fromLTRB(0.0, 20.0, 0.0, 20.0),
+                                child: Image.asset('assets/images/DF.png')),
+                            Text(
+                              'Disabilitas Fisik',
+                              textAlign: TextAlign.center,
+                              style: TextStyle(
+                                fontSize: 16,
+                                color: Colors.white,
+                                fontFamily: 'Comfortaa',
+                              ),
+                            ),
+                          ],
+                        )),
+                  ),
+                  FlatButton(
+                    onPressed: () {
+                      _navigateDetailDisabilitasPage(context, 'Intelektual');
+                    },
+                    child: Container(
+                        width: 135.0,
+                        alignment: Alignment.center,
+                        decoration: BoxDecoration(
+                          color: purple,
+                          borderRadius: BorderRadius.circular(5),
+                          boxShadow: regularShadow,
+                        ),
+                        padding: EdgeInsets.only(
+                            top: doubleSpace,
+                            bottom: doubleSpace,
+                            left: doubleSpace,
+                            right: doubleSpace),
+                        child: Column(
+                          crossAxisAlignment: CrossAxisAlignment.center,
+                          children: <Widget>[
+                            Container(
+                                key: Key('Image Disabilitas Intelektual'),
+                                height: 71.0,
+                                margin:
+                                    EdgeInsets.fromLTRB(0.0, 20.0, 0.0, 20.0),
+                                child: Image.asset('assets/images/DI.png')),
+                            Text(
+                              'Disabilitas Intelektual',
+                              textAlign: TextAlign.center,
+                              style: TextStyle(
+                                fontSize: 16,
+                                color: Colors.white,
+                                fontFamily: 'Comfortaa',
+                              ),
+                            ),
+                          ],
+                        )),
+                  ),
+                ]),
+            SizedBox(height: 40.0),
+            Row(
+                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+                children: <Widget>[
+                  FlatButton(
+                    onPressed: () {
+                      _navigateDetailDisabilitasPage(context, 'Mental');
+                    },
+                    child: Container(
+                        width: 135.0,
+                        alignment: Alignment.center,
+                        decoration: BoxDecoration(
+                          color: greenDM,
+                          borderRadius: BorderRadius.circular(5),
+                          boxShadow: regularShadow,
+                        ),
+                        padding: EdgeInsets.only(
+                            top: doubleSpace,
+                            bottom: doubleSpace,
+                            left: doubleSpace,
+                            right: doubleSpace),
+                        child: Column(
+                          crossAxisAlignment: CrossAxisAlignment.center,
+                          children: <Widget>[
+                            Container(
+                                key: Key('Image Disabilitas Mental'),
+                                height: 71.0,
+                                margin:
+                                    EdgeInsets.fromLTRB(0.0, 20.0, 0.0, 20.0),
+                                child: Image.asset('assets/images/DM.png')),
+                            Text(
+                              'Disabilitas Mental',
+                              textAlign: TextAlign.center,
+                              style: TextStyle(
+                                fontSize: 16,
+                                color: Colors.white,
+                                fontFamily: 'Comfortaa',
+                              ),
+                            ),
+                          ],
+                        )),
+                  ),
+                  FlatButton(
+                    onPressed: () {
+                      _navigateDetailDisabilitasPage(context, 'Sensorik');
+                    },
+                    child: Container(
+                        width: 135.0,
+                        alignment: Alignment.center,
+                        decoration: BoxDecoration(
+                          color: red,
+                          borderRadius: BorderRadius.circular(5),
+                          boxShadow: regularShadow,
+                        ),
+                        padding: EdgeInsets.only(
+                            top: doubleSpace,
+                            bottom: doubleSpace,
+                            left: doubleSpace,
+                            right: doubleSpace),
+                        child: Column(
+                          crossAxisAlignment: CrossAxisAlignment.center,
+                          children: <Widget>[
+                            Container(
+                                key: Key('Image Disabilitas Sensorik'),
+                                height: 71.0,
+                                margin:
+                                    EdgeInsets.fromLTRB(0.0, 20.0, 0.0, 20.0),
+                                child: Image.asset('assets/images/DS.png')),
+                            Text(
+                              'Disabilitas Sensorik',
+                              textAlign: TextAlign.center,
+                              style: TextStyle(
+                                fontSize: 16,
+                                color: Colors.white,
+                                fontFamily: 'Comfortaa',
+                              ),
+                            ),
+                          ],
+                        )),
+                  ),
+                ]),
+          ],
+        ),
+      ),
+    );
+  }
+
+  void _navigateDetailDisabilitasPage(BuildContext context, String type) {
+    var route;
+    if (type == 'Fisik') {
+      route = MaterialPageRoute(builder: (_) => TentangDisabilitasFisik());
+    } else if (type == 'Mental') {
+      route = MaterialPageRoute(builder: (_) => TentangDisabilitasMental());
+    } else if (type == 'Intelektual') {
+      route =
+          MaterialPageRoute(builder: (_) => TentangDisabilitasIntelektual());
+    } else if (type == 'Sensorik') {
+      route = MaterialPageRoute(builder: (_) => TentangDisabilitasSensorik());
+    }
+    Navigator.of(context).push(route);
+  }
+}
diff --git a/lib/page/tentang_disabilitas/tentang_disabilitas_fisik.dart b/lib/page/tentang_disabilitas/tentang_disabilitas_fisik.dart
new file mode 100644
index 0000000000000000000000000000000000000000..755388f932a9ca9614a227b923400fc6882dc81e
--- /dev/null
+++ b/lib/page/tentang_disabilitas/tentang_disabilitas_fisik.dart
@@ -0,0 +1,181 @@
+import 'package:flutter/material.dart';
+import 'package:bisaGo/component/bisago_appbar.dart';
+import 'package:bisaGo/config/styles.dart';
+
+class TentangDisabilitasFisik extends StatefulWidget {
+  @override
+  _TentangDisabilitasFisik createState() => _TentangDisabilitasFisik();
+}
+
+class _TentangDisabilitasFisik extends State<TentangDisabilitasFisik> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: PreferredSize(
+        preferredSize: Size.fromHeight(55),
+        child: BisaGoAppBar(
+          title: 'Tentang Disabilitas',
+          leading: InkWell(
+              child: Icon(Icons.arrow_back_ios),
+              onTap: () => Navigator.pop(context, 'Take me back')),
+        ),
+      ),
+      body: Container(
+        child: ListView(
+          children: <Widget>[
+            Container(
+              key: Key('Title Disabilitas Fisik'),
+              alignment: Alignment.center,
+              decoration: BoxDecoration(color: blue, boxShadow: regularShadow),
+              margin: EdgeInsets.only(top: tripleSpace),
+              padding: EdgeInsets.only(
+                  top: tripleSpace,
+                  bottom: tripleSpace,
+                  left: tripleSpace,
+                  right: tripleSpace),
+              child: Text(
+                'Disabilitas\nFisik',
+                style: TextStyle(
+                  fontSize: 38,
+                  fontWeight: FontWeight.w800,
+                  color: Colors.white,
+                  fontFamily: 'Comfortaa',
+                ),
+                textAlign: TextAlign.center,
+              ),
+            ),
+            Container(
+              key: Key('Description Disabilitas Fisik'),
+              margin: EdgeInsets.only(
+                top: tripleSpace,
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Disabilitas fisik adalah keterbatasan yang diakibatkan oleh gangguan pada fungsi tubuh dan dapat muncul sejak lahir atau akibat kecelakaan, penyakit, atau efek samping dari pengobatan medis. Beberapa disabilitas yang tergolong disabilitas fisik  antara lain lumpuh layuh, kehilangan anggota tubuh akibat amputasi, cerebral palsy, dan lain sebagainya.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Amputasi'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Amputasi',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: blue,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Amputasi'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Amputasi adalah seseorang yang tidak memiliki atau kehilangan organ tubuh di bagian tangan, atau kaki.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Lumpuh Layuh'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Lumpuh Layuh',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: blue,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Lumpuh Layuh'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Lumpuh Layuh atau kaku adalah seseorang yang mengalami kelayuhan organ fisik tangan dan/atau kaki.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Cerebral Palsy'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Cerebral Palsy',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: blue,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Cerebral Palsy'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Cerebral palsy (CP) adalah seseorang yang mengalami gangguan postur dan kontrol gerakan yang bersifat non-progresif, yang disebabkan oleh kerusakan atau kelumpuhan sistem syaraf pusat.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Extra Information'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Selain beberapa disabilitas yang dijelaskan di atas, disabilitas fisik juga mencakup keterbatasan fisik lainnya.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+          ],
+        ),
+      ),
+    );
+  }
+}
diff --git a/lib/page/tentang_disabilitas/tentang_disabilitas_intelektual.dart b/lib/page/tentang_disabilitas/tentang_disabilitas_intelektual.dart
new file mode 100644
index 0000000000000000000000000000000000000000..5b1acf81a88c26a330736bf61334f24f147a3e7f
--- /dev/null
+++ b/lib/page/tentang_disabilitas/tentang_disabilitas_intelektual.dart
@@ -0,0 +1,168 @@
+import 'package:flutter/material.dart';
+import 'package:bisaGo/component/bisago_appbar.dart';
+import 'package:bisaGo/config/styles.dart';
+
+class TentangDisabilitasIntelektual extends StatefulWidget {
+  @override
+  _TentangDisabilitasIntelektual createState() =>
+      _TentangDisabilitasIntelektual();
+}
+
+class _TentangDisabilitasIntelektual
+    extends State<TentangDisabilitasIntelektual> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: PreferredSize(
+        preferredSize: Size.fromHeight(55),
+        child: BisaGoAppBar(
+          title: 'Tentang Disabilitas',
+          leading: InkWell(
+              child: Icon(Icons.arrow_back_ios),
+              onTap: () => Navigator.pop(context, 'Take me back')),
+        ),
+      ),
+      body: Container(
+        child: ListView(
+          children: <Widget>[
+            Container(
+              key: Key('Title Disabilitas Intelektual'),
+              alignment: Alignment.center,
+              decoration:
+                  BoxDecoration(color: purple, boxShadow: regularShadow),
+              margin: EdgeInsets.only(top: tripleSpace),
+              padding: EdgeInsets.only(
+                  top: tripleSpace,
+                  bottom: tripleSpace,
+                  left: tripleSpace,
+                  right: tripleSpace),
+              child: Text(
+                'Disabilitas\nIntelektual',
+                style: TextStyle(
+                  fontSize: 38,
+                  fontWeight: FontWeight.w800,
+                  color: Colors.white,
+                  fontFamily: 'Comfortaa',
+                ),
+                textAlign: TextAlign.center,
+              ),
+            ),
+            Container(
+              key: Key('Description Disabilitas Intelektual'),
+              margin: EdgeInsets.only(
+                top: tripleSpace,
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Disabilitas intelektual adalah keterbatasan yang diakibatkan oleh terganggunya fungsi intelektual dan  adaptif seseorang. Kondisi ini bisa dibagi menjadi tingkat ringan, sedang, dan berat.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Ringan'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Ringan (IQ 52-79)',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: purple,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Ringan'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Pada tingkat ringan, individu akan memiliki kesulitan dalam kekuatan, kecepetan dan koordinasi. Perhatian yang dimiliki akan kurang dan sulit berkonsentrasi, tetapi tetap mampu mengurus dirinya sendiri.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Sedang'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Sedang (IQ 36-51)',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: purple,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Sedang'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Pada tingkat sedang, individu masih dapat dilatih untuk melakukan tugas-tugas sederhana. Umumnya, individu dengan kondisi ini akan membutuhkan pendampingan sebab memiliki kekurangan kemampuan mengingat, menggeneralisasi, kreativitas, dan konseptual. ',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Berat'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Berat (IQ 20-35)',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: purple,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Berat'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Pada tingkat berat, individu tidak dapat mengurus dirinya sendiri. Oleh karena itu, individu ini akan sangat membutuhkan pendampingan. Individu juga tidak memiliki kemampuan bersosialisasi ataupun berinteraksi yang baik',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+          ],
+        ),
+      ),
+    );
+  }
+}
diff --git a/lib/page/tentang_disabilitas/tentang_disabilitas_mental.dart b/lib/page/tentang_disabilitas/tentang_disabilitas_mental.dart
new file mode 100644
index 0000000000000000000000000000000000000000..266423a2514a283c3771033a867c339133cd0530
--- /dev/null
+++ b/lib/page/tentang_disabilitas/tentang_disabilitas_mental.dart
@@ -0,0 +1,166 @@
+import 'package:flutter/material.dart';
+import 'package:bisaGo/component/bisago_appbar.dart';
+import 'package:bisaGo/config/styles.dart';
+
+class TentangDisabilitasMental extends StatefulWidget {
+  @override
+  _TentangDisabilitasMental createState() => _TentangDisabilitasMental();
+}
+
+class _TentangDisabilitasMental extends State<TentangDisabilitasMental> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: PreferredSize(
+        preferredSize: Size.fromHeight(55),
+        child: BisaGoAppBar(
+          title: 'Tentang Disabilitas',
+          leading: InkWell(
+              child: Icon(Icons.arrow_back_ios),
+              onTap: () => Navigator.pop(context, 'Take me back')),
+        ),
+      ),
+      body: Container(
+        child: ListView(
+          children: <Widget>[
+            Container(
+              key: Key('Title Disabilitas Mental'),
+              alignment: Alignment.center,
+              decoration:
+                  BoxDecoration(color: greenDM, boxShadow: regularShadow),
+              margin: EdgeInsets.only(top: tripleSpace),
+              padding: EdgeInsets.only(
+                  top: tripleSpace,
+                  bottom: tripleSpace,
+                  left: tripleSpace,
+                  right: tripleSpace),
+              child: Text(
+                'Disabilitas\nMental',
+                style: TextStyle(
+                  fontSize: 38,
+                  fontWeight: FontWeight.w800,
+                  color: Colors.white,
+                  fontFamily: 'Comfortaa',
+                ),
+                textAlign: TextAlign.center,
+              ),
+            ),
+            Container(
+              key: Key('Description Disabilitas Mental'),
+              margin: EdgeInsets.only(
+                top: tripleSpace,
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Disabilitas mental adalah keterbatasan yang diakibatkan oleh gangguan dalam otak atau pikiran, seperti Skizofrenia, Demensia, Retardasi, dan lainnya. Penyandang disabilitas mental dapat memiliki kesulitan untuk berpikir, berkonsentrasi, mengambil keputusan, dan mengutarakan pikiran mereka. Terdapat beberapa faktor yang dapat menyebabkan disabilitas mental, antara lain faktor biologis, faktor psikologis, dan faktor sosial spiritual.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Faktor Biologis'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Faktor Biologis',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: greenDM,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Faktor Biologis'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Beberapa hal yang tergolong faktor ini adalah penyakit kronis, penyakit fisik yang mempengaruhi fungsi otak, dan penyalahgunaan NAPZA.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Faktor Psikologis'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Faktor Psikologis',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: greenDM,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Faktor Psikologis'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Beberapa hal yang tergolong faktor ini adalah pola penyelesaian masalah, pola adaptasi, pola kepribadian, dan pola mekanisme pertahanan diri.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Faktor Sosial Spiritual'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Faktor Sosial Spiritual',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: greenDM,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Faktor Sosial Spiritual'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Beberapa hal yang tergolong faktor ini adalah pola relasi, situasi krisis, system dukungan, dan tantangan.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+          ],
+        ),
+      ),
+    );
+  }
+}
diff --git a/lib/page/tentang_disabilitas/tentang_disabilitas_sensorik.dart b/lib/page/tentang_disabilitas/tentang_disabilitas_sensorik.dart
new file mode 100644
index 0000000000000000000000000000000000000000..d1b7a7f9be968af60b1cf7d04911471f1686e115
--- /dev/null
+++ b/lib/page/tentang_disabilitas/tentang_disabilitas_sensorik.dart
@@ -0,0 +1,165 @@
+import 'package:flutter/material.dart';
+import 'package:bisaGo/component/bisago_appbar.dart';
+import 'package:bisaGo/config/styles.dart';
+
+class TentangDisabilitasSensorik extends StatefulWidget {
+  @override
+  _TentangDisabilitasSensorik createState() => _TentangDisabilitasSensorik();
+}
+
+class _TentangDisabilitasSensorik extends State<TentangDisabilitasSensorik> {
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+      appBar: PreferredSize(
+        preferredSize: Size.fromHeight(55),
+        child: BisaGoAppBar(
+          title: 'Tentang Disabilitas',
+          leading: InkWell(
+              child: Icon(Icons.arrow_back_ios),
+              onTap: () => Navigator.pop(context, 'Take me back')),
+        ),
+      ),
+      body: Container(
+        child: ListView(
+          children: <Widget>[
+            Container(
+              key: Key('Title Disabilitas Sensorik'),
+              alignment: Alignment.center,
+              decoration: BoxDecoration(color: red, boxShadow: regularShadow),
+              margin: EdgeInsets.only(top: tripleSpace),
+              padding: EdgeInsets.only(
+                  top: tripleSpace,
+                  bottom: tripleSpace,
+                  left: tripleSpace,
+                  right: tripleSpace),
+              child: Text(
+                'Disabilitas\nSensorik',
+                style: TextStyle(
+                  fontSize: 38,
+                  fontWeight: FontWeight.w800,
+                  color: Colors.white,
+                  fontFamily: 'Comfortaa',
+                ),
+                textAlign: TextAlign.center,
+              ),
+            ),
+            Container(
+              key: Key('Description Disabilitas Sensorik'),
+              margin: EdgeInsets.only(
+                top: tripleSpace,
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Disabilitas sensorik adalah terganggunya salah satu fungsi dari panca indera, antara lain disabilitas netra (Tunanetra), disabilitas rungu (Tunarungu), dan/atau disabilitas wicara (Tunawicara).',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Tunanetra'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Tunanetra',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: red,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Tunanetra'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Tunanetra adalah individu yang memiliki hambatan dalam penglihatan. Dengan kata lain, tunanetra juga biasa disebut buta. Secara umum, terdapat dua golongan tunanetra, yaitu buta total dan buta parsial.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Tunarungu'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Tunarungu',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: red,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Tunarungu'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Tunarungu adalah individu yang memiliki hambatan dalam pendengaran. Terdapat dua golongan tunarungu, yaitu tunarungu permanen dan non permanen. Pada beberapa kasus, orang dengan disabilitas ini juga memiliki keterbatasan dalam berbicara, sehingga disebut juga dengan tunawicara.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Title Tunawicara'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+              ),
+              child: Text(
+                'Tunawicara',
+                style: TextStyle(
+                  fontSize: 26,
+                  color: red,
+                  fontFamily: 'Muli',
+                  fontWeight: FontWeight.w900,
+                ),
+              ),
+            ),
+            Container(
+              key: Key('Description Tunawicara'),
+              margin: EdgeInsets.only(
+                left: tripleSpace,
+                right: tripleSpace,
+                bottom: tripleSpace,
+              ),
+              child: Text(
+                'Tunawicara adalah seseorang yang mengalami kesulitan dalam mengungkapkan pikiran melalui bahasa verbal, sehingga sulit bahkan tidak dapat dimengerti oleh orang lain. Kelainan bicara dapat juga disebabkan karena kelainan pendengaran.',
+                style: TextStyle(
+                  fontSize: 20,
+                  color: Colors.black,
+                  fontFamily: 'Muli',
+                ),
+              ),
+            ),
+          ],
+        ),
+      ),
+    );
+  }
+}
diff --git a/pubspec.yaml b/pubspec.yaml
index 7ca2c7a9ea0c8f5954151dcf2bfeac79d77aa74e..07b86463f3b1dbc6f5a6d2d41888aed1e9f6674b 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -79,6 +79,10 @@ flutter:
     - assets/images/margocity.jpg
     - assets/images/disabletoilet.jpg
     - assets/images/bisaGo.png
+    - assets/images/DF.png
+    - assets/images/DI.png
+    - assets/images/DM.png
+    - assets/images/DS.png
     - .env
 
   # An image asset can refer to one or more resolution-specific "variants", see
diff --git a/test/aboutUs_test.dart b/test/aboutUs_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..f5cb27bae4b1b686556c91efbec9b907d56207a3
--- /dev/null
+++ b/test/aboutUs_test.dart
@@ -0,0 +1,12 @@
+import 'package:bisaGo/page/aboutUs/aboutUs.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+void main() {
+  testWidgets('Test About Us Page', (WidgetTester tester) async {
+    await tester.pumpWidget(MaterialApp(home: aboutUs()));
+    final aboutText = find.text(
+        'BisaGo adalah aplikasi penyedia informasi layanan fasilitas publik online yang ramah bagi penyandang disabilitas. BisaGo juga merupakan sebuah aplikasi dengan misi sosial yaitu mencapai kesamaan akses dalam pemanfaatan fasilitas publik bagi penyandang disabilitas.\n\nAplikasi BisaGo memiliki berbagai fitur dan layanan keren lainnya. Itu semua dapat dilakukan dalam satu aplikasi! Ingin tahu informasi fasilitas? Anda bisa langsung melakukan pencarian di lokasi yang diinginkan lewat aplikasi. Ingin tambahkan informasi? Anda juga bisa meng-upload informasi fasilitas publik dengan fitur ini.\n\nDengan mengunduh aplikasi dan menggunakan layanan BisaGo, Anda tidak hanya dapat membantu mencapai kemudahan akses fasilitas publik bagi masyarakat, Anda juga akan membantu mewujudkan impian para penyandang disabilitas dalam melakukan mobilisasi dengan mudah. Anda berperan dalam misi untuk meningkatkan kemudahan hidup masyarakat di Indonesia, setiap kali Anda melakukan perjalanan ke tempat publik dan menggunakan layanan kami!');
+    expect(aboutText, findsOneWidget);
+  });
+}
diff --git a/test/addInformasi_test.dart b/test/addInformasi_test.dart
index 3c5e1e2f8bfbdbc1930e4473e661eb983e1f0c3d..a08534a0d6b2ea92782065952a989a83cc93b6e6 100644
--- a/test/addInformasi_test.dart
+++ b/test/addInformasi_test.dart
@@ -3,7 +3,7 @@ import 'package:flutter_test/flutter_test.dart';
 import 'package:bisaGo/utils/validator.dart';
 import 'package:bisaGo/page/addInformasi/addInfromasi.dart';
 
-void main(){
+void main() {
   testWidgets('Test Input Gambar', (WidgetTester tester) async {
     final testInputImage = Key('Input Gambar');
     await tester.pumpWidget(MaterialApp(home: AddInformasi()));
@@ -50,9 +50,9 @@ void main(){
     expect(result, null);
   });
 
-  test('Star rating start from zero', (){
+  test('Star rating start from zero', () {
     var info = AddInformasiState();
+    info.addInfo('KD', 'Kursi Roda', '5.0');
     expect(info.data['rating'], 0.0);
   });
-
-}
\ No newline at end of file
+}
diff --git a/test/addLokasi_test.dart b/test/addLokasi_test.dart
index e1e2dc125ffded6afb9eebd3cbc53811eebb7b1a..811e4c7fbe88d24aa0173878a8efef193378e4c4 100644
--- a/test/addLokasi_test.dart
+++ b/test/addLokasi_test.dart
@@ -1,6 +1,9 @@
+import 'package:bisaGo/component/bisago_appbar.dart';
+import 'package:bisaGo/page/addLokasi/addLokasi.dart';
+import 'package:bisaGo/page/pencarian/pencarian.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
-import 'package:bisaGo/page/registrasi_penyandang_disabilitas/registrasiInformasiLayananDisabilitas.dart';
+import 'package:google_maps_flutter/google_maps_flutter.dart';
 
 void main() {
   Widget buildTestableWidget(Widget widget) {
@@ -9,28 +12,60 @@ void main() {
   }
 
   testWidgets('find add lokasi page', (WidgetTester tester) async {
-    // Provide the childWidget to the Container.
-    await tester.pumpWidget(buildTestableWidget(RegistrasiInformasiLayananDisabilitas()));
-    final scaffoldTextFieldKey = Key('Scaffold Text Field');
-
-    //positive test
-    expect(find.byType(Container), findsNWidgets(53));
-    expect(find.byType(Column), findsNWidgets(10));
-    expect(find.byType(Text), findsNWidgets(53));
-    expect(find.byType(Icon), findsNWidgets(5));
-    expect(find.byType(Row), findsNWidgets(6));
-    expect(find.byType(Scaffold), findsOneWidget);
-    expect(find.byType(SizedBox), findsNWidgets(61));
-    expect(find.byType(FlatButton), findsNWidgets(3));
-
-    //negative test
-    expect(find.byType(FormField), findsNothing);
-    expect(find.byType(BoxDecoration), findsNothing);
-    expect(find.byType(Flex), findsNothing);
-    expect(find.byKey(scaffoldTextFieldKey), findsNothing);
-    expect(find.text('tambh lokasi'), findsNothing);
-    expect(find.text('almt'), findsNothing);
-    expect(find.text('nm lkssss'), findsNothing);
-    expect(find.text('latitde'), findsNothing);
+    await tester.pumpWidget(buildTestableWidget(AddLokasi()));
   });
+
+  testWidgets('validate empty nama lokasi test', (WidgetTester tester) async {
+    var result = FieldValidator.validateNamaLokasi('');
+    expect(result, '*Wajib diisi');
+  });
+
+  testWidgets('validate empty alamat test', (WidgetTester tester) async {
+    var result = FieldValidator.validateAlamat('');
+    expect(result, '*Wajib diisi');
+  });
+
+  testWidgets('validate empty phone number test', (WidgetTester tester) async {
+    var result = FieldValidator.validatePhoneNumb('');
+    expect(result, '*Wajib diisi');
+  });
+
+  testWidgets('validate empty latitude test', (WidgetTester tester) async {
+    var result = FieldValidator.validateLatitude('');
+    expect(result, '*Wajib diisi');
+  });
+
+  testWidgets('validate empty langitude test', (WidgetTester tester) async {
+    var result = FieldValidator.validateLangitude('');
+    expect(result, '*Wajib diisi');
+  });
+
+  testWidgets('tap search field in add lokasi page',
+      (WidgetTester tester) async {
+    await tester.pumpWidget(buildTestableWidget(AddLokasi()));
+    final bisaGoAppBar = find.byType(BisaGoAppBar);
+    await tester.tap(bisaGoAppBar);
+    await tester.pumpWidget(buildTestableWidget(Pencarian()));
+  });
+  testWidgets('Add Lokasi State Page', (WidgetTester tester) async {
+    final addLokasiPage = AddLokasi();
+    final addLokasiState = addLokasiPage.createState();
+    addLokasiState.currentLatLng = LatLng(5.0, 5.0);
+    addLokasiState.addLokasiModal();
+    addLokasiState.resetData();
+    addLokasiState.checkAvailabilityofUserLocation();
+  });
+
+  testWidgets('Back To Pencarian From Add Lokasi', (WidgetTester tester) async {
+    final backButtonToPencarian = find.byIcon(Icons.arrow_back_ios);
+    await tester.pumpWidget(buildTestableWidget(AddLokasi()));
+    await tester.tap(backButtonToPencarian);
+  });
+
+  // testWidgets('Location Prediction Test', (WidgetTester tester) async {
+  //   final inkwell = find.byKey(Key('InkWell'));
+  //   await tester.pumpWidget(buildTestableWidget(AddLokasi()));
+  //   await tester.tap(inkwell);
+  //   expect(inkwell, findsOneWidget);
+  // });
 }
diff --git a/test/bloc_test.dart b/test/bloc_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..b81c3beb22f9d162097cbc95e402b8b8fc90f3a2
--- /dev/null
+++ b/test/bloc_test.dart
@@ -0,0 +1,71 @@
+import 'package:bisaGo/bloc/KomentarBloc.dart';
+import 'package:bisaGo/bloc/SekolahBloc.dart';
+import 'package:bisaGo/model/komentar.dart';
+import 'package:bisaGo/model/sekolah.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+void main() {
+  final komentarData = {
+    'nama_lokasi': 'Margo City',
+    'deskripsi':
+        'Ada toilet khusus disabilitas terletak di lantai 2 dekat kintan, kondisinya bagus dan bersih layak pakai.\r\n\r\nAda kursi roda juga di customer service lantai dasar, saya tidak ingat jumlahnya ada berapa, tapi ada lumayan banyak.',
+    'creator': '',
+    'date_time': '12-04-2020 14:33:54',
+    'like': 20,
+    'dislike': 1,
+    'rating': 3,
+    'tag': ['KR', 'TD'],
+    'image': 'static/img/2669211407.jpg',
+    'is_verified': false
+  };
+  final sekolahData = {
+    'name': 'SMA Tanjung Barat',
+    'alamat': 'Kecamatan Tanjung Barat',
+    'no_telp': '0213425367',
+    'website': 'www.tanjungbarat.co.id',
+    'jumlah_siswa': 200,
+    'status': 'IT',
+    'jenis_sekolah': 'IK',
+    'akreditasi': 'A',
+  };
+  var komentarList = <KomentarModel>[KomentarModel.fromJson(komentarData)];
+  final komentarBloc = KomentarBloc('Margo City');
+  komentarBloc.allKomentarFromApi = komentarList;
+  var sekolahList = [SekolahModel.fromJson(sekolahData)];
+  final sekolahBloc = SekolahBloc();
+  sekolahBloc.allSekolahFromApi = [SekolahModel.fromJson(sekolahData)];
+
+  test('Filter Komentar Bloc', () {
+    komentarBloc.filterKomentarList('KR', false, komentarList);
+    komentarBloc.filterKomentarList('KR', true, komentarList);
+  });
+
+  test('Sort Komentar Bloc', () {
+    komentarBloc.sortKomentarList(0, komentarList);
+    komentarBloc.sortKomentarList(1, komentarList);
+    komentarBloc.sortKomentarList(2, komentarList);
+  });
+
+  test('Reset Komentar List Bloc', () {
+    komentarBloc.resetKomentarList();
+  });
+
+  test('Filter Sekolah Based On Kecamatan', () {
+    sekolahBloc.filterbyKecamatan('Tanjung Barat', true, sekolahList);
+    sekolahBloc.filterbyKecamatan('Tanjung Barat', false, sekolahList);
+  });
+
+  test('Filter Sekolah Based On Tingkat Sekolah', () {
+    sekolahBloc.filterbyKategoriSekolah('SMA', true, sekolahList);
+    sekolahBloc.filterbyKategoriSekolah('SMA', false, sekolahList);
+  });
+
+  test('Filter Sekolah Based On Kategori Sekolah', () {
+    sekolahBloc.filterbyTingkatSekolah('IK', true, sekolahList);
+    sekolahBloc.filterbyTingkatSekolah('IK', false, sekolahList);
+  });
+
+  test('Reset Sekolah List Bloc', () {
+    sekolahBloc.resetSekolahList();
+  });
+}
diff --git a/test/confingStrings_test.dart b/test/confingStrings_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..8b0cf5b6f0ded882dd3f4d61d62ef9dd71df4178
--- /dev/null
+++ b/test/confingStrings_test.dart
@@ -0,0 +1,9 @@
+import 'package:bisaGo/config/strings.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+void main() {
+  test('Config Strings Test', () {
+    expect('IK', JENIS['Inklusi']);
+    expect('SW', STATUS_SEKOLAH['Swasta']);
+  });
+}
diff --git a/test/customException_test.dart b/test/customException_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..9e53ce6c92de93fda96c9d736e6596f3886d7b08
--- /dev/null
+++ b/test/customException_test.dart
@@ -0,0 +1,29 @@
+import 'package:bisaGo/network/CustomException.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+void main() {
+  var customException = CustomException('Custom Exception Message', 'Error: ');
+  var fetchDataException = FetchDataException('Fetch Data Exception');
+  var badRequestException = BadRequestException('Bad Request Exception');
+  var unauthorisedException = UnauthorisedException('Unauthorised Exception');
+  var invalidInputException = InvalidInputException('Invalid Input Exception');
+  testWidgets('Custom Exception Test', (WidgetTester tester) async {
+    expect('Error: Custom Exception Message', customException.toString());
+  });
+  testWidgets('Fetch Data Exception Test', (WidgetTester tester) async {
+    expect('Error During Communication: Fetch Data Exception',
+        fetchDataException.toString());
+  });
+  testWidgets('Bad Request Exception Test', (WidgetTester tester) async {
+    expect('Invalid Request: Bad Request Exception',
+        badRequestException.toString());
+  });
+  testWidgets('Unauthorised Exception Test', (WidgetTester tester) async {
+    expect('Unauthorised: Unauthorised Exception',
+        unauthorisedException.toString());
+  });
+  testWidgets('Invalid Input Exception Test', (WidgetTester tester) async {
+    expect('Invalid Input: Invalid Input Exception',
+        invalidInputException.toString());
+  });
+}
diff --git a/test/detail_post_test.dart b/test/detail_post_test.dart
index 1852a7a51e9cbd72c9e3d48ce65c5dc2d6665f59..efa836971c8981a858399e736c756206270643b5 100644
--- a/test/detail_post_test.dart
+++ b/test/detail_post_test.dart
@@ -59,6 +59,12 @@ void main() {
     expect(find.byKey(Key('komentar')), findsNothing);
   });
 
+  testWidgets('Create a komentar placeholder', (WidgetTester tester) async {
+    final detailPostState = detailPostPage.createState();
+    detailPostState.komentarPlaceHolder(
+        'Halo', DateTime(2020, 1, 1), 'This is a test');
+  });
+
   test('Should decrypt tag code', () {
     expect(getTag('KR'), tags['KR']);
   });
diff --git a/test/fasilitas_test.dart b/test/fasilitas_test.dart
index a5a084f7496e059a49033e930ecf63febdb4ce63..c172d07173ca3a49e8f4a3b86538252df2effa9d 100644
--- a/test/fasilitas_test.dart
+++ b/test/fasilitas_test.dart
@@ -35,6 +35,7 @@ void main() {
 
   setUp(() {
     getDioInstance('test');
+    mockLokasiDependencies();
     mockFasilitasDependencies(mockFasilitas);
   });
 
diff --git a/test/list_sekolah_test.dart b/test/list_sekolah_test.dart
index 09a777201e79781c2a2085a389a75e25b107edc6..f8419c100828ad37fadf695580731e56204b9b23 100644
--- a/test/list_sekolah_test.dart
+++ b/test/list_sekolah_test.dart
@@ -5,17 +5,37 @@
 // gestures. You can also use WidgetTester to find child widgets in the widget
 // tree, read text, and verify that the values of widget properties are correct.
 
+import 'package:bisaGo/model/sekolah.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
 import 'package:bisaGo/page/informasi/list_sekolah.dart';
 
 void main() {
+  final sekolahData = {
+    'name': 'SMA Tanjung Barat',
+    'alamat': 'Kecamatan Tanjung Barat',
+    'no_telp': '0213425367',
+    'website': 'www.tanjungbarat.co.id',
+    'jumlah_siswa': 200,
+    'status': 'IT',
+    'jenis_sekolah': 'IK',
+    'akreditasi': 'A',
+  };
+  var sekolahList = [SekolahModel.fromJson(sekolahData)];
   Widget buildTestableWidget(Widget widget) {
     // https://docs.flutter.io/flutter/widgets/MediaQuery-class.html
     return MediaQuery(data: MediaQueryData(), child: MaterialApp(home: widget));
   }
 
-  testWidgets('find a title app bar', (WidgetTester tester) async {
+  testWidgets('make a lokasi widget on list sekolah',
+      (WidgetTester tester) async {
+    final listSekolahPage = ListSekolah();
+    final listSekolahState = listSekolahPage.createState();
+    listSekolahState.makeLokasiWidget('SMATB', sekolahList);
+  });
+
+  testWidgets('make a sekolah widget on list sekolah',
+      (WidgetTester tester) async {
     final textAppBar = Key('appbar-text-informasi-sekolah');
     await tester.pumpWidget(MaterialApp(home: ListSekolah()));
 
diff --git a/test/mock_test.dart b/test/mock_test.dart
index 8c46b686220547ed8cdcab0ac8f347163332c5b8..d86c1d8ab98209ba1032e6d2e34a1bfb514d7857 100644
--- a/test/mock_test.dart
+++ b/test/mock_test.dart
@@ -58,6 +58,13 @@ void main() {
       await tester.pump();
     }
 
+    Future<Null> _navigateToInformasiLayananDisabilitas(
+        WidgetTester tester) async {
+      final buttonKey = Key('FloatingActionButton');
+      await tester.press(find.byKey(buttonKey));
+      await tester.pump();
+    }
+
     testWidgets(
         'when tapping text form field, should navigate to pencarian page',
         (WidgetTester tester) async {
@@ -83,5 +90,14 @@ void main() {
       await tester.pump();
       expect(popResult, 'Take me back');
     });
+
+    testWidgets(
+        'when press info layanan komunitas button, redirect to info layanan komunitas page',
+        (WidgetTester tester) async {
+      await _buildDashboardPage(tester);
+      await _navigateToInformasiLayananDisabilitas(tester);
+
+      expect(find.text('Informasi Layanan Disabilitas'), findsOneWidget);
+    });
   });
 }
diff --git a/test/pencarian_test.dart b/test/pencarian_test.dart
index eb893ce8c7c2080aa30c73dac2e7e21caca98915..e1239fb44299070dafcda1531442c999d9a23d5f 100644
--- a/test/pencarian_test.dart
+++ b/test/pencarian_test.dart
@@ -7,6 +7,7 @@
 
 import 'dart:io';
 
+import 'package:bisaGo/model/lokasi.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
 import 'package:mockito/mockito.dart';
@@ -17,20 +18,20 @@ class MockNetwork extends Mock implements NetworkInterface {}
 
 void main() {
   MockNetwork mockNetwork;
+  var mockLokasi = {
+    'name': 'Coolidge',
+    'latitude': -23.7169139,
+    'longitude': -46.8498038,
+    'alamat': '74809 Hooker Drive',
+    'telepon': '+55 956 836 5799'
+  };
+  var lokasiList = [Lokasi.fromJson(mockLokasi)];
   setUp(() {
     mockNetwork = MockNetwork();
     when(mockNetwork.get(isLogin: false, url: anyNamed('url')))
         .thenAnswer((_) async {
       await Future.delayed(Duration(milliseconds: 50));
-      return Future<dynamic>.value([
-        {
-          'nama': 'Coolidge',
-          'latitude': -23.7169139,
-          'longitude': -46.8498038,
-          'alamat': '74809 Hooker Drive',
-          'telepon': '+55 956 836 5799'
-        }
-      ]);
+      return Future<dynamic>.value([mockLokasi]);
     });
   });
   testWidgets('display list view in pencarian', (WidgetTester tester) async {
@@ -57,6 +58,15 @@ void main() {
     final textFieldKey = Key('Text Field Mau Kemana');
     await tester.pumpWidget(MaterialApp(home: Pencarian()));
     expect(find.byKey(textFieldKey), findsOneWidget);
+    await tester.enterText(find.byKey(textFieldKey), 'Coolidge');
+    expect(find.text('Coolidge'), findsOneWidget);
+  });
+
+  testWidgets('create a history in pencarian', (WidgetTester tester) async {
+    final pencarianPage = Pencarian();
+    final pencarianState = pencarianPage.createState();
+    pencarianState.makeHistoryWidget(lokasiList);
+    pencarianState.makeLokasiWidget(lokasiList);
   });
 
   testWidgets('test textfield result', (WidgetTester tester) async {
diff --git a/test/registrasiInformasiLayananDisabilitas_test.dart b/test/registrasiInformasiLayananDisabilitas_test.dart
index 1f74d041589436ebd7c8de0308f1ea00d7a4ca66..6a890a11afd0a7814994213a6e77378538aefe0e 100644
--- a/test/registrasiInformasiLayananDisabilitas_test.dart
+++ b/test/registrasiInformasiLayananDisabilitas_test.dart
@@ -1,3 +1,4 @@
+import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
 import 'package:bisaGo/page/registrasi_penyandang_disabilitas/registrasiInformasiLayananDisabilitas.dart';
@@ -10,7 +11,8 @@ void main() {
 
   testWidgets('find registrasi page', (WidgetTester tester) async {
     // Provide the childWidget to the Container.
-    await tester.pumpWidget(buildTestableWidget(RegistrasiInformasiLayananDisabilitas()));
+    await tester.pumpWidget(
+        buildTestableWidget(RegistrasiInformasiLayananDisabilitas()));
     final scaffoldTextFieldKey = Key('Scaffold Text Field');
 
     //positive test
@@ -23,7 +25,6 @@ void main() {
     expect(find.byType(SizedBox), findsNWidgets(61));
     expect(find.byType(FlatButton), findsNWidgets(3));
 
-
     //negative test
     expect(find.byType(FormField), findsNothing);
     expect(find.byType(BoxDecoration), findsNothing);
@@ -33,10 +34,30 @@ void main() {
     expect(find.text('pengisi dt'), findsNothing);
     expect(find.text('nm lngkp pnyndng'), findsNothing);
     expect(find.text('jenis kelaMINNNN'), findsNothing);
-
   });
 
+  testWidgets('back button test', (WidgetTester tester) async {
+    await tester.pumpWidget(
+        buildTestableWidget(RegistrasiInformasiLayananDisabilitas()));
+    final backButtonKey = Key('Back Icon Key');
+    await tester.tap(find.byKey(backButtonKey));
+  });
 
-
-
+  testWidgets('create penyandang method test', (WidgetTester tester) async {
+    final registrasiPage = RegistrasiInformasiLayananDisabilitas();
+    final registrasiState = registrasiPage.createState();
+    var textEditingController = TextEditingController();
+    textEditingController.text = 'This is a test';
+    registrasiState.namaPenyandangController = textEditingController;
+    registrasiState.alamatController = textEditingController;
+    registrasiState.ttlController = textEditingController;
+    registrasiState.tanggalLahir = '2000-01-01';
+    registrasiState.phoneController = textEditingController;
+    registrasiState.emailController = textEditingController;
+    registrasiState.namaWaliController = textEditingController;
+    registrasiState.alamatWaliController = textEditingController;
+    registrasiState.phoneNumbOrtuController = textEditingController;
+
+    registrasiState.createPenyandang();
+  });
 }
diff --git a/test/registrasi_test.dart b/test/registrasi_test.dart
index a5a529cca58c6696c49077ece65fae445a8b0d95..a6d42783000a64fd88d9c77660a22589ff93c1e6 100644
--- a/test/registrasi_test.dart
+++ b/test/registrasi_test.dart
@@ -29,7 +29,8 @@ void main() {
     expect(find.byKey(textFieldKey), findsOneWidget);
   });
 
-  testWidgets('Find Password Confirmation Text Field', (WidgetTester tester) async {
+  testWidgets('Find Password Confirmation Text Field',
+      (WidgetTester tester) async {
     final textFieldKey = Key('Text Field Konfirmasi Password');
     await tester.pumpWidget(MaterialApp(home: Registrasi()));
     expect(find.byKey(textFieldKey), findsOneWidget);
@@ -49,4 +50,4 @@ void main() {
 //    );
 //    expect(result.statusCode, 200);
 //  });
-}
\ No newline at end of file
+}
diff --git a/test/tentang_disabilitas_fisik_test.dart b/test/tentang_disabilitas_fisik_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..07622f4387d23221fb18a424938b5afdf90421f0
--- /dev/null
+++ b/test/tentang_disabilitas_fisik_test.dart
@@ -0,0 +1,34 @@
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_fisik.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+void main() {
+  testWidgets('Test Tentang Disabilitas Sensorik Page Individually',
+          (WidgetTester tester) async {
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitasFisik()));
+    final title = find.byKey(Key('Title Disabilitas Fisik'));
+    expect(title, findsOneWidget);
+    final desc = find.byKey(Key('Description Disabilitas Fisik'));
+    expect(desc, findsOneWidget);
+
+    final titleTunanetra = find.byKey(Key('Title Amputasi'));
+    expect(titleTunanetra, findsOneWidget);
+    final descTunanetra = find.byKey(Key('Description Amputasi'));
+    expect(descTunanetra, findsOneWidget);
+
+    final titleTunarunguKey = Key('Title Lumpuh Layuh');
+    await tester.ensureVisible(find.byKey(titleTunarunguKey, skipOffstage: false));
+    await tester.pumpAndSettle();
+    expect(find.byKey(titleTunarunguKey), findsOneWidget);
+    final descTunarunguKey = Key('Description Lumpuh Layuh');
+    expect(find.byKey(descTunarunguKey), findsOneWidget);
+
+    final titleTunawicara = find.byKey(Key('Title Cerebral Palsy'));
+    expect(titleTunawicara, findsOneWidget);
+    final descTunawicara = find.byKey(Key('Description Cerebral Palsy'));
+    expect(descTunawicara, findsOneWidget);
+
+    final extraInfo = find.byKey(Key('Extra Information'));
+    expect(extraInfo, findsOneWidget);
+  });
+}
\ No newline at end of file
diff --git a/test/tentang_disabilitas_intelektual_test.dart b/test/tentang_disabilitas_intelektual_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..2491433339d9bca30f4e3d58b4147ecbb45493fa
--- /dev/null
+++ b/test/tentang_disabilitas_intelektual_test.dart
@@ -0,0 +1,32 @@
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_intelektual.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+void main() {
+  testWidgets('Test Tentang Disabilitas - Intelektual page',
+      (WidgetTester tester) async {
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitasIntelektual()));
+
+    final title = find.byKey(Key('Title Disabilitas Intelektual'));
+    expect(title, findsOneWidget);
+    final desc = find.byKey(Key('Description Disabilitas Intelektual'));
+    expect(desc, findsOneWidget);
+
+    final titleRingan = find.byKey(Key('Title Ringan'));
+    expect(titleRingan, findsOneWidget);
+    final descRingan = find.byKey(Key('Description Ringan'));
+    expect(descRingan, findsOneWidget);
+
+    final titleSedang = Key('Title Sedang');
+    await tester.ensureVisible(find.byKey(titleSedang, skipOffstage: false));
+    await tester.pumpAndSettle();
+    expect(find.byKey(titleSedang), findsOneWidget);
+    final descSedang = Key('Description Sedang');
+    expect(find.byKey(descSedang), findsOneWidget);
+
+    final titleBerat = find.byKey(Key('Title Berat'));
+    expect(titleBerat, findsOneWidget);
+    final descBerat = find.byKey(Key('Description Berat'));
+    expect(descBerat, findsOneWidget);
+  });
+}
diff --git a/test/tentang_disabilitas_mental_test.dart b/test/tentang_disabilitas_mental_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..f67cdc2f5ef61e99faba9353112af085c1703119
--- /dev/null
+++ b/test/tentang_disabilitas_mental_test.dart
@@ -0,0 +1,31 @@
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_mental.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+void main() {
+  testWidgets('Test Tentang Disabilitas - Mental Page',
+      (WidgetTester tester) async {
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitasMental()));
+    final title = find.byKey(Key('Title Disabilitas Mental'));
+    expect(title, findsOneWidget);
+    final desc = find.byKey(Key('Description Disabilitas Mental'));
+    expect(desc, findsOneWidget);
+
+    final titleBio = find.byKey(Key('Title Faktor Biologis'));
+    expect(titleBio, findsOneWidget);
+    final descBio = find.byKey(Key('Description Faktor Biologis'));
+    expect(descBio, findsOneWidget);
+
+    final titlePsiko = Key('Title Faktor Psikologis');
+    await tester.ensureVisible(find.byKey(titlePsiko, skipOffstage: false));
+    await tester.pumpAndSettle();
+    expect(find.byKey(titlePsiko), findsOneWidget);
+    final descPsiko = Key('Description Faktor Psikologis');
+    expect(find.byKey(descPsiko), findsOneWidget);
+
+    final titleSos = find.byKey(Key('Title Faktor Sosial Spiritual'));
+    expect(titleSos, findsOneWidget);
+    final descSos = find.byKey(Key('Description Faktor Sosial Spiritual'));
+    expect(descSos, findsOneWidget);
+  });
+}
diff --git a/test/tentang_disabilitas_sensorik_test.dart b/test/tentang_disabilitas_sensorik_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..6922403e6b25035f8376ce22708914340c266f6c
--- /dev/null
+++ b/test/tentang_disabilitas_sensorik_test.dart
@@ -0,0 +1,32 @@
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_sensorik.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+void main() {
+  testWidgets('Test Tentang Disabilitas Sensorik Page Individually',
+      (WidgetTester tester) async {
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitasSensorik()));
+    final title = find.byKey(Key('Title Disabilitas Sensorik'));
+    expect(title, findsOneWidget);
+    final desc = find.byKey(Key('Description Disabilitas Sensorik'));
+    expect(desc, findsOneWidget);
+
+    final titleTunanetra = find.byKey(Key('Title Tunanetra'));
+    expect(titleTunanetra, findsOneWidget);
+    final descTunanetra = find.byKey(Key('Description Tunanetra'));
+    expect(descTunanetra, findsOneWidget);
+
+    final titleTunarunguKey = Key('Title Tunarungu');
+    await tester
+        .ensureVisible(find.byKey(titleTunarunguKey, skipOffstage: false));
+    await tester.pumpAndSettle();
+    expect(find.byKey(titleTunarunguKey), findsOneWidget);
+    final descTunarunguKey = Key('Description Tunarungu');
+    expect(find.byKey(descTunarunguKey), findsOneWidget);
+
+    final titleTunawicara = find.byKey(Key('Title Tunawicara'));
+    expect(titleTunawicara, findsOneWidget);
+    final descTunawicara = find.byKey(Key('Description Tunawicara'));
+    expect(descTunawicara, findsOneWidget);
+  });
+}
diff --git a/test/tentang_disabilitas_test.dart b/test/tentang_disabilitas_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..5fc86f6055428854c887be0dda4a7e2a5f7791ba
--- /dev/null
+++ b/test/tentang_disabilitas_test.dart
@@ -0,0 +1,117 @@
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas.dart';
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_fisik.dart';
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_intelektual.dart';
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_mental.dart';
+import 'package:bisaGo/page/tentang_disabilitas/tentang_disabilitas_sensorik.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+void main() {
+  testWidgets('Test Tentang Disabilitas title', (WidgetTester tester) async {
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitas()));
+    final title = find.text('Tentang Disabilitas');
+    expect(title, findsOneWidget);
+  });
+
+  testWidgets('Negative Test wrong title', (WidgetTester tester) async {
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitas()));
+    final wrongTitle = find.text('About Us');
+    expect(wrongTitle, findsNothing);
+  });
+
+  testWidgets('Test Tentang Disabilitas buttons', (WidgetTester tester) async {
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitas()));
+
+    final disabilitasIntelektualButton = find.text('Disabilitas Intelektual');
+    expect(disabilitasIntelektualButton, findsOneWidget);
+
+    final disabilitasSensorikButton = find.text('Disabilitas Sensorik');
+    expect(disabilitasSensorikButton, findsOneWidget);
+
+    final disabilitasMentalButton = find.text('Disabilitas Mental');
+    expect(disabilitasMentalButton, findsOneWidget);
+
+    final disabilitasFisikButton = find.text('Disabilitas Fisik');
+    expect(disabilitasFisikButton, findsOneWidget);
+  });
+
+  testWidgets('Test Tentang Disabilitas Intelektual buttons functionality',
+      (WidgetTester tester) async {
+    final backButton = find.byIcon(Icons.arrow_back_ios);
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitas()));
+
+    final disabilitasIntelektualButton = find.text('Disabilitas Intelektual');
+    expect(disabilitasIntelektualButton, findsOneWidget);
+    await tester.tap(disabilitasIntelektualButton);
+    await tester.pumpAndSettle();
+    expect(find.byType(TentangDisabilitasIntelektual), findsOneWidget);
+    await tester.tap(backButton);
+    await tester.pumpAndSettle();
+  });
+
+  testWidgets('Test Tentang Disabilitas Sensorik buttons functionality',
+      (WidgetTester tester) async {
+    final backButton = find.byIcon(Icons.arrow_back_ios);
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitas()));
+
+    final disabilitasSensorikButton =
+        find.text('Disabilitas Sensorik', skipOffstage: false);
+    expect(disabilitasSensorikButton, findsOneWidget);
+    await tester.ensureVisible(disabilitasSensorikButton);
+    await tester.pumpAndSettle();
+    await tester.tap(disabilitasSensorikButton);
+    await tester.pumpAndSettle();
+    expect(find.byType(TentangDisabilitasSensorik), findsOneWidget);
+    await tester.tap(backButton);
+    await tester.pumpAndSettle();
+  });
+
+  testWidgets('Test Tentang Disabilitas Mental buttons functionality',
+      (WidgetTester tester) async {
+    final backButton = find.byIcon(Icons.arrow_back_ios);
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitas()));
+
+    final disabilitasMentalButton =
+        find.text('Disabilitas Mental', skipOffstage: false);
+    expect(disabilitasMentalButton, findsOneWidget);
+    await tester.ensureVisible(disabilitasMentalButton);
+    await tester.pumpAndSettle();
+    await tester.tap(disabilitasMentalButton);
+    await tester.pumpAndSettle();
+    expect(find.byType(TentangDisabilitasMental), findsOneWidget);
+    await tester.tap(backButton);
+    await tester.pumpAndSettle();
+  });
+
+  testWidgets('Test Tentang Disabilitas Fisik buttons functionality',
+      (WidgetTester tester) async {
+    final backButton = find.byIcon(Icons.arrow_back_ios);
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitas()));
+
+    final disabilitasFisikButton = find.text('Disabilitas Fisik');
+    expect(disabilitasFisikButton, findsOneWidget);
+    await tester.tap(disabilitasFisikButton);
+    await tester.pumpAndSettle();
+    expect(find.byType(TentangDisabilitasFisik), findsOneWidget);
+    await tester.tap(backButton);
+    await tester.pumpAndSettle();
+  });
+
+  testWidgets('Test Tentang Disabilitas images', (WidgetTester tester) async {
+    await tester.pumpWidget(MaterialApp(home: TentangDisabilitas()));
+
+    final disabilitasIntelektualImage =
+        find.byKey(Key('Image Disabilitas Intelektual'));
+    expect(disabilitasIntelektualImage, findsOneWidget);
+
+    final disabilitasSensorikImage =
+        find.byKey(Key('Image Disabilitas Sensorik'));
+    expect(disabilitasSensorikImage, findsOneWidget);
+
+    final disabilitasMentalImage = find.byKey(Key('Image Disabilitas Mental'));
+    expect(disabilitasMentalImage, findsOneWidget);
+
+    final disabilitasFisikImage = find.byKey(Key('Image Disabilitas Fisik'));
+    expect(disabilitasFisikImage, findsOneWidget);
+  });
+}
diff --git a/test/updateInformasi_test.dart b/test/updateInformasi_test.dart
index 3c5e1e2f8bfbdbc1930e4473e661eb983e1f0c3d..f7d42713a833c845afdc08072a0be12d95b958b8 100644
--- a/test/updateInformasi_test.dart
+++ b/test/updateInformasi_test.dart
@@ -1,58 +1,36 @@
+import 'package:bisaGo/model/komentar.dart';
+import 'package:bisaGo/page/updateInformasi/updateInformasi.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
-import 'package:bisaGo/utils/validator.dart';
-import 'package:bisaGo/page/addInformasi/addInfromasi.dart';
 
-void main(){
-  testWidgets('Test Input Gambar', (WidgetTester tester) async {
-    final testInputImage = Key('Input Gambar');
-    await tester.pumpWidget(MaterialApp(home: AddInformasi()));
-    expect(find.byKey(testInputImage), findsOneWidget);
-  });
-
-  testWidgets('Info Text Field Test', (WidgetTester tester) async {
-    final textFieldKey = Key('Text Field Informasi');
-    await tester.pumpWidget(MaterialApp(home: AddInformasi()));
-    expect(find.byKey(textFieldKey), findsOneWidget);
-  });
-
-  testWidgets('Checkbox Fasilitas Test', (WidgetTester tester) async {
-    final checkBoxKey = Key('Checkbox Fasilitas');
-    await tester.pumpWidget(MaterialApp(home: AddInformasi()));
-    expect(find.byKey(checkBoxKey), findsOneWidget);
-  });
-
-  testWidgets('Star Rating Exist Test', (WidgetTester tester) async {
-    final starKey = Key('Star Rating');
-    await tester.pumpWidget(MaterialApp(home: AddInformasi()));
-    expect(find.byKey(starKey), findsOneWidget);
-  });
-
-  testWidgets('Simpan Button Test', (WidgetTester tester) async {
-    final simpanKey = Key('Simpan Button');
-    await tester.pumpWidget(MaterialApp(home: AddInformasi()));
-    expect(find.byKey(simpanKey), findsOneWidget);
-  });
-
-  testWidgets('Batal Button Test', (WidgetTester tester) async {
-    final batalKey = Key('Batal Button');
-    await tester.pumpWidget(MaterialApp(home: AddInformasi()));
-    expect(find.byKey(batalKey), findsOneWidget);
-  });
-
-  test('Empty Info Test', () {
-    var result = FieldValidator.validateInfo('');
-    expect(result, '*Wajib diisi');
-  });
-
-  test('Valid Info Test', () {
-    var result = FieldValidator.validateInfo('Margo city punya kursi roda');
-    expect(result, null);
-  });
-
-  test('Star rating start from zero', (){
-    var info = AddInformasiState();
-    expect(info.data['rating'], 0.0);
-  });
-
-}
\ No newline at end of file
+void main() {
+  final komentarData = {
+    'nama_lokasi': 'Margo City',
+    'deskripsi':
+        'Ada toilet khusus disabilitas terletak di lantai 2 dekat kintan, kondisinya bagus dan bersih layak pakai.\r\n\r\nAda kursi roda juga di customer service lantai dasar, saya tidak ingat jumlahnya ada berapa, tapi ada lumayan banyak.',
+    'creator': '',
+    'date_time': '12-04-2020 14:33:54',
+    'like': 20,
+    'dislike': 1,
+    'rating': 3,
+    'tag': ['KR', 'TD'],
+    'image': 'static/img/2669211407.jpg',
+    'is_verified': false
+  };
+
+  final updateInformasiPage = UpdateInformasi(
+    komentar: KomentarModel.fromJson(komentarData),
+  );
+
+  testWidgets('Test Update Informasi Page', (WidgetTester tester) async {
+    await tester.pumpWidget(MaterialApp(home: updateInformasiPage));
+    await tester.tap(find.byKey(Key('Simpan Button')));
+    await tester.pump(Duration(seconds: 100));
+  });
+
+  testWidgets('Test Add Informasi On Update Informasi Page',
+      (WidgetTester tester) async {
+    UpdateInformasiState().addInfo('KD', 'Kursi Roda', '5.0');
+    await tester.pumpWidget(MaterialApp(home: updateInformasiPage));
+  });
+}
diff --git a/test/validator_test.dart b/test/validator_test.dart
index e644949b6e687bb24b135839b545733528d40bb3..45d19f678f80fefbf707b669ac152e80c3c1b6e9 100644
--- a/test/validator_test.dart
+++ b/test/validator_test.dart
@@ -2,6 +2,26 @@ import 'package:flutter_test/flutter_test.dart';
 import 'package:bisaGo/utils/validator.dart';
 
 void main() {
+  test('Empty Pengisi Data Test', () {
+    var result = FieldValidator.validatePengisiData('');
+    expect(result, '*Wajib diisi');
+  });
+
+  test('Empty Pengisi Data Name Test', () {
+    var result = FieldValidator.validateNamaPengisiData('');
+    expect(result, '*Wajib diisi');
+  });
+
+  test('Empty Date of Birth Test', () {
+    var result = FieldValidator.validateTtl('');
+    expect(result, '*Wajib diisi');
+  });
+
+  test('Empty Address Test', () {
+    var result = FieldValidator.validateAlamat('');
+    expect(result, '*Wajib diisi');
+  });
+
   test('Empty Name Test', () {
     var result = FieldValidator.validateName('');
     expect(result, '*Wajib diisi');
@@ -56,5 +76,4 @@ void main() {
     var result = FieldValidator.validatePassword('abcd1234');
     expect(result, null);
   });
-
 }
diff --git a/test/widget_test.dart b/test/widget_test.dart
index 4150dfd12143fae37f1bcced7aa9d0fdb2074058..b4ad84da1ba2a0d6dfe989c060cc63d24e3ef0f6 100644
--- a/test/widget_test.dart
+++ b/test/widget_test.dart
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
 import 'package:flutter_test/flutter_test.dart';
 import 'package:bisaGo/app.dart';
 import 'package:bisaGo/page/dashboard/dashboard.dart';
+import 'package:google_maps_flutter/google_maps_flutter.dart';
 
 void main() {
   testWidgets('finds a text field in dashboard', (WidgetTester tester) async {
@@ -20,30 +21,45 @@ void main() {
     expect(find.byKey(containerTextField), findsOneWidget);
     expect(find.byKey(textFieldKey), findsOneWidget);
     expect(find.byKey(scaffoldTextFieldKey), findsOneWidget);
+
+    await tester.tap(find.byKey(textFieldKey));
+    await tester.pump();
+    expect(find.byKey(textFieldKey), findsOneWidget);
+  });
+
+  testWidgets('tap a text field to enter search page',
+      (WidgetTester tester) async {
+    final textFieldKey = Key('Text Field Mau Kemana');
+    // Provide the childWidget to the Container.
+    await tester.pumpWidget(MaterialApp(home: Dashboard()));
+    await tester.tap(find.byKey(textFieldKey));
+    await tester.pump(Duration(seconds: 10));
+    expect(find.byKey(textFieldKey), findsOneWidget);
   });
 
   testWidgets('finds a google map in dashboard', (WidgetTester tester) async {
-    //final containerGoogleMap = Key('Container GoogleMap');
-    //final googleMapKey = Key('Google Map');
     await tester.pumpWidget(MaterialApp(home: Dashboard()));
-    
     await tester.pump();
-    //expect(find.byType(GoogleMap), findsOneWidget);
     expect(find.byType(Container), findsNWidgets(5));
-    //expect(find.byKey(googleMapKey), findsOneWidget);
-    //expect(find.byKey(containerGoogleMap), findsOneWidget);
   });
 
   testWidgets('finds a floating in dashboard', (WidgetTester tester) async {
+    final floatingActionButtonKey = Key('FloatingActionButton');
+    final scaffoldTextFieldKey = Key('Scaffold Text Field');
     await tester.pumpWidget(MaterialApp(home: Dashboard()));
-    expect(find.byKey(Key('FloatingActionButton')), findsOneWidget);
+    expect(find.byKey(floatingActionButtonKey), findsOneWidget);
     expect(find.byKey(Key('FloatingActionButtonnnn')), findsNothing);
+    await tester.tap(find.byKey(floatingActionButtonKey));
+    await tester.pump(Duration(seconds: 10));
+    expect(find.byKey(scaffoldTextFieldKey), findsOneWidget);
   });
 
-  // testWidgets('finds a marker in google map', (WidgetTester tester) async {
-  //   await tester.pumpWidget(MaterialApp(home: Dashboard()));
-  //   expect(find.byType(Marker), findsOneWidget);
-  // });
+  testWidgets('finds a marker in google map', (WidgetTester tester) async {
+    final dashboardPage = Dashboard();
+    await tester.pumpWidget(MaterialApp(home: dashboardPage));
+    var dashboardState = tester.state<DashboardState>(find.byType(Dashboard));
+    dashboardState.currentLocation = LatLng(-23.7169139, -46.8498038);
+  });
 
   testWidgets('finds a navigation bar', (WidgetTester tester) async {
     await tester.pumpWidget(MaterialApp(home: Dashboard()));