diff --git a/tests/gmapviews.test b/tests/gmapviews.test
new file mode 100644
index 0000000..95cfc7e
--- /dev/null
+++ b/tests/gmapviews.test
@@ -0,0 +1,165 @@
+<?php
+/**
+ * WebTest tests for location_gmap_find_address.module.
+ */
+
+class GmapViewsTestCase extends DrupalWebTestCase {
+
+  protected $privileged_user;
+  protected $profile = 'testing';
+
+  public static function getInfo() {
+    return array(
+      'name' => 'GmapViewsTestCase',
+      'description' => 'Test the Gmap Views.',
+      'group' => 'GMap',
+    );
+  }
+
+  public function setUp() {
+    parent::setUp('location',
+      'gmap',
+      'location_cck',
+      'field_ui',
+      'location_gmap_find_address',
+      'gmap_test',
+      'views_ui',
+      'views',
+      'geofield',
+      'features',
+      'geophp');
+    $modules = array('location',
+      'gmap',
+      'location_cck',
+      'field_ui',
+      'location_gmap_find_address',
+      'gmap_test',
+      'views_ui',
+      'views',
+      'geofield',
+      'features',
+      'geophp');
+    module_enable($modules);
+    features_rebuild();
+    drupal_load('module', 'geophp');
+    drupal_load('module', 'features');
+    drupal_load('module', 'geofield');
+    drupal_load('module', 'views');
+    drupal_load('module', 'gmap_test');
+    drupal_load('module', 'location_gmap_find_address');
+    drupal_load('module', 'field_ui');
+    drupal_load('module', 'location_cck');
+    drupal_load('module', 'gmap');
+    drupal_load('module', 'location');
+    $this->
+  }
+
+  //@todo remove this after http://drupal.org/node/1252310#comment-7109128 fix
+  protected function error($message = '', $group = 'Other', array $caller = NULL) {
+    if ($message == 'Undefined index: location_settings') {
+      // change error (Notice) to debug message
+      return $this->assert('debug', $message, 'Debug', $caller);
+    }
+    if ($message == 'Undefined index: geofield') {
+      // change error (Notice) to debug message
+      return $this->assert('debug', $message, 'Debug', $caller);
+    }
+
+    return parent::error($message, $group, $caller);
+  }
+
+  public function testGmapViews() {
+
+    // login with user
+    $this->privileged_user = $this->drupalCreateUser(array_keys(module_invoke_all('permission')));
+    $this->drupalLogin($this->privileged_user);
+
+    // array for form
+    $edit = array(
+
+    );
+
+    // page view
+    $this->drupalPost('admin/structure/views/view/gmap_test_places/edit/page', $edit, t('Save'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/page/style_plugin', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/page/style_options', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/page/relationship/field_mylocation_target_id', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/page/field/latitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/page/field/longitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/page/field/field_mygeofield', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/page/field/field_mylatitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/page/field/field_mylongitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/page/field/field_mygeofield_1', $edit, t('Apply'));
+
+    // table view
+    $this->drupalPost('admin/structure/views/view/gmap_test_places/edit/block_table', $edit, t('Save'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_table/relationship/field_mylocation_target_id', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_table/field/latitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_table/field/longitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_table/field/field_mygeofield', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_table/field/field_mylatitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_table/field/field_mylongitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_table/field/field_mygeofield_1', $edit, t('Apply'));
+
+    // block_geofield view
+    $this->drupalPost('admin/structure/views/view/gmap_test_places/edit/block_geofield', $edit, t('Save'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/block_geofield/style_plugin', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/block_geofield/style_options', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_geofield/relationship/field_mylocation_target_id', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_geofield/field/latitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_geofield/field/longitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_geofield/field/field_mygeofield', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_geofield/field/field_mylatitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_geofield/field/field_mylongitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_geofield/field/field_mygeofield_1', $edit, t('Apply'));
+
+    // block_location view
+    $this->drupalPost('admin/structure/views/view/gmap_test_places/edit/block_location', $edit, t('Save'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/block_location/style_plugin', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/block_location/style_options', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_location/relationship/field_mylocation_target_id', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_location/field/latitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_location/field/longitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_location/field/field_mygeofield', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_location/field/field_mylatitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_location/field/field_mylongitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_location/field/field_mygeofield_1', $edit, t('Apply'));
+
+    // block_field view
+    $this->drupalPost('admin/structure/views/view/gmap_test_places/edit/block_field', $edit, t('Save'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/block_field/style_plugin', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/block_field/style_options', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_field/relationship/field_mylocation_target_id', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_field/field/latitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_field/field/longitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_field/field/field_mygeofield', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_field/field/field_mylatitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_field/field/field_mylongitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_field/field/field_mygeofield_1', $edit, t('Apply'));
+
+    // block_2 view
+    $this->drupalPost('admin/structure/views/view/gmap_test_places/edit/block_2', $edit, t('Save'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/block_2/style_plugin', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/block_2/style_options', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_2/relationship/field_mylocation_target_id', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_2/field/latitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_2/field/longitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_2/field/field_mygeofield', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_2/field/field_mylatitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_2/field/field_mylongitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_2/field/field_mygeofield_1', $edit, t('Apply'));
+
+    // block_3 view
+    $this->drupalPost('admin/structure/views/view/gmap_test_places/edit/block_3', $edit, t('Save'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/block_3/style_plugin', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/display/gmap_test_places/block_3/style_options', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_3/relationship/field_mylocation_target_id', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_3/field/latitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_3/field/longitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_3/field/field_mygeofield', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_3/field/field_mylatitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_3/field/field_mylongitude', $edit, t('Apply'));
+    $this->drupalPost('admin/structure/views/nojs/config-item/gmap_test_places/block_3/field/field_mygeofield_1', $edit, t('Apply'));
+
+  }
+}
