From ee13bce5018dc4e33c6197e3265d4d6e190bf7d6 Mon Sep 17 00:00:00 2001 From: Fawad Ali Date: Tue, 30 Mar 2021 00:10:15 +0500 Subject: [PATCH] build(app): add tests for share link dialog --- .../share-link-dialog.component.html | 1 + .../share-link-dialog.component.spec.ts | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/src/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.html b/packages/phoenix-ng/projects/phoenix-ui-components/src/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.html index 243699b4a..90d717503 100644 --- a/packages/phoenix-ng/projects/phoenix-ui-components/src/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.html +++ b/packages/phoenix-ng/projects/phoenix-ui-components/src/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.html @@ -20,6 +20,7 @@
URL options
id="eventDataType" (input)="setOptionValue('type', $event.target.value)" > + diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/src/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.spec.ts b/packages/phoenix-ng/projects/phoenix-ui-components/src/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.spec.ts index e9e126a6d..750bdf545 100644 --- a/packages/phoenix-ng/projects/phoenix-ui-components/src/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.spec.ts +++ b/packages/phoenix-ng/projects/phoenix-ui-components/src/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.spec.ts @@ -32,5 +32,28 @@ describe('ShareLinkDialogComponent', () => { it('should create', () => { expect(component).toBeTruthy(); + expect(component.baseLink).toBeDefined(); + expect(component.shareLink).toBeDefined(); + expect(component.embedLink).toBeDefined(); + }); + + it('set options value and update share link', () => { + spyOn(component, 'onOptionsChange').and.callThrough(); + component.setOptionValue('test_option', 'test_option_value'); + expect(component.onOptionsChange).toHaveBeenCalled(); + expect(component.shareLink).toContain('test_option=test_option_value'); + // Else case + component.setOptionValue('type', undefined); + }); + + it('should update copy status', () => { + spyOn(document, 'execCommand').and.callThrough(); + + const element = document.createElement('div'); + element.innerText = 'COPY'; + component.copyText('textToCopy', element); + + expect(element.innerText).toBe('COPIED'); + expect(document.execCommand).toHaveBeenCalledWith('copy'); }); });