diff --git a/Composer/packages/client/__tests__/components/DialogWrapper/index.test.tsx b/Composer/packages/client/__tests__/components/DialogWrapper/index.test.tsx
new file mode 100644
index 0000000000..5c2f3a13bb
--- /dev/null
+++ b/Composer/packages/client/__tests__/components/DialogWrapper/index.test.tsx
@@ -0,0 +1,20 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+import React from 'react';
+import { render } from 'react-testing-library';
+import { DialogWrapper } from '@app/components/DialogWrapper';
+
+describe('', () => {
+ const props = {
+ isOpen: true,
+ title: 'My Dialog',
+ subText: 'Create new dialog',
+ onDismiss: jest.fn(),
+ };
+
+ it('renders null when not open', () => {
+ const { container } = render();
+ expect(container.hasChildNodes()).toBeFalsy();
+ });
+});
diff --git a/Composer/packages/client/jest.config.js b/Composer/packages/client/jest.config.js
index e89860abc6..7b7eb814eb 100644
--- a/Composer/packages/client/jest.config.js
+++ b/Composer/packages/client/jest.config.js
@@ -14,6 +14,8 @@ module.exports = {
// use commonjs modules for test so they do not need to be compiled
'office-ui-fabric-react/lib/(.*)$': 'office-ui-fabric-react/lib-commonjs/$1',
'@uifabric/fluent-theme/lib/(.*)$': '@uifabric/fluent-theme/lib-commonjs/$1',
+
+ '^@app/(.*)$': '/src/$1',
},
testPathIgnorePatterns: ['/node_modules/', '/jestMocks/', '/testUtils/'],
// Some node modules are packaged and distributed in a non-transpiled form
diff --git a/Composer/packages/client/src/components/DialogWrapper/index.js b/Composer/packages/client/src/components/DialogWrapper/index.tsx
similarity index 60%
rename from Composer/packages/client/src/components/DialogWrapper/index.js
rename to Composer/packages/client/src/components/DialogWrapper/index.tsx
index ea6839d508..d0ba28e344 100644
--- a/Composer/packages/client/src/components/DialogWrapper/index.js
+++ b/Composer/packages/client/src/components/DialogWrapper/index.tsx
@@ -2,15 +2,26 @@
// Licensed under the MIT License.
import React from 'react';
-import { Dialog, DialogType } from 'office-ui-fabric-react/lib/Dialog';
+import { Dialog, DialogType, IDialogProps } from 'office-ui-fabric-react/lib/Dialog';
import { styles } from './styles';
-export function DialogWrapper(props) {
+interface DialogWrapperProps extends Pick {
+ isOpen: boolean;
+ title: string;
+ subText: string;
+}
+
+export const DialogWrapper: React.FC = props => {
const { isOpen, onDismiss, title, subText, children } = props;
+
+ if (!isOpen) {
+ return null;
+ }
+
return (