Skip to content

Commit

Permalink
feat(WebexMeetingControls): implement HOC
Browse files Browse the repository at this point in the history
  • Loading branch information
lalli-flores committed Dec 4, 2019
1 parent 4745a84 commit 5c89588
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 0 deletions.
20 changes: 20 additions & 0 deletions src/components/WebexMeetingControl/WebexMeetingControls.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import React from 'react';
import PropTypes from 'prop-types';

export const MeetingContext = React.createContext();

/**
* WebexMeetingControls is a higher-order component that pass a meeting
* context to several WebexMeetingControl components.
*
* @param {object} props
* @returns {object} JSX of the component
*/
export default function WebexMeetingControls({meetingID, children}) {
return <MeetingContext.Provider value={meetingID}>{children}</MeetingContext.Provider>;
}

WebexMeetingControls.propTypes = {
meetingID: PropTypes.string.isRequired,
children: PropTypes.node.isRequired,
};
16 changes: 16 additions & 0 deletions src/components/WebexMeetingControl/WebexMeetingControls.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import React from 'react';

import WebexMeetingControls from './WebexMeetingControls';

describe('Webex Meeting Controls component', () => {
test('matches snapshot', () => {
const meetingID = 'my-meeting';
const component = shallow(
<WebexMeetingControls meetingID={meetingID}>
<div className="test" />
</WebexMeetingControls>
);

expect(component).toMatchSnapshot();
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`Webex Meeting Controls component matches snapshot 1`] = `
<ContextProvider
value="my-meeting"
>
<div
className="test"
/>
</ContextProvider>
`;
1 change: 1 addition & 0 deletions src/components/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ export {default as WebexActivity} from './WebexActivity/WebexActivity';
export {default as WebexActivityStream} from './WebexActivityStream/WebexActivityStream';
export {default as WebexDataProvider, AdapterContext} from './WebexDataProvider/WebexDataProvider';
export {default as WebexLocalMedia} from './WebexLocalMedia/WebexLocalMedia';
export {default as WebexMeetingControls, MeetingContext} from './WebexMeetingControl/WebexMeetingControls';
export {default as WebexMeetingInfo} from './WebexMeetingInfo/WebexMeetingInfo';

0 comments on commit 5c89588

Please sign in to comment.