dimanche 13 septembre 2015

Angular: Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope

Yet another question about injecting $scope into tests and services :-) Learning angular and using angular-seed application as a start.

I have extended my controller to have $scope but now my default angular seed tests are failing with

Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope

I don't understand is the error with my controller or with my tests...

View/Controller/Service

(function () {
    "use strict";
    angular.module("app.view1", ["ngRoute"])

    .config(["$routeProvider",
        function ($routeProvider) {
            $routeProvider.when("/view1", {
                templateUrl: "views/view1/view1.html",
                controller: "View1Ctrl"
            });
        }
    ])

    .factory("User", ["$http",
        function ($http) {
            var User = {};

            User.get = function () {
                return $http.get("/api/v1/user");
            };

            return User;
        }
    ])

    .controller("View1Ctrl", ["$scope", "User",
        function ($scope, User) {
            User.get().success(
                function (response) {
                    $scope.user = response;
                });
        }
    ]);
}());

Test

'use strict';

describe('app.view1 module', function() {

  beforeEach(module('app.view1'));

  describe('view1 controller', function(){

    it('should ....', inject(function($controller) {
      //spec body
      var view1Ctrl = $controller('View1Ctrl');
      expect(view1Ctrl).toBeDefined();
    }));

  });
});

Application is working and I get to see data in HTML but tests are failing... all suggestions welcome!

Aucun commentaire:

Enregistrer un commentaire