diff --git a/features/bootstrap/FeatureContext.php b/features/bootstrap/FeatureContext.php
index d6d620a..12654fa 100644
--- a/features/bootstrap/FeatureContext.php
+++ b/features/bootstrap/FeatureContext.php
@@ -1105,7 +1105,8 @@ class FeatureContext extends MinkContext {
     $classes = array(
       'table' => '.view table.views-table tr',
       'grid' => '.view table.views-view-grid tr td',
-      'row' => '.view div.views-row'
+      'row' => '.view div.views-row',
+      'row li' => '.view li.views-row'
     );
     foreach ($classes as $type => $class) {
       $result = $page->findAll('css', $class);
@@ -1650,43 +1651,53 @@ class FeatureContext extends MinkContext {
     $href = "";
     switch ($linkType) {
       case 'user name':
-        $temp = $page->find("css", ".commit-global .attribution a");
-        $href = $temp->getAttribute('href');
+        $temp = $page->find("css", ".commit-global .attribtution a");
+        if (!empty($temp)) {
+          $href = $temp->getAttribute('href');
+        }
       break;
       case 'project title':
         $links = $page->findAll("css", ".commit-global h3 a");
-        foreach ($links as $link) {
-          $temp = $link->getAttribute('href');
-          // check if this is full project. If not, then check for next link
-          if (strpos($temp, '/project/') !== FALSE) {
-            $href = $temp;
-            break;
+        if (!empty($links)) {
+          foreach ($links as $link) {
+            $temp = $link->getAttribute('href');
+            // check if this is full project. If not, then check for next link
+            if (strpos($temp, '/project/') !== FALSE) {
+              $href = $temp;
+              break;
+            }
           }
         }
       break;
       case 'sandbox project title':
         $links = $page->findAll("css", ".commit-global h3 a");
-        foreach ($links as $link) {
-          $temp = $link->getAttribute('href');
-          // check if this is sandbox project. If not, then check for next link
-          if (strpos($temp, '/sandbox/') !== FALSE) {
-            $href = $temp;
-            break;
+        if (!empty($links)) {
+          foreach ($links as $link) {
+            $temp = $link->getAttribute('href');
+            // check if this is sandbox project. If not, then check for next link
+            if (strpos($temp, '/sandbox/') !== FALSE) {
+              $href = $temp;
+              break;
+            }
           }
         }
       break;
       case 'date':
         $links = $page->findAll("css", ".commit-global h3 a");
-        foreach ($links as $link) {
-          if ($link->hasAttribute('href')) {
-            $href = $link->getAttribute('href');
+        if (!empty($links)) {
+          foreach ($links as $link) {
+            if ($link->hasAttribute('href')) {
+              $href = $link->getAttribute('href');
+            }
           }
         }
       break;
       case 'commit info':
         // this is the 8 digit hash
         $temp = $page->find("css", ".commit-global .commit-info a");
-        $href = $temp->getAttribute('href');
+        if (!empty($temp)) {
+          $href = $temp->getAttribute('href');
+        }
       break;
       case 'file name':
         // this is the file name that got committed and can be seen in individual commit message
@@ -1699,14 +1710,13 @@ class FeatureContext extends MinkContext {
         }
       break;
       default:
+        throw new Exception("Link type '" . $linkType . "' is not valid.");
       break;
     }
-    if ($href != "") {
-      $this->getSession()->visit($this->locatePath($href));
-    }
-    else {
-      throw new Exception("No link for '" . $linkType . "' was found");
+    if (trim($href) == "") {
+      throw new Exception("No link for '" . $linkType . "' was found on the page");
     }
+    $this->getSession()->visit($this->locatePath($href));
   }
 
   /**
diff --git a/features/project/user_commitlog.feature b/features/project/user_commitlog.feature
new file mode 100644
index 0000000..849d135
--- /dev/null
+++ b/features/project/user_commitlog.feature
@@ -0,0 +1,69 @@
+Feature: To see the list of all the commits for a user
+  In order to see the list of commits for a user
+  As an authenticated user
+  I should login and see my commits log
+
+  Background:
+    Given I am logged in as "site user"
+    And I follow "Your Dashboard"
+    And I follow "Your Commits"
+
+    Scenario: Check for records
+      Then I should see at least "10" records
+      And I should see the following <texts>
+      | texts |
+      | Commit |
+      | master |
+      | Subscribe with RSS |
+
+    Scenario: Click link to user profile
+      When I click on "user name" of a commit
+      Then I should see the heading "Personal information"
+      And I should see the following <texts>
+      | texts |
+      | Full name |
+      | Country |
+      | History |
+
+    Scenario: Click link to project title: Full project
+      When I click on "project title" of a commit
+      Then I should see "Posted by"
+      And I should see the following <links>
+      | links |
+      | View |
+      | Version control |
+      | Revisions |
+      And I should see the heading "Development"
+
+    Scenario: Click link to sandbox project title: Sandbox project
+      When I click on "sandbox project title" of a commit
+      Then I should see "Posted by"
+      And I should see the following <texts>
+      | texts |
+      | Experimental Project |
+      | This is a sandbox project |
+      | Categories: |
+      | sandbox: |
+      And I should see the following <links>
+      | links |
+      | View |
+      | Version control |
+      | Revisions |
+      And I should see the heading "Development"
+
+    Scenario: Click link to date
+      When I click on "date" of a commit
+      Then I should see "Author date:"
+      And I should see "Custom text:"
+      And I should see "Commit"
+
+    Scenario: Click link to repository
+      When I click on "commit info" of a commit
+      Then I should see the link "summary"
+      And I should see the following <texts>
+      | texts |
+      | author |
+      | committer |
+      | commit |
+      | tree |
+      | parent |
