title: ui-router resolve is not working with the index page controller
body: <p>I want to resolve some value before I load the first page of my application, but it kept telling me </p>
  
  <p>Unknown provider: programClassSummaryProvider &lt;- programClassSummary &lt;- HomeCtrl</p>
  
  <p>I pretty sure I did it correctly, because I did the same thing for any other controller and routing. but it is not working for my homepage controller. 
  It seems like it load the controller first, before it is resolved in the routing. Anything wrong with my code?</p>
  
  <p>In routing.js</p>
  
  <pre><code>$stateProvider
          .state('home', {
            url: '/home',
            controller: 'HomeCtrl',
            controllerAs: 'vm',
            templateUrl: 'index_main.html',
            resolve: {
              programClassSummary: ['GroupDataFactory', function (groupDf) {
                return groupDf.getProgramClassSummary();
              }]
            },
            ncyBreadcrumb: {
              skip: true
            }
          });
  </code></pre>
  
  <p>in controller.js</p>
  
  <pre><code>angular
      .module('issMccApp')
      .controller('HomeCtrl', homeCtrl);
  
    homeCtrl.$inject = ['$scope', '$location', '$state', '$auth', 'programClassSummary'];
  
    /* @ngInject */
    function homeCtrl($scope, $location, $state, $auth, programClassSummary) {
  
      var vm = this;
  
      vm.isAuthenticated = isAuthenticated;
      vm.programClassSummary = programClassSummary;
  
      if (!$auth.isAuthenticated()) {
        $state.go('login');
        return;
      }
  
      function isAuthenticated() {
        return $auth.isAuthenticated();
      }
    }
  </code></pre>
  
  <p>in factory.js</p>
  
  <pre><code> function getProgramClassSummary(showAll) {
        var query = "";
        if (showAll)
          query = APIConfigObj.base_url + '/api/group/infor/programclasssummary?all=1';
        else
          query = APIConfigObj.base_url + '/api/group/infor/programclasssummary';
  
        return $http.get(query)
          .success(function (result) {
            return result;
          })
          .error(function (err) {
            return err;
          })
  
      }
  </code></pre>