Skip to content

Commit

Permalink
logout redirects to root route if no redirect prop is passed
Browse files Browse the repository at this point in the history
  • Loading branch information
caiokf committed Nov 18, 2019
1 parent 9af79d1 commit dd0652a
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
13 changes: 13 additions & 0 deletions spec/route.logout.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ describe('Logout Route', () => {
beforeEach(() => {
auth0MockResult = {
logout: jest.fn(),
options: {
rootRoute: '/',
},
}

window.ReactRouterAuth0Provider = auth0MockResult
Expand All @@ -30,4 +33,14 @@ describe('Logout Route', () => {
expect(redirect).toHaveLength(1)
expect(redirect.prop('to').pathname).toEqual('/logged-out')
})

it('redirects to root route when redirect prop not present', () => {
window.ReactRouterAuth0Provider.options.rootRoute = '/default'

const wrapper = shallow(<LogoutRoute />)
const redirect = wrapper.find(Redirect)

expect(redirect).toHaveLength(1)
expect(redirect.prop('to').pathname).toEqual('/default')
})
})
6 changes: 5 additions & 1 deletion src/route.logout.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ import { Route, Redirect } from 'react-router-dom'
export default class LogoutRoute extends Route {
render() {
window.ReactRouterAuth0Provider.logout()
return <Redirect to={{ pathname: this.props.redirect }} />

const redirect = this.props.redirect ||
window.ReactRouterAuth0Provider.options.rootRoute

return <Redirect to={{ pathname: redirect }} />
}
}

0 comments on commit dd0652a

Please sign in to comment.