aboutsummaryrefslogtreecommitdiffstats
path: root/docs/content/guide/dev_guide.services.testing_services.ngdoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/content/guide/dev_guide.services.testing_services.ngdoc')
-rw-r--r--docs/content/guide/dev_guide.services.testing_services.ngdoc70
1 files changed, 70 insertions, 0 deletions
diff --git a/docs/content/guide/dev_guide.services.testing_services.ngdoc b/docs/content/guide/dev_guide.services.testing_services.ngdoc
new file mode 100644
index 00000000..65e1ab6d
--- /dev/null
+++ b/docs/content/guide/dev_guide.services.testing_services.ngdoc
@@ -0,0 +1,70 @@
+@workInProgress
+@ngdoc overview
+@name Developer Guide: Angular Services: Testing Angular Services
+@description
+
+
+Following is a unit test for the service in the example in {@link
+dev_guide.services.registering_services Registering Angular Services}. The unit test example uses
+Jasmine spy (mock) instead of a real browser alert.
+
+
+<pre>
+var mock, notify;
+
+
+beforeEach(function() {
+mock = {alert: jasmine.createSpy()};
+notify = angular.service('notify')(mock);
+});
+
+
+it('should not alert first two notifications', function() {
+notify('one');
+notify('two');
+expect(mock.alert).not.toHaveBeenCalled();
+});
+
+
+it('should alert all after third notification', function() {
+notify('one');
+notify('two');
+notify('three');
+expect(mock.alert).toHaveBeenCalledWith("one\ntwo\nthree");
+});
+
+
+it('should clear messages after alert', function() {
+notify('one');
+notify('two');
+notify('third');
+notify('more');
+notify('two');
+notify('third');
+expect(mock.alert.callCount).toEqual(2);
+expect(mock.alert.mostRecentCall.args).toEqual(["more\ntwo\nthird"]);
+});
+</pre>
+
+
+
+
+## Related Topics
+
+
+* {@link dev_guide.services.understanding_services Understanding Angular Services}
+* {@link dev_guide.services.creating_services Creating Angular Services}
+* {@link dev_guide.services.registering_services Registering Angular Services}
+* {@link dev_guide.services.managing_dependencies Managing Service Dependencies}
+* {@link dev_guide.services.injecting_controllers Injecting Services Into Conrollers}
+
+
+## Related API
+
+
+* {@link api/angular.service Angular Service API}
+
+
+
+
+