Skip to content

Commit

Permalink
PR Feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
BPScott committed May 7, 2019
1 parent d0249e4 commit 309c051
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 28 deletions.
50 changes: 32 additions & 18 deletions src/components/Frame/components/Toast/tests/Toast.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -111,26 +111,40 @@ describe('<Toast />', () => {
expect(spy).toHaveBeenCalled();
});

it('is called when the escape key is pressed', () => {
describe('events', () => {
const listenerMap: HandlerMap = {};
jest
.spyOn(document, 'addEventListener')
.mockImplementation((event, cb) => {
listenerMap[event] = cb;
});

const spy = jest.fn();
mountWithAppProvider(<Toast content="Image uploaded" onDismiss={spy} />);

listenerMap.keyup({keyCode: Key.Escape});

jest
.spyOn(document, 'removeEventListener')
.mockImplementation((event) => {
listenerMap[event] = noop;
});

expect(spy).toHaveBeenCalled();
beforeEach(() => {
jest
.spyOn(document, 'addEventListener')
.mockImplementation((evt, cb) => {
listenerMap[evt] = cb;
});

jest
.spyOn(document, 'removeEventListener')
.mockImplementation((event) => {
listenerMap[event] = noop;
});
});

afterEach(() => {
(document.addEventListener as jest.Mock).mockRestore();
(document.removeEventListener as jest.Mock).mockRestore();

Object.keys(listenerMap).forEach((key) => delete listenerMap[key]);
});

it('is called when the escape key is pressed', () => {
const spy = jest.fn();
mountWithAppProvider(
<Toast content="Image uploaded" onDismiss={spy} />,
);

listenerMap.keyup({keyCode: Key.Escape});

expect(spy).toHaveBeenCalled();
});
});

it('is called after the duration is reached', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ interface HandlerMap {
[eventName: string]: (event: any) => void;
}

const originalAddEventListener = document.addEventListener;
const originalRemoveEventListener = document.removeEventListener;
const listenerMap: HandlerMap = {};

describe('<KeypressListener />', () => {
Expand All @@ -24,8 +22,8 @@ describe('<KeypressListener />', () => {
});

afterEach(() => {
document.addEventListener = originalAddEventListener;
document.removeEventListener = originalRemoveEventListener;
(document.addEventListener as jest.Mock).mockRestore();
(document.removeEventListener as jest.Mock).mockRestore();
});

it('attaches a listener for the given key on mount', () => {
Expand Down
4 changes: 1 addition & 3 deletions src/components/Tabs/tests/Tabs.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -141,18 +141,16 @@ describe('<Tabs />', () => {

describe('selected', () => {
let panelStub: {focus: jest.Mock<any>};
let originalGetElementByID: (typeof document)['getElementById'];

beforeEach(() => {
originalGetElementByID = document.getElementById;
panelStub = {focus: jest.fn()};
jest
.spyOn(document, 'getElementById')
.mockImplementation(() => panelStub);
});

afterEach(() => {
document.getElementById = originalGetElementByID;
(document.getElementById as jest.Mock).mockRestore();
});

it('focuses the panel when a tab becomes selected', () => {
Expand Down
3 changes: 1 addition & 2 deletions src/components/TextField/tests/TextField.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,6 @@ describe('<TextField />', () => {
type EventCallback = (mockEventData?: {[key: string]: any}) => void;

const documentEvent: {[eventType: string]: EventCallback} = {};
const origialAddEventListener = document.addEventListener;

beforeAll(() => {
jest
Expand All @@ -704,7 +703,7 @@ describe('<TextField />', () => {
});

afterAll(() => {
document.addEventListener = origialAddEventListener;
(document.addEventListener as jest.Mock).mockRestore();
});

it('stops decrementing on mouse up anywhere in document', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class Modifier extends React.Component<ComposedProps, {}> {
return null;
}

state: any = {};
state: {} = {};

render() {
return null;
Expand Down

0 comments on commit 309c051

Please sign in to comment.