This also shows how useless are tests like the above. Even more than useless, because you have to baby-sit them on each service or controller modification.
Regards, Witold Szczerba --- Sent from my mobile phone. On Jun 21, 2014 5:07 AM, "RahmanM" <[email protected]> wrote: > Hi guys, > > I have the following function in my controller: > > this.getTodos = function () { > TodoService.getTodos().then(function (todos) { > $scope.Todos = todos; > }, > function (error) { > // TODO: display the error pop up > console.log(error); > });}; > > The following jasmine tests work fine: > > it("Reading todos...", inject(function ($q) { > > var deferredRead = $q.defer(); > spyOn(todoServiceMock, > "getTodos").and.returnValue(deferredRead.promise); > deferredRead.resolve([{ TodoId: 10, Description: "Test", > Completed: false }, > { TodoId: 11, Description: "Test", Completed: false }]); > todoController.getTodos(); > scope.$apply(); > > expect(scope.Todos.length).toBe(2); > })); > > it("Reading todos, error...", inject(function ($q) { > > var deferredRead = $q.defer(); > spyOn(todoServiceMock, > "getTodos").and.returnValue(deferredRead.promise); > deferredRead.reject("There are no todos available!"); > todoController.getTodos(); > scope.$apply(); > > expect(scope.Todos.length).toBe([]); > })); > > > However, the view does not populate the rows ... > > The view has code like: > > <tr class="animate" ng-repeat="Todo in Todos() | orderBy:'TodoId' | > filter: filterTodo"> > <td class="col-sm-1">{{Todo.TodoId}}</td> > <td class="col-sm-3">{{Todo.Description}}</td> > <td class="col-sm-1"> > <span class="glyphicon glyphicon-check" > ng-show="{{Todo.Completed}}==true"></span> > <span class="glyphicon glyphicon-unchecked" > ng-show="{{Todo.Completed}}==false"></span> > </td> > <td class="col-sm-2"> > <a href="" ng-click="selectTodo(Todo)"><span > class="glyphicon glyphicon-edit"></span></a> > </td> > </tr> > > There is no error message ... > > Any suggestions please? > > many thanks > > -- > You received this message because you are subscribed to the Google Groups > "AngularJS" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/angular. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "AngularJS" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/angular. For more options, visit https://groups.google.com/d/optout.
