Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mertdeg2 committed Dec 3, 2019
1 parent 55fb218 commit d7fa628
Showing 1 changed file with 30 additions and 5 deletions.
35 changes: 30 additions & 5 deletions src/cdk/overlay/overlay-directives.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
dispatchEvent,
} from '@angular/cdk/testing/private';
import {ESCAPE, A} from '@angular/cdk/keycodes';
import {CdkConnectedOverlay, OverlayModule, CdkOverlayOrigin} from './index';
import {Overlay, CdkConnectedOverlay, OverlayModule, CdkOverlayOrigin} from './index';
import {OverlayContainer} from './overlay-container';
import {
ConnectedOverlayPositionChange,
Expand All @@ -18,6 +18,7 @@ import {FlexibleConnectedPositionStrategy} from './position/flexible-connected-p


describe('Overlay directives', () => {
let overlay: Overlay;
let overlayContainer: OverlayContainer;
let overlayContainerElement: HTMLElement;
let fixture: ComponentFixture<ConnectedOverlayDirectiveTest>;
Expand All @@ -31,10 +32,11 @@ describe('Overlay directives', () => {
});
});

beforeEach(() => {
fixture = TestBed.createComponent(ConnectedOverlayDirectiveTest);
fixture.detectChanges();
});
beforeEach(inject([OverlayContainer, Overlay], (oc: OverlayContainer, o: Overlay) => {
overlayContainer = oc;
overlay = o;
overlayContainerElement = oc.getContainerElement();
}));

beforeEach(inject([OverlayContainer], (oc: OverlayContainer) => {
overlayContainer = oc;
Expand Down Expand Up @@ -62,6 +64,27 @@ describe('Overlay directives', () => {
expect(overlayContainerElement.textContent).toBe('');
});

it('can change positionStrategy via input', () => {
const expectedPositionStrategy =
overlay.position()
.flexibleConnectedTo(document.body)
.withFlexibleDimensions(true)
.withPositions([

{originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'top'},
]);
fixture.componentInstance.isOpen = true;
fixture.componentInstance.positionStrategy = expectedPositionStrategy;
fixture.detectChanges();

const testComponent: ConnectedOverlayDirectiveTest = fixture.debugElement.componentInstance;
const overlayDirective = testComponent.connectedOverlayDirective;
const actualPositionStrategy = overlayDirective.overlayRef.getConfig().positionStrategy as
FlexibleConnectedPositionStrategy;

expect(expectedPositionStrategy).toBe(actualPositionStrategy);
});

it('should destroy the overlay when the directive is destroyed', () => {
fixture.componentInstance.isOpen = true;
fixture.detectChanges();
Expand Down Expand Up @@ -552,6 +575,7 @@ describe('Overlay directives', () => {
[cdkConnectedOverlayOpen]="isOpen"
[cdkConnectedOverlayWidth]="width"
[cdkConnectedOverlayHeight]="height"
[cdkConnectedOverlayPositionStrategy]="positionStrategy"
[cdkConnectedOverlayOrigin]="triggerOverride || trigger"
[cdkConnectedOverlayHasBackdrop]="hasBackdrop"
[cdkConnectedOverlayViewportMargin]="viewportMargin"
Expand Down Expand Up @@ -582,6 +606,7 @@ class ConnectedOverlayDirectiveTest {
width: number | string;
height: number | string;
minWidth: number | string;
positionStrategy: FlexibleConnectedPositionStrategy;
minHeight: number | string;
offsetX: number;
offsetY: number;
Expand Down

0 comments on commit d7fa628

Please sign in to comment.