Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 14 additions & 19 deletions src/google-maps/map-advanced-marker/map-advanced-marker.spec.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {Component, ViewChild} from '@angular/core';
import {TestBed, fakeAsync, flush} from '@angular/core/testing';
import {TestBed} from '@angular/core/testing';

import {DEFAULT_OPTIONS, GoogleMap} from '../google-map/google-map';
import {
Expand All @@ -22,13 +22,13 @@ describe('MapAdvancedMarker', () => {
(window.google as any) = undefined;
});

it('initializes a Google Map advanced marker', fakeAsync(() => {
it('initializes a Google Map advanced marker', () => {
const advancedMarkerSpy = createAdvancedMarkerSpy(DEFAULT_MARKER_OPTIONS);
const advancedMarkerConstructorSpy = createAdvancedMarkerConstructorSpy(advancedMarkerSpy);

const fixture = TestBed.createComponent(TestApp);
fixture.detectChanges();
flush();

expect(advancedMarkerConstructorSpy).toHaveBeenCalledWith({
...DEFAULT_MARKER_OPTIONS,
title: undefined,
Expand All @@ -37,9 +37,9 @@ describe('MapAdvancedMarker', () => {
zIndex: undefined,
map: mapSpy,
});
}));
});

it('sets advanced marker inputs', fakeAsync(() => {
it('sets advanced marker inputs', () => {
const options: google.maps.marker.AdvancedMarkerElementOptions = {
position: {lat: 3, lng: 5},
title: 'marker title',
Expand All @@ -59,12 +59,11 @@ describe('MapAdvancedMarker', () => {
fixture.componentInstance.zIndex = options.zIndex!;

fixture.detectChanges();
flush();

expect(advancedMarkerConstructorSpy).toHaveBeenCalledWith(options);
}));
});

it('sets marker options, ignoring map', fakeAsync(() => {
it('sets marker options, ignoring map', () => {
const options: google.maps.marker.AdvancedMarkerElementOptions = {
position: {lat: 3, lng: 5},
title: 'marker title',
Expand All @@ -78,12 +77,11 @@ describe('MapAdvancedMarker', () => {
const fixture = TestBed.createComponent(TestApp);
fixture.componentInstance.options = options;
fixture.detectChanges();
flush();

expect(advancedMarkerConstructorSpy).toHaveBeenCalledWith({...options, map: mapSpy});
}));
});

it('gives precedence to specific inputs over options', fakeAsync(() => {
it('gives precedence to specific inputs over options', () => {
const options: google.maps.marker.AdvancedMarkerElementOptions = {
position: {lat: 3, lng: 5},
title: 'marker title',
Expand Down Expand Up @@ -112,20 +110,18 @@ describe('MapAdvancedMarker', () => {
fixture.componentInstance.options = options!;

fixture.detectChanges();
flush();

expect(advancedMarkerConstructorSpy).toHaveBeenCalledWith(expectedOptions);
}));
});

it('initializes marker event handlers', fakeAsync(() => {
it('initializes marker event handlers', () => {
const advancedMarkerSpy = createAdvancedMarkerSpy(DEFAULT_MARKER_OPTIONS);
createAdvancedMarkerConstructorSpy(advancedMarkerSpy);

const customSpy = advancedMarkerSpy.addListener;
const nativeSpy = advancedMarkerSpy.addEventListener;
const fixture = TestBed.createComponent(TestApp);
fixture.detectChanges();
flush();

expect(customSpy).toHaveBeenCalledWith('click', jasmine.any(Function));
expect(nativeSpy).toHaveBeenCalledWith('dblclick', jasmine.any(Function));
Expand All @@ -136,16 +132,15 @@ describe('MapAdvancedMarker', () => {
expect(customSpy).not.toHaveBeenCalledWith('drag', jasmine.any(Function));
expect(customSpy).not.toHaveBeenCalledWith('dragend', jasmine.any(Function));
expect(customSpy).not.toHaveBeenCalledWith('dragstart', jasmine.any(Function));
}));
});

it('should be able to add an event listener after init', fakeAsync(() => {
it('should be able to add an event listener after init', () => {
const advancedMarkerSpy = createAdvancedMarkerSpy(DEFAULT_MARKER_OPTIONS);
createAdvancedMarkerConstructorSpy(advancedMarkerSpy);

const addSpy = advancedMarkerSpy.addListener;
const fixture = TestBed.createComponent(TestApp);
fixture.detectChanges();
flush();

expect(addSpy).not.toHaveBeenCalledWith('drag', jasmine.any(Function));

Expand All @@ -155,7 +150,7 @@ describe('MapAdvancedMarker', () => {

expect(addSpy).toHaveBeenCalledWith('drag', jasmine.any(Function));
subscription.unsubscribe();
}));
});
});

@Component({
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {Component} from '@angular/core';
import {TestBed, fakeAsync, flush} from '@angular/core/testing';
import {TestBed} from '@angular/core/testing';

import {DEFAULT_OPTIONS, GoogleMap} from '../google-map/google-map';
import {
Expand All @@ -23,16 +23,15 @@ describe('MapBicyclingLayer', () => {
(window.google as any) = undefined;
});

it('initializes a Google Map Bicycling Layer', fakeAsync(() => {
it('initializes a Google Map Bicycling Layer', () => {
const bicyclingLayerSpy = createBicyclingLayerSpy();
const bicyclingLayerConstructorSpy = createBicyclingLayerConstructorSpy(bicyclingLayerSpy);
const fixture = TestBed.createComponent(TestApp);
fixture.detectChanges();
flush();

expect(bicyclingLayerConstructorSpy).toHaveBeenCalled();
expect(bicyclingLayerSpy.setMap).toHaveBeenCalledWith(mapSpy);
}));
});
});

@Component({
Expand Down
32 changes: 13 additions & 19 deletions src/google-maps/map-circle/map-circle.spec.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {Component, ViewChild} from '@angular/core';
import {TestBed, fakeAsync, flush} from '@angular/core/testing';
import {TestBed} from '@angular/core/testing';
import {By} from '@angular/platform-browser';

import {DEFAULT_OPTIONS, GoogleMap} from '../google-map/google-map';
Expand Down Expand Up @@ -38,19 +38,18 @@ describe('MapCircle', () => {
(window.google as any) = undefined;
});

it('initializes a Google Map Circle', fakeAsync(() => {
it('initializes a Google Map Circle', () => {
const circleSpy = createCircleSpy({});
const circleConstructorSpy = createCircleConstructorSpy(circleSpy);

const fixture = TestBed.createComponent(TestApp);
fixture.detectChanges();
flush();

expect(circleConstructorSpy).toHaveBeenCalledWith({center: undefined, radius: undefined});
expect(circleSpy.setMap).toHaveBeenCalledWith(mapSpy);
}));
});

it('sets center and radius from input', fakeAsync(() => {
it('sets center and radius from input', () => {
const center: google.maps.LatLngLiteral = {lat: 3, lng: 5};
const radius = 15;
const options: google.maps.CircleOptions = {center, radius};
Expand All @@ -61,12 +60,11 @@ describe('MapCircle', () => {
fixture.componentInstance.center = center;
fixture.componentInstance.radius = radius;
fixture.detectChanges();
flush();

expect(circleConstructorSpy).toHaveBeenCalledWith(options);
}));
});

it('gives precedence to other inputs over options', fakeAsync(() => {
it('gives precedence to other inputs over options', () => {
const center: google.maps.LatLngLiteral = {lat: 3, lng: 5};
const radius = 15;
const expectedOptions: google.maps.CircleOptions = {...circleOptions, center, radius};
Expand All @@ -78,12 +76,11 @@ describe('MapCircle', () => {
fixture.componentInstance.center = center;
fixture.componentInstance.radius = radius;
fixture.detectChanges();
flush();

expect(circleConstructorSpy).toHaveBeenCalledWith(expectedOptions);
}));
});

it('exposes methods that provide information about the Circle', fakeAsync(() => {
it('exposes methods that provide information about the Circle', () => {
const circleSpy = createCircleSpy(circleOptions);
createCircleConstructorSpy(circleSpy);

Expand All @@ -92,7 +89,6 @@ describe('MapCircle', () => {
.query(By.directive(MapCircle))!
.injector.get<MapCircle>(MapCircle);
fixture.detectChanges();
flush();

circleComponent.getCenter();
expect(circleSpy.getCenter).toHaveBeenCalled();
Expand All @@ -108,16 +104,15 @@ describe('MapCircle', () => {

circleSpy.getVisible.and.returnValue(true);
expect(circleComponent.getVisible()).toBe(true);
}));
});

it('initializes Circle event handlers', fakeAsync(() => {
it('initializes Circle event handlers', () => {
const circleSpy = createCircleSpy(circleOptions);
createCircleConstructorSpy(circleSpy);

const addSpy = circleSpy.addListener;
const fixture = TestBed.createComponent(TestApp);
fixture.detectChanges();
flush();

expect(addSpy).toHaveBeenCalledWith('center_changed', jasmine.any(Function));
expect(addSpy).toHaveBeenCalledWith('click', jasmine.any(Function));
Expand All @@ -132,16 +127,15 @@ describe('MapCircle', () => {
expect(addSpy).not.toHaveBeenCalledWith('mouseup', jasmine.any(Function));
expect(addSpy).not.toHaveBeenCalledWith('radius_changed', jasmine.any(Function));
expect(addSpy).toHaveBeenCalledWith('rightclick', jasmine.any(Function));
}));
});

it('should be able to add an event listener after init', fakeAsync(() => {
it('should be able to add an event listener after init', () => {
const circleSpy = createCircleSpy(circleOptions);
createCircleConstructorSpy(circleSpy);

const addSpy = circleSpy.addListener;
const fixture = TestBed.createComponent(TestApp);
fixture.detectChanges();
flush();

expect(addSpy).not.toHaveBeenCalledWith('dragend', jasmine.any(Function));

Expand All @@ -151,7 +145,7 @@ describe('MapCircle', () => {

expect(addSpy).toHaveBeenCalledWith('dragend', jasmine.any(Function));
subscription.unsubscribe();
}));
});
});

@Component({
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {Component, ViewChild} from '@angular/core';
import {TestBed, fakeAsync, flush} from '@angular/core/testing';
import {TestBed} from '@angular/core/testing';
import {By} from '@angular/platform-browser';
import {MapDirectionsRenderer} from './map-directions-renderer';
import {DEFAULT_OPTIONS, GoogleMap} from '../google-map/google-map';
Expand Down Expand Up @@ -28,41 +28,39 @@ describe('MapDirectionsRenderer', () => {
(window.google as any) = undefined;
});

it('initializes a Google Maps DirectionsRenderer', fakeAsync(() => {
it('initializes a Google Maps DirectionsRenderer', () => {
const directionsRendererSpy = createDirectionsRendererSpy({directions: DEFAULT_DIRECTIONS});
const directionsRendererConstructorSpy =
createDirectionsRendererConstructorSpy(directionsRendererSpy);

const fixture = TestBed.createComponent(TestApp);
fixture.componentInstance.options = {directions: DEFAULT_DIRECTIONS};
fixture.detectChanges();
flush();

expect(directionsRendererConstructorSpy).toHaveBeenCalledWith({
directions: DEFAULT_DIRECTIONS,
map: jasmine.any(Object),
});
expect(directionsRendererSpy.setMap).toHaveBeenCalledWith(mapSpy);
}));
});

it('sets directions from directions input', fakeAsync(() => {
it('sets directions from directions input', () => {
const directionsRendererSpy = createDirectionsRendererSpy({directions: DEFAULT_DIRECTIONS});
const directionsRendererConstructorSpy =
createDirectionsRendererConstructorSpy(directionsRendererSpy);

const fixture = TestBed.createComponent(TestApp);
fixture.componentInstance.directions = DEFAULT_DIRECTIONS;
fixture.detectChanges();
flush();

expect(directionsRendererConstructorSpy).toHaveBeenCalledWith({
directions: DEFAULT_DIRECTIONS,
map: jasmine.any(Object),
});
expect(directionsRendererSpy.setMap).toHaveBeenCalledWith(mapSpy);
}));
});

it('gives precedence to directions over options', fakeAsync(() => {
it('gives precedence to directions over options', () => {
const updatedDirections: google.maps.DirectionsResult = {
geocoded_waypoints: [{partial_match: false, place_id: 'test', types: []}],
request: {
Expand All @@ -80,16 +78,15 @@ describe('MapDirectionsRenderer', () => {
fixture.componentInstance.options = {directions: DEFAULT_DIRECTIONS};
fixture.componentInstance.directions = updatedDirections;
fixture.detectChanges();
flush();

expect(directionsRendererConstructorSpy).toHaveBeenCalledWith({
directions: updatedDirections,
map: jasmine.any(Object),
});
expect(directionsRendererSpy.setMap).toHaveBeenCalledWith(mapSpy);
}));
});

it('exposes methods that provide information from the DirectionsRenderer', fakeAsync(() => {
it('exposes methods that provide information from the DirectionsRenderer', () => {
const directionsRendererSpy = createDirectionsRendererSpy({});
createDirectionsRendererConstructorSpy(directionsRendererSpy);

Expand All @@ -99,7 +96,6 @@ describe('MapDirectionsRenderer', () => {
.query(By.directive(MapDirectionsRenderer))!
.injector.get<MapDirectionsRenderer>(MapDirectionsRenderer);
fixture.detectChanges();
flush();

directionsRendererSpy.getDirections.and.returnValue(DEFAULT_DIRECTIONS);
expect(directionsRendererComponent.getDirections()).toBe(DEFAULT_DIRECTIONS);
Expand All @@ -109,21 +105,20 @@ describe('MapDirectionsRenderer', () => {

directionsRendererSpy.getRouteIndex.and.returnValue(10);
expect(directionsRendererComponent.getRouteIndex()).toBe(10);
}));
});

it('initializes DirectionsRenderer event handlers', fakeAsync(() => {
it('initializes DirectionsRenderer event handlers', () => {
const directionsRendererSpy = createDirectionsRendererSpy({});
createDirectionsRendererConstructorSpy(directionsRendererSpy);

const fixture = TestBed.createComponent(TestApp);
fixture.detectChanges();
flush();

expect(directionsRendererSpy.addListener).toHaveBeenCalledWith(
'directions_changed',
jasmine.any(Function),
);
}));
});
});

@Component({
Expand Down
Loading
Loading