Commit 3b578dbc authored by Tamlyn Rhodes's avatar Tamlyn Rhodes
Browse files

Wrap Authorize children to avoid errors when there is more than a single element

parent 90e84de6
Pipeline #2917 passed with stage
in 1 minute and 38 seconds
...@@ -41,7 +41,7 @@ export class Authorize extends React.Component { ...@@ -41,7 +41,7 @@ export class Authorize extends React.Component {
render() { render() {
return this.state.authorized return this.state.authorized
? this.props.children ? <div>{this.props.children}</div>
: this.props.unauthorized || null : this.props.unauthorized || null
} }
} }
......
...@@ -8,7 +8,8 @@ global.PUBSWEET_COMPONENTS = [] ...@@ -8,7 +8,8 @@ global.PUBSWEET_COMPONENTS = []
function makeWrapper(props = {}) { function makeWrapper(props = {}) {
return shallow( return shallow(
<Authorize currentUser={{ id: 'user1' }} {...props}> <Authorize currentUser={{ id: 'user1' }} {...props}>
<div /> <span className="secret" />
<span className="sibling" />
</Authorize>, </Authorize>,
) )
} }
...@@ -44,11 +45,12 @@ describe('<Authorize/>', () => { ...@@ -44,11 +45,12 @@ describe('<Authorize/>', () => {
}) })
it('optionally shows alternative content when not authorized', async () => { it('optionally shows alternative content when not authorized', async () => {
const wrapper = makeWrapper({ authsome, unauthorized: <span /> }) const wrapper = makeWrapper({ authsome, unauthorized: <span className="message" /> })
resolveMode(false) resolveMode(false)
await modePromise await modePromise
expect(wrapper.type()).toBe('span') expect(wrapper.find('.secret')).toHaveLength(0)
expect(wrapper.find('.message')).toHaveLength(1)
}) })
it('is empty when authsome throws', async () => { it('is empty when authsome throws', async () => {
...@@ -72,7 +74,7 @@ describe('<Authorize/>', () => { ...@@ -72,7 +74,7 @@ describe('<Authorize/>', () => {
resolveMode(true) resolveMode(true)
await modePromise await modePromise
expect(wrapper.type()).toBe('div') expect(wrapper.find('.secret')).toHaveLength(1)
}) })
it('rechecks auth when props change', () => { it('rechecks auth when props change', () => {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment