diff options
Diffstat (limited to 'stepped-solutions/62/frontend/__tests__/PleaseSignIn.test.js')
| -rwxr-xr-x | stepped-solutions/62/frontend/__tests__/PleaseSignIn.test.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/stepped-solutions/62/frontend/__tests__/PleaseSignIn.test.js b/stepped-solutions/62/frontend/__tests__/PleaseSignIn.test.js new file mode 100755 index 0000000..7d476b4 --- /dev/null +++ b/stepped-solutions/62/frontend/__tests__/PleaseSignIn.test.js @@ -0,0 +1,51 @@ +import { mount } from 'enzyme'; +import wait from 'waait'; +import PleaseSignIn from '../components/PleaseSignIn'; +import { CURRENT_USER_QUERY } from '../components/User'; +import { MockedProvider } from 'react-apollo/test-utils'; +import { fakeUser } from '../lib/testUtils'; + +const notSignedInMocks = [ + { + request: { query: CURRENT_USER_QUERY }, + result: { data: { me: null } }, + }, +]; + +const signedInMocks = [ + { + request: { query: CURRENT_USER_QUERY }, + result: { data: { me: fakeUser() } }, + }, +]; + +describe('<PleaseSignIn/>', () => { + it('renders the sign in dialog to logged out users', async () => { + const wrapper = mount( + <MockedProvider mocks={notSignedInMocks}> + <PleaseSignIn /> + </MockedProvider> + ); + await wait(); + wrapper.update(); + expect(wrapper.text()).toContain('Please Sign In before Continuing'); + const SignIn = wrapper.find('Signin'); + expect(SignIn.exists()).toBe(true); + }); + + it('renders the child component when the user is signed in', async () => { + const Hey = () => <p>Hey!</p>; + const wrapper = mount( + <MockedProvider mocks={signedInMocks}> + <PleaseSignIn> + <Hey /> + </PleaseSignIn> + </MockedProvider> + ); + + await wait(); + wrapper.update(); + // expect(wrapper.find('Hey').exists()).toBe(true); + expect(wrapper.contains(<Hey />)).toBe(true); + }); +}); |
