1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /* global google, jasmine */
- describe('NavigatorGeolocation', function () {
- var scope, navGeo;
- //don't do this, it will interfere others, i.e navigator.userAgent
- //navigator = jasmine.createSpy('navigator');
- navigator.geolocation = jasmine.createSpy('geolocation');
- beforeEach(module('ngMap'));
- beforeEach(inject(function ($rootScope, NavigatorGeolocation) {
- scope = $rootScope, navGeo = NavigatorGeolocation;
- }));
-
- describe('getCurrentPosition function', function () {
-
- beforeEach(function() {
- var GoodResponse = function (successCallback, errorCallback) { successCallback('GOOD'); };
- navigator.geolocation.getCurrentPosition = jasmine.createSpy().andCallFake(GoodResponse);
- });
- it('Should return a promise', function () {
- var promise = navGeo.getCurrentPosition();
- expect(typeof promise.then).toBe('function');
- });
-
- it('Should call getCurrentPosition to retrieve good results', function () {
- var jasmineSuccess = jasmine.createSpy('success');
- var jasmineError = jasmine.createSpy('error');
- navGeo.getCurrentPosition().then(jasmineSuccess, jasmineError);
- scope.$apply();
- expect(jasmineSuccess).toHaveBeenCalled();
- expect(jasmineError).not.toHaveBeenCalled();
- expect(jasmineSuccess).toHaveBeenCalledWith('GOOD');
- });
-
- });
-
- describe('getCurrentPosition function', function () {
-
- beforeEach(function() {
- var BadResponse = function (successCallback, errorCallback) { errorCallback('BAD'); };
- navigator.geolocation.getCurrentPosition = jasmine.createSpy().andCallFake(BadResponse);
- });
- it('Should call getCurrentPosition to retrieve bad results', function () {
- var jasmineSuccess = jasmine.createSpy('success');
- var jasmineError = jasmine.createSpy('error');
- navGeo.getCurrentPosition().then(jasmineSuccess, jasmineError);
- scope.$apply();
- expect(jasmineSuccess).not.toHaveBeenCalled();
- expect(jasmineError).toHaveBeenCalled();
- expect(jasmineSuccess).not.toHaveBeenCalled();
- });
-
- });
- });
|