1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /* global ngMap, google */
- describe('MapController', function() {
- var scope, ctrl;
- var el = document.body;
- beforeEach( function() {
- inject( function($controller, $rootScope){
- scope = $rootScope;
- ctrl = $controller(ngMap.MapController, {$scope: scope, 'NavigatorGeolocation': {}, 'GeoCoder': {} });
- });
- });
- describe('addMarker', function() {
- it('should add a marker to the existing map', function() {
- ctrl.map = new google.maps.Map(el, {}); //each method require ctrl.map;
- ctrl.map.markers = {};
- var marker = new google.maps.Marker({
- position: new google.maps.LatLng(1,1),
- centered: true
- });
- ctrl.addMarker(marker);
- // set map for this marker
- expect(marker.getMap()).toBe(ctrl.map);
- // set center of the map with this marker
- expect(marker.getPosition()).toBe(ctrl.map.getCenter());
- // ctrl.map.markers
- expect(Object.keys(ctrl.map.markers).length).toEqual(1);
- });
-
- it('should add a marker to ctrl._objects when ctrl.map is not init', function() {
- ctrl._objects = [];
- var marker = new google.maps.Marker({position: new google.maps.LatLng(1,1)});
- ctrl.addMarker(marker);
- expect(ctrl._objects[0]).toBe(marker);
- });
- });
- describe('addShape', function() {
- it('should add a shape to ctrl._objects when ctrl.map is not init', function() {
- ctrl._objects = [];
- var circle = new google.maps.Circle({center: new google.maps.LatLng(1,1)});
- ctrl.addShape(circle);
- expect(ctrl._objects[0]).toBe(circle);
- });
-
- it('should add a shape to the existing map', function() {
- ctrl.map = new google.maps.Map(el, {}); //each method require ctrl.map;
- ctrl.map.shapes = {};
- var circle = new google.maps.Circle({center: new google.maps.LatLng(1,1)});
- ctrl.addShape(circle);
- expect(ctrl.map.shapes[0]).toBe(circle);
- expect(ctrl.map.shapes[0].getMap()).toBe(ctrl.map);
- });
- });
- describe('addObjects', function() {
- it('should add objects; markers and shapes when map is init', function() {
- var marker = new google.maps.Marker({position: new google.maps.LatLng(1,1)});
- var circle = new google.maps.Circle({center: new google.maps.LatLng(1,1)});
- var objects = [marker, circle];
- ctrl.map = new google.maps.Map(el, {}); //each method require ctrl.map;
- ctrl.addObjects(objects);
- expect(marker.getMap()).toBe(ctrl.map);
- expect(circle.getMap()).toBe(ctrl.map);
- });
- });
- });
|