import gql from 'graphql-tag'; import { startSession } from 'test/graphql'; const email = 'user@example.com'; const username = 'ILOVEBITCOINDONTYOU'; const password = 'K$D4@i$HbkNNDmm!'; // must use a secure password afterEach(() => { jest.restoreAllMocks(); jest.useRealTimers(); }); const emailAvailable = gql` query EmailAvailable($input: EmailAvailableInput!) { emailAvailable(input: $input) { available } } `; describe('Query:emailAvailable', () => { it('return true if email is available', async () => { const { execute } = await startSession({ username, password, email }); const { data, errors } = await execute({ query: emailAvailable, variables: { input: { email: 'test@example.com', }, }, }); expect(errors).toBeFalsy(); expect(data?.emailAvailable?.available).toBe(true); }); it('return false if email is unavailable', async () => { const { execute } = await startSession({ username, password, email }); const { data, errors } = await execute({ query: emailAvailable, variables: { input: { email, }, }, }); expect(errors).toBeFalsy(); expect(data?.emailAvailable?.available).toBe(false); }); });